Back in November 2012 I presented on this topic at Entelect’s Dev Days.
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
- Versioning Databases - The Baseline K. Scott Allen, 2008
- Versioning Databases - 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