Iterative development, automated testing, and refactoring are all widely understood—if not widely practiced—in the software development community, but these practices have been slow to come to the world of database development. Many responsible organizations control their schema changes with migration scripts, but few have the tools and practices in place required to enable frequent, confident, pragmatic, agile improvements in database structure as an applicaiton evolves. After this class, you'll be ready to apply well-known agile methods to your project's database development.
Opportunistically making simple changes to the database to improve its design while retaining its behavioral and informational semantics.
Building the simplest thing that can possibly work...every day.
Apply the well-known techniques from software development to provide a safety net of automated tests to verify the informational and behvioral semantics of your code.
Few developers would consider writing code without a source code repository behind them. Learn how to extend that discpline to the database schema.
A critical agile development discipline applied to the database.
Learn how to represent the entire schema of your database—including incremental changes—in structured, easily controllable text files that encourage you to follow agile database development practices.
Learn the operations Liquibase can perform against your changelogs and your database, and look at some smart ways to wrap the tool's awkward command-line syntax.
Take control of a legacy schema with Liquibase, design your own refactorings against the distressed portions of the design, and implement them in your changelog. Bring up a new sandbox by playing these changes back against an empty database.
Stored procedures, triggers, and free-form SQL scripts are not exempt from control, testing, and synchronization with live schemas.
If your team balks at writing their SQL in XML, you can offer them this more expressive, Groovy-based option—without needing to learn Groovy first.