In our project we have several production databases and many devs. Each production database represents some "sub-project/localization version". We use SQL Server 2008.
So, I need to develop database versioning strategy using MS Visual Studio Database Project. I have read a lot of articles about database versioning and database projects, but I still have a lot of questions:
How developers should implement theirs changes to db project? (Best practice)
How to generate the 100% workable "latest version" deploy script without human intervention (skipping some objects, rewriting some changes, etc)?
How to manage data changes with MS Visual Studio Database Project? I know about pre-/post-deploy scripts, but I think it cant resolve this problem. (Example: I need to remap some table into another).
The "ideal solution" would be:
Developers generates and maintains Database Project for database [ProductionDB].
With new release I deploy Database Project to the [ProductionDB] with all necessary changes.
Developers changes Database Project and writes some data manipulation scripts for concrete changes.
With new release I deploy Database Project to the [ProductionDB] with all necessary changes.
So, The final question: Is it posible to use Database Project for the purposes described above or somebody uses similar scenario/solution?
PS: I have already read following discussions: