This is more of a wish list item so feel free to ignore, move this or use only the conccept after the current codebed becomes slightly more stable/usable. Your Migrations is wonderful. I have been looking and waiting for some tool to compete with Ruby's ActiveRecord.Migration for over a year. You even have enterprise level features that they haven't even considered. That being said there is one major half of ActiveRecord.Migration that hasn't been addressed yet by your tool and that is best called by "Standard Transformations" for now. If a ruby user calls the methods on the ?ActiveRecord.Migration? class such as "create table", "add column" than both up and down SQL statements are generated specific to the destination database. I would suggest as a future feature adding a new type of step file, one that is declarative xml. You don't have to have it all at once. Perhaps start of with the most common DDL "create_table", "add_column", "execute" xml elements. Execute being an XML CDATA node for embedded SQL and an attribute for an external up and down files. Latter additional elements can be added to the grammer as they are created. The default grammar could be standard SQL-92 with other database and "user created" substitutions to follow.
This sounds like a great idea. It would likely be a ton of work to try and support "all" databases but at least hitting the popular databases and making it easy to allow others to contribute patches/enhancements to the database mappings then this could work out well.
I'll leave this for a future feature enhancement as it might take me a while to figure out a good design for doing this (maybe including the use of hibernate or dbunit or some other api's schema for doing such things if any exist).
But yes I will definitely work on adding in this type of feature as it should help greatly with making flexible portable migration scripts.