My favorites | Sign in
Project Home Issues Source
New issue   Search
  Advanced search   Search tips   Subscriptions
Issue 1289: Database / Table structure and data synchonisation...
39 people starred this issue and may be notified of changes. Back to list
Status:  Accepted
Owner:  ----

Sign in to add a comment
Reported by, Aug 11, 2009
Its the only thing I miss from the ever-so-pricey NaviCat...
Aug 11, 2009
Project Member #1
Did you notice HeidiSQL has a nice "Export SQL" dialog?
Status: NeedInfo
Aug 11, 2009
Yeah it's nice but not ideal in all syncing situations.  New features to include:
1) Preview before transfer with option to untick certain rows from syncing
2) Option to ignore certain columns (like the primary key)
3) Maybe 2-way syncing

Also there is structural synchronisation including indices and keys which is a
separate feature really.  
Aug 26, 2009
(No comment was entered for this change.)
Status: Accepted
Dec 24, 2009
Project Member #4
 Issue 530  has been merged into this issue.
Jan 16, 2010
I too really miss a diff function. Pretty much all the databases i maintain have a
development and live version and it would be great if heidi would have a seperate
dialogue which lets me compare the two on either database or table level thereby
indicating the differences in table structure.
And of course an option in that dialogue to change the table structure so you can see
the progress (the differences disappear)

Differences in data (with the option to disregard the primary key) would also be
nice, but i don't want to ask for too much :) anyways, for me a diff between the
structural differences is what i miss most.

Feb 7, 2010
Can i had my voice to this request? :)

Feb 15, 2010
Project Member #7
 Issue 1695  has been merged into this issue.
Sep 3, 2010
Project Member #8
 Issue 2146  has been merged into this issue.
Sep 30, 2010
I have to agree with marty.korse in regards to table and data synchronization. If you had this feature, you could potentially get a lot more users over to HeidiSQL.

Maybe for version 6? ;)

Thank you for all the hard work you have done!
May 15, 2011
Project Member #10
Just played a bit with ideas for a very simple synchronization dialog. See attached image.
14.4 KB   View   Download
May 15, 2011
Project Member #11
Concrete ideas:
- "Select source" is a tree with checkboxes on databases and tables, similar to the left tree on the main form. If exactly one table is selected, the target table drop down will be enabled. If more source tables are selected, Heidi assumes the target db contains tables with the same name.
- "Server" contains all stored sessions. Selecting a session will open up the session and fetch a list of database names (respectively table names)
- "Differences" is a list with checkboxes, populated when you click "Analyze".
- "Structure" will lead to "ALTER TABLE ..." differences, containing dropped and added columns and keys
- "Data" will lead to "X new rows, Y deleted rows" differences, depending on a primary key
- "Apply" will apply selected differences, but can not be clicked before you ran "Analyze"
May 15, 2011
I am a newbie to db. I am working a Joomla website on localhost and need to keep synchronizing database (MySQL) on my system with db on godaddy server. That's all I need right now. The syncdb from ansgar.becker would probably do the job. 
Is this part of heidisql?
How exactly do I get this?

May 15, 2011
You can use the current feature "Export db". This would just expand it's to two-way sync. 
May 16, 2011
What is the timeline for the feature laid out in comment 11?
May 16, 2011
Project Member #15
The screen is very young and I need a bit feedback, but I think I'm going to work an that in the following weeks.
May 23, 2011
Is there a way to set this process as an automatic load?
May 23, 2011
Project Member #17
Which process? This is not even implemented yet.
May 29, 2011
Project Member #18
I thought about implementing a 2-way sync in this new dialog. But that tends to get even a lot more complicated than a 1-way sync. So I'll implement this dialog using the above mentioned ideas for the 1-way sync.
May 30, 2011
Two way sync is almost a science. Especially if there are no true foreign key's defined, how would you know what id's are foreign in the different tables.
May 31, 2011
Project Member #20
Thanks, that's what I wanted to hear.
Sep 2, 2011
Project Member #21
 Issue 2543  has been merged into this issue.
Sep 2, 2011
#22 Rvanlaak
Maybe it is an idea to make a list on the right of the options/differences that is identical to the 'select source database or tables'. That then can be the 'target' database selection list.
Sep 2, 2011
Project Member #23
No, the drop down for session, db and table are intentionally placed instead of a tree. If you try to map nodes from tree A to tree B you will see that you run into non solvable problems if nodes from wrong levels are selected. That's why we now have the simple possibilities to select one db and all tables, or one table.
Oct 19, 2011
#24 mcpming
The DB Diff is quite useful.
Feb 5, 2012
Project Member #25
 Issue 2706  has been merged into this issue.
