FAQ
What license is SDRT released under? The migrator is released under the GNU Lesser General Public License (LGPL).
Where can I get the source code? The source is available from the main download page
How does the Refactoring Tool compare to tools that compare development database with production databases to generate change lists? The Refactoring Tool works better because it understands what the changes are. For example, a database comparison program would simply see the “person” table on integration has a “firstname” and a “lastname” column, but on live, the “person” table has a “name” column. It would report that you need to drop the “name” column and add a “firstname” and a “lastname” column. While this would leave you with the correct schema, you would lose everyone’s name in the process. With the Refactoring Tool, you would have a changeset that says “rename ‘name’ to ‘lastname’ and add a ‘firstname’ column,” or, even better, “split the name column on a space and place the values in new ‘firstname’ and ‘lastname’ columns, then drop the ‘name’ column.” Knowing why they are different allows changes to production databases without the fear of losing valuable data.
What if multiple processes/application servers attempt to migrate the database at the same time? The migrator uses a distributed locking system to only allow one process to update the database at a time. The other processes will simply wait until the lock has been released.
Does the migrator work with branches? Yes. Since each change is independent, database changes that had been made in a different branch, then merged in will be run the next time the migrator is run. You may run into a problem with the order that the statements are ran, but any issues you have can be easily solved by re-ordering the changelog files.