I've also done a blog post previously on setting up Flyway.
I keep referring back to the same links and concepts and this post is here just for that, as a pointer to good resources and brief points about this topic.
I may revisit it and put down my own consolidated content, but for now this will do.
- Reading
- Evolutionary Database Design
Martin Fowler, 2003 - Agile Database Techniques: Effective Strategies for the Agile Software Developer
Scott Ambler, 2003 - Refactoring Databases: Evolutionary Database Design
Scott Amber and Pramod Sadalage, 2006 - Catalog of Database Refactorings
Scott Ambler - Three Rules for Database Work
K. Scott Allen, 2008 - The Baseline
K. Scott Allen, 2008 - Change Scripts
K. Scott Allen, 2008 - Versioning Databases - Views, Stored Procedures, and the Like
K. Scott Allen, 2008 - Versioning Databases - Branching and Merging
K. Scott Allen, 2008 - Scott Ambler's Articles
Scott Ambler - Stairway to Database Source Control
SQL Server Central - Martin Fowler's Practices
- DBAs collaborate closely with developers
- Everybody gets their own database instance
- Developers frequently integrate into a shared master
- A database consists of schema and test data
- All changes are database refactorings
- Automate the refactorings
- Automatically Update all Database Developers
- Clearly separate all database access code
- K. Scott Allen's 3 Rules
- Never use a shared database for development work
- Always have an authoritative source for your schema
- Always version your database
- Tools