October 24, 2007
Applying Sprint Updates to a Database Codeline
The previous posts discussed a generic codeline folder structure and PowerShell management scripts for database schema version control. This post discusses the management of active database development work in the Mainline codeline.
For every database in our Mainline codeline folder structure there are two child folders: Previous and Sprint. The Previous folder contains DDL files for every database schema object, including all BCP domain/default data files, necessary to restore a reference image of the last released database schema. In the folder structure below, the Previous folder contents would construct a 2007.2 equivalent database schema for MyDatabase2. The Sprint folder contains the DDL and DML necessary for active development work. In older codelines, the Sprint folder provides a quick snapshot of what happened in the database schema for that particular release.
Project
2007.2
Mainline
Business Logic
Unit Tests
Database
bin
Reference
MyDatabase1
MyDatabase2
Previous
Tables
StoredProcedures
…
Sprint
Sprint database schema object updates are applied using this PowerShell/SMO script and controlled via an XML manifest. Every DDL or DML modification is listed in the manifest. A SprintUpdate XML Element in the manifest identifies one modification, and is decorated with appropriate sprint and sprint backlog information XML attributes; furthermore, there is an XML attribute to control whether or not the modification is actually applied to the specified database during script execution. The manifest will contain DDL and DML database schema modifications for all Sprints until the Release Sprint. When a Release Sprint completes, the Mainline codeline is renamed to the appropriate release version id and a new Mainline codeline is constructed.
Posted at 11:47 PM Permalink
|