Geoffrey: I haven't used Liquibase, so I'm not the best person to highlight all of the differences between the two projects. Like some other folks on this list, I only learned about Liquibase a few weeks ago (and haven't tried it out yet). However, there are a few notable differences as far as I can see:
Liquibase captures changes in XML while db-migration captures changes in SQL or Groovy. I personally find it easier to develop migrations in Toad (choose your preferred db tool) than in a meta-language, especially when it comes to tricky migrations that must shuffle and massage between tables. Also, the full suite of database specific functionally is available when writing straight SQL/DDL. Is it when using liquibase, or is everything expressed in a database-agnostic meta-language? For me, unless there's a compelling reason to learn yet another language (liquibase configuration), I'd rather use something I already know well (SQL). In a quick search, I didn't see support in liquidbase for the create, drop, or reset goals supported in db-migration. We reset our unit test database all the time. It's also very helpful when configuring developer's environments and continuous integration (I recently blogged about this<http://blog.carbonfive.com/2009/03/agile/continuous-integration-and-build-promotion>if you want more on the subject). I don't know much about configuring liquibase, but the db-migration-plugin really only needs 3 peices of information (url, username, password). The barrier to getting started for db-migration-plugin seems like it might be a little lower. Despite being simple, it's worked quite nicely for us on the projects we've used it on. In the end, it's about choices and a little healthy competition. Liquibase looks like a great project and I bet there are tons of people using it and loving it. I hope people give my project a whirl and find that it suites their needs just fine. If you try db-migration-plugin, I'd be psyched to get your feedback. Regards, Christian On Tue, Mar 10, 2009 at 8:56 AM, Geoffrey Wiseman < geoffrey.wise...@gmail.com> wrote: > On Mon, Mar 9, 2009 at 10:38 PM, Christian Nelson <cnel...@slac.com> > wrote: > > > The db-migration-maven-plugin > > <http://code.google.com/p/c5-db-migration/>provides support for > > managing project database structure changes over time > > (a la rails migrations). Each change is captured as a discrete migration > > (implemented in SQL or Groovy). A history of which migrations have been > > applied is stored in the database (table schema_version) and all pending > > migrations can be applied using a single goal. The following goals are > > provided by the plugin: > > > Care to characterize how this project differs from Liquibase? > > - Geoffrey > -- > Geoffrey Wiseman > http://www.geoffreywiseman.ca/ > -- Christian Nelson -- (e) cnel...@slac.com -- (m) 415-378-3988