Flyway - Version control for Databases in Java
Database migrations
Database migrations (or Schema migrations) are the technique used to keep track of changes in the schema of a database. There are many tools for handling database migrations for different languages and frameworks; They typically provide these features:
- Represent schema changes in code (so they can be added to source control)
- Keep track of the last migration applied
- Apply only the necessary migrations
Having all the schema changes in code also makes it easy to ensure all environments are running exactly the same DB schema.