You need to be able to apply subsets of your changes to be able to put your database schemas into known states.
For example you may find yourself in development iteration 10 to discover that you want to roll back your schema to the way it was at the beginning of iteration 8.
Less integrated ones get consistent migration strategy only at individual product level, and the tools are usually ad-hoc.
For example, Ruby on Rails has a very refreshing idea of [ Record/Active Migrations].
Let’s explore how you use each log: # Database change log.
This log contains the data definition language (DDL) source code that implements all database schema changes in the order that they were applied throughout the course of a project.
For example, a testing policy that ships with TFS enforces that a specific set of tests is run prior to checking in your code.
And best of all, this new Visual Studio sku fully integrates into Team Foundation Server so your database schema (SQL scripts) can be put under source control just like any other C#, Biz Talk or Web Application!== Introduction == Have you seen this situation before?* Your team is writing an enterprise application around a database * Since everyone is building around the same database, the schema of the database is in flux * Everyone has their own "local" copies of the database * Every time someone changes the schema, all of these copies need the latest schema to work with the latest build of the code * Every time you deploy to to a staging or production database, the schema needs to work with the latest build of the code * Factors such as schema dependencies, data changes, configuration changes and remote developers muddy the water How do you currently address this problem of keeping the database versions in working order?Meanwhile, Microsoft is taking advantage of its integrated development environment, and makes it easier to keep database schema under common version control.[ Lynch] writes in [ Visual Studio Team Edition for Database Professionals]: …with Visual Studio Team Edition for Database Professionals, database development now becomes a fully supported part of your application’s development lifecycle.
You may choose to implement these changes using data cleansing utilities, often the heart of extract-transform-load (ETL) tools, examples of which are listed in Table 1.