Liquibase (http://www.liquibase.org) is a free and open source version control tool for the database. It lets you track, manage, and apply database schema changes using configuration files without having to fiddle with SQL. It is database-independent and goes well with JPA, making the application database independent. Liquibase can be run from within the application, making database setup and management seamless. Liquibase can also add/remove data to/from a database, making it good for migrations as well.