Mar 13, 2012
Project Member #26
 Issue 2772  has been merged into this issue.
Mar 22, 2012
Project Member #27
 Issue 2794  has been merged into this issue.
Apr 24, 2012
why hasnt this been implemented yet.
the button and window is there but notthing works
Apr 24, 2012
Project Member #29
This sync is hell complicated. Don't know when I'll find the time.
May 19, 2012
Project Member #30
 Issue 2814  has been merged into this issue.
Nov 6, 2012
Project Member #31
 Issue 3013  has been merged into this issue.
Jan 3, 2013
Project Member #32
 Issue 3067  has been merged into this issue.
Jan 12, 2013
love this tool.. this feature missing is the only reason i dont use it. :(
Jan 15, 2013
same issue here. Maby a feature database transfer would be cool. 
Jan 15, 2013
#35 kAlvaro
@Matthias What does database transfer (which has been implemented in HeidiSQL for years) have to do with database synchronization? Perhaps you should explain it with more detail.
Feb 21, 2013
Regarding getting sync to work, maybe it'd be possible to import code from Percona Toolkit, or its predecessor Maatkit; to implement the synchronization? I'm using the toolkit on a Linux VM to sync between two Windows MariaDB instances at the moment.

Mar 28, 2013
Percona Toolkit looks like works only on Linux.

What is the status of this issue? Because version my version (4370) already has this option menu but they donĀ“t work.
Mar 28, 2013
Project Member #38
I must admit I was not working on that feature for quite some time now. The dialog is currently just a designed form with moreorless nothing functional. What I am asking myself is whether that sync dialog will be used for the same thing as the export to server/db is used for. Not for the whole thing of a user defined synchronization, but for the major functional part it will I guess. Well...
Jun 10, 2013
Just some food for thought...

Considering you have this option listed as a feature on the website and it's in the software but not functional, yet the feature's been on hold for literally years with no plans to move forward on it, it might be time to remove the references from the website and UI.

As a new user, nothing ruins my confidence in a product more than a situation like this. At first I thought the software was just hard to use, and I was getting frustrated because I couldn't figure out how to get it to work. Then I found out the feature doesn't even exist, which is much, much worse. As a user, how am I supposed to trust any of the other features in the software now? Even if a feature seems to be fully working, in the back of my mind I'll always be wondering if it's working *properly*, or if it's just half-implemented like the database copy.

You're really doing yourself a disservice by listing this as a feature and having it in the UI when it doesn't work. Some users (myself included), are going to feel tricked, as if you've listed features that don't exist simply to get more people to download your software.

And I hate to admit it, but this experience has tainted my view of the software, and there's a good chance I'll never try it again. Most likely, HeidiSQL will forever be "that product that tricked me into thinking it has features it doesn't, and wasted my time making me figure out on my own that it doesn't work".

Anyways, I just wanted to explain the perspective of a brand new HeidiSQL user and give you something to think about. You're doing a great service by offering free software like this, and from what I've heard you've created a great tool, but I really do think you need to remove the references to this feature on the website and in the UI.
Jun 10, 2013
Project Member #40
Feels right somehow, yes.
Jun 14, 2013
I am forced to agree with post #39...if you are not going to have this feature as a working part of the product, you should remove references to it (it's still in the UIs 'help-> Readme')....although I would certainly prefer that it actually HAD this as a working feature.

The DIFF feature was kinda useful when it was on the menu, and I kept waiting to see the magic 'GO-GO-GADGET-DB_SYNC!' button to appear, but..instead..I saw the option was missing from the menu.. {tear}

...maybe just put that part back as a "db-diff" thing under tools?

Thanks for HeidiSQL, in it's current form.
I still use it, and prefer it to a web-interface and the over-priced Navicat.

Jun 15, 2013
We actually switched to MysqlWorkbench to do the DB sync. I don't miss it that much in Heidi now :)
Jun 21, 2013
Project Member #44
 Issue 3246  has been merged into this issue.
Apr 12, 2014
I think that 
a) DIFF is probably much easier to do than SYNC;
b) SCHEMA diff is much more important to me than DATA differences;

Is it possible to start with SCHEMA DIFF? Are there more people out there looking for the same priorities?
Sign in to add a comment

Powered by Google Project Hosting