My vote is for using xml, not sql, for the ddl. For example, have a look at Apache DDLUtils (which I feel isn't as well known as it ought to be).
It's really nice to have just one ddl which works across multiple vendors when 
you want to make sure your stuff works on Postgres, SQL Server, Oracle, 
whatever.


Christian Nelson wrote:
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/





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to