I have just now discovered a very nice-looking tool for database migrations: Liquibase
With Liquibase, you can model your DB increments as XML files that will translate to as many as 13 different databases. A sample DB increment (taken from the Liquibase manual):
<!-- ALTER TABLE PERSON MODIFY COLUMN firstname VARCHAR(5000); --> <!-- ALTER TABLE ADDRESS ADD CONSTRAINT fk_address_person FOREIGN KEY (person_id) REFERENCES person (id); --> <!-- UPDATE ProductSettings SET property = 'vatCategory' WHERE property = 'vat'; --> property='vat'
…and so on. I guess it’s about time to contact the Liquibase folks and ask for cooperation! A fully integrated solution involving database schema management, database schema migration, and jOOQ’s source code generation seem to be the perfect toolset for a Java database developer