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

Reply via email to