Our project has several production databases and many developers. Each production database represents a certain “subproject / localization version”. We are using SQL Server 2008.
So, I need to develop a database versioning strategy using the MS Visual Studio Database Project. I have read many articles about database versioning and database management projects, but I still have many questions:
How should developers implement their changes to the db project? (Best practice)
How to create a 100% workable "latest version" deployment script without human intervention (skipping some objects, rewriting some changes, etc.)?
How to manage data changes using MS Visual Studio Database Project? I know about the scenarios before and after deployment, but I think that it cannot solve this problem. (Example: I need to reassign some table to another).
An “ideal solution” would be:
Developers create and maintain a Database Project for the [ProductionDB] database.
With the new version, I am deploying the Database Project in [ProductionDB] with all the necessary changes.
Developers modify the database design and write some data manipulation scripts for specific changes.
With the new version, I am deploying the Database Project in [ProductionDB] with all the necessary changes.
, : , , - /?
PS: :