LiquiBase is a DBMS-independent library for tracking, managing and applying database changes. It is built on a simple premise: All database changes (structure and data) are stored in an XML-based descriptive manner and checked into source control.
LiquiBase aims to provide a solution that:
Supports merging of changes from multiple developers
Works well with code branches
Allows you to manage production data as well as various test datasets
Works in an environment where multiple machines will be attempting to migrate the database concurrently
Supports automated change-applying or generation of SQL scripts that can be approved and applied by a DBA