On 22/12/11 6:04 AM, John Huss wrote:

Liquibase looks like it would do a decent job.  I'm not sure I like the XML
format though.

Yes, ever since Ant tried to write a scripting language in XML, this approach 
has been ruined for most people.

However in this case (using it for several months now), liquibase is really 
nice. We support three different database engines and used to have three sets 
of files for the schema updates. Now we have one and it is much easier to look 
after.

We also have a unit test which runs in Jenkins nightly to apply all the 
database schema migrations and then verify that the result matches the current 
Cayenne schema. That catches most problems (except of course anything with 
constraints or indexes which Cayenne doesn't know about).

If you implement this yourself or through Cayenne, don't forget to create some 
sort of database lock mechanism so that two instances of the application (eg. 
two war files) deployed simultaneously in a cluster don't both try to update 
the database at the same time.


Regards

Ari



--
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Reply via email to