I need a tool which can receive the schemas of a master and a target databases (generated by a tool e.g. mysqldump -d --routines --triggers --events) and generates an update script to update the target database.

|                        +--------------+                              
|    Master DB dump      |              |                              
|                        |     +--------v-------+                      
+------------------------+     |                |     +----------------+
                               | Migration Tool +----->Alter Statements|
                               |                |     +----------------+
+------------------------+               |                             
|                        |               |                             
|   Target DB dump       +---------------+                             

I've tried Database Comparer v 6.2 Standalone Utility which is awesome. However it is not smart enough to detect column rename actions and simply drop and create a renamed column. The desired program, should ask user to choose between rename or drop/create actions.

  • 1
    I'm considering putting a bounty here or asking a separate question, as my requirements are coming pretty close: I'd need something like this with the additional requirements of: open-source, Linux, works with MySQL and SQLite. Guess our requirements are not a match, but simply overlapping? Solutions for mine would match yours, but not vice-versa?
    – Izzy
    Apr 6, 2015 at 12:49
  • @Izzy think SQLite part of your requirements need a separate question. There is very little change that a single utility support both of those RDBMSs. I will be grateful to see you bounty here. Apr 6, 2015 at 14:17
  • @Izzy Did you try the linked software? Perhaps there is some configs. Apr 6, 2015 at 14:19
  • Afraid so, yes. And I was thinking either-or (if it wouldn't justify a separate Q I'd place a bounty here). And no, I cannot try the linked software: that's Windows only, I need it on Linux (and no, not emulated via Wine or whatever, too much overhead that). Moreover, it doesn't mention SQLite in its list of supported RDBMSs – which is what I'd need it for primarily.
    – Izzy
    Apr 6, 2015 at 14:22
  • Btw: a simple google-fu brought me to one of our sister-sites: Comparing Sqlite databases. And despite the "SQLite" in its title, other RDBMSes are also covered, so you might want to give it a look, too! SchemaCrawler looks promising for both of us, btw :)
    – Izzy
    Apr 6, 2015 at 14:29


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.