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
very funny, i’am also looking at the best tool for database migration, so i came from the http://code.google.com/p/flyway/wiki/JavaMigration site because it’s supports java migration, and then i think combine it with jooq and it will be nicer ;)
so my choice can be C5db migration ou flyaway + jooq for sql execution;)
That’s a nice-looking framework. I’ll certainly have to get into it, as well. Tell me about your experience, once you have started using any of those migration frameworks along with jOOQ!