I use both ruby on rails and Java. I really enjoy using migrations when I am working on a rails project. so I am wondering is there a migrations like tool for Java? If the
Grails has a dbmigrate utility that is patterned after the one from Rails. Since it's implemented in Groovy, you should be able to use it from any of your Java projects.
There are also two independent implementations of rails-like migrations for Java:
1) Maven-based migrations from Carbon Five
2) Ant-based tasks from Hashrocket (my personal favorite)
Although these packages were written for Maven and Ant specifically, with some work you can adapt them to just about anything.
Liquibase is another project in this domain worth checking out.
For a feature comparison between
have a look at http://flywaydb.org
This should be a good start for you and anyone else to select the right tool for the job
I ran across this post while researching the same question. I haven't come to any conclusions about the best tool or approach yet, but one tool that I've come across which hasn't been mentioned in other answers so far is dbdeploy. I'd be interested to read any comparisons of these tools.
Some other relevant resources: Martin Fowler and Pramod Sadalage's somewhat aged post on Evolutionary Database Design, and the book Refactoring Databases: Evolutionary Database Design by Sadalage and Scot Ambler.
Migrate4j seems like a candidate, but the project doesn't look mature enough for production usage.