The past few years have seen the rise of agile or evolutionary methods in software development. These methods embrace change in requirements even late in the project. The ability to change software is because of certain practices that are followed within teams, such as Test Driven Development, Pair Programming, and Continuous Integration. Continuous Integration provides a way for software teams to integrate their work more than once a day, and promotes confidence in the software that is being developed by the team. It is thought that this practice is difficult to apply when continuously integrating the database with application code; hence, Evolutionary Database Development is considered a mismatch with agile methods. Pramod Sadalage shows that this is not necessarily true.
Continuous Integration changed the way software is written. Why not extend and make the database part of the same Continuous Integration cycle so that you can see integrated results of your application as well as your database? Delivered in PDF format for quick and easy access, Recipes for Continuous Database Integration shows how the database can be brought under the preview of Continuous Integration, allowing all teams to integrate not only their application code, but also their database.
This Short Cut presents a recipe for each task that needs to be done. Each recipe starts with a statement of a problem, followed by an explanation and solution. It provides concrete ways and examples to implement ideas in Refactoring Evolutionary Database Design by Scott W Ambler and Pramod Sadalage.
Table of Contents
What This Short Cut Covers
Introduction
Recipe 1 Continuously Integrating?
Recipe 2 Extracting Your Database in Scripts
Recipe 3 Using Version Control for Your Database
Recipe 4 Automating Database or Schema Creation
Recipe 5 Creating Objects in Your Database
Recipe 6 Removing Database Objects
Recipe 7 Removing Your Database
Recipe 8 Using the Build Property Files
Recipe 9 Re-Creating Your Application Database for Any Build
Recipe 10 Making It Easy for New Developers to Join the Team
Pramod J. Sadalage, Principal Consultant at ThoughtWorks, enjoys the rare role of bridging the divide between database professionals and application developers. He regularly consults with clients who have particularly challenging data needs requiring new technologies and techniques. He developed pioneering techniques that allowed relational databases to be designed in an evolutionary manner based on version-controlled schema migrations.
This (short) book is beginning to show its age -- while the general principles from which we're reasoning are largely the same, the tools and techniques have evolved from the examples in the book. Manually managing a database version table isn't needed when a tool will do that for you, and using Ant scripts to manage some of the tasks is dated and potentially more fragile than it needs to be given what's available today. Still, this book reinforces database problems and potential solutions in a clear, readable way.