Link Details

Link 78126 thumbnail
User 111696 avatar

By bloid
via java.dzone.com
Published: Apr 28 2008 / 22:21

Migrate4j is a migration tool for java, similar to Ruby's db:migrate task. Unlike other Java based migration tools, database schema changes are defined in Java, not SQL. This means your migrations can be applied to different database engines without worrying about whether your DDL statements will still work.
  • 16
  • 1
  • 1620
  • 475

Comments

Add your comment
User 236137 avatar

dzonelurker replied ago:

0 votes Vote down Vote up Reply

What has this to do with database migration??

User 217792 avatar

demetrios replied ago:

0 votes Vote down Vote up Reply

Well, it has to do with "DDL versioning", but in both directions (up and down).
The name is of course confusing, but the concept is interesting and practical - at least in Rails.

User 261063 avatar

Torax replied ago:

0 votes Vote down Vote up Reply

Same question here. I always understood that migration is about moving structure AND data from one database to another (often from a different vendor) one. Looking at the project page, i only see creation of DDL statements, not even intelligent handling/detection of differences in the (existing) database structure?

User 217792 avatar

demetrios replied ago:

0 votes Vote down Vote up Reply

> I always understood that migration is about moving structure AND data from one database
> to another (often from a different vendor) one.
Not just that. The most common "migration" scenario (that people ignore cause they' think of an application as something statical - or a blackbox maintained by DB Admins) is migration to a new version.

> Looking at the project page, i only see creation of DDL statements,...
They just started the project - look at the SVN history :).
The concept however is very practical in Rails cause there the tool is pretty intelligent and reduces allot of work (even migrating from one vendor to another :) ).
I'm not sure if they'll be able to make it equally practial in Java too: on DZone were announced more than one Java project like this, but I think (from my trials) that all failed to be really practical (like "migrations" in Rails).

User 270711 avatar

toddrun replied ago:

0 votes Vote down Vote up Reply

In this case, "migration" refers to the database schema. Moving data between databases, especially when the table structures are different, is generally handled by ETL (Extract, Transform and Load) tools. A migration tool is useful for ongoing development while ETL is usually geared towards database maintenance.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.