Archive for the 'SyncSQL.com' Category

Synchronize MySQL Databases Redux

As I’ve wrote some time ago, I have created a web-based structure synchrnoziation tool for MySQL databases. We’ve needed a thing like this ourselves, so I’ve decided to create the tool as a standalone product from the start.

I’ve called the product Stuffed Sync, but never had enough time to prepare it for a proper release (write installation, documentation, create a dedicated site section, etc) . Finally, a week ago we’ve made a decision to launch a free service that allows to synchronize MySQL databases. The service was named SyncSQL.com and I am happy to report that as of now it is available for public use.

Basically this is a much lighter version of Stuffed Sync the product. But it should be sufficient for a lot of scenarios and we hope that it will make life easier for a lot of developers.

How it works?

You specify structure dumps of the source and target databases and hit the “Synchronize!” button. Your dumps are analyzed and all required alter statements are prepared for you. Then you should run the prepared statements on the target database and its structure will become identical to the structure of the source database.

How it looks?

SyncSQL.com

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.