Synchronize MySQL Databases

As developers of our own web software and contractors that currently support a large online reservations system (www.twibo.com), we’ve always had one major problem during the software deployment – synchronization of beta and live database structures.

There are usually some changes in the structure of the database tables between release X and release Y. It’s quite simple to add a few new tables to make the structure of the databases in sync, but it becomes a real pain when indices were updated in some tables, fields renamed or added or descriptions of the fields have changed.

Having searched for a web based solution for this problem and been unable to find one, I’ve decided to create my own. That’s how Stuffed SyncDB was born.

Stuffed SyncDB

Shortcomings:

  1. Built with Perl — requires Perl with MySQL support to be available on the server where SyncDB is going to be installed.
  2. Can only synchronize MySQL databases structure (for now).
  3. Doesn’t take into account types of tables (was only tested with MyISAMI tables).

Features:

  1. Synchronizes two databases in 2 easy steps — select a source and target database from a list, click a button and you are set.
  2. Generates synchronization strategy (SQL statements that would make target database’s structure equal to the source database’s structure) that can be edited before it will be executed.
  3. Supports renaming of the fields — understands that if a field is missing in the target database it doesn’t necessary mean that it should be dropped.
  4. Allows to compare a database structure of a real database with a database structure dump.
  5. Allows to compare two database structure dumps with each other.
  6. Database structure dumps could be pasted in a textarea or uploaded as a file.
  7. You don’t need to have direct access to a remote database to synchronize it with your local one — just install Stuffed SyncDB on the same server with the target database and upload a dump of the source database structure.

Now the good news is this: Stuffed SyncDB will be free and would be released under a GPL license or similar. This would happen at the day of Stuffed Guys Relaunch*, when we will release Stuffed Tracker 2.0 and also show our freshly redesigned web site to the world.

* Hopefully this day would be 1st of September 2005.

4 Responses to “Synchronize MySQL Databases”


  1. 1 Peter

    I searched a long time tool like “MySQL structure synchronization”. When can I download it from Your webpage?

  2. 2 Sergey Smirnov

    Peter,

    The software is 99% ready, I just don’t have time to prepare it for the release right now. I think we should release it in January 2006, closer to the end.

  3. 3 Sergey Smirnov

    Instead of a downloadable product we’ve launched a free service that does MySQL structure synchronization:

    http://www.syncsql.com

  1. 1 Synchronize MySQL Databases at The Chronicles of Stuffed Guys
Comments are currently closed.