0

I have an odd situation where there is a SQL server database used by atleast 4 different applications and there are 4 different teams working on each of these applications.

We are planning to bring in continous integration using TFS 2012 across all these development teams.

Now there is no problem on managing the code for these applications, the problem is on managing the database changes and maintaining versions. The main challenge however is each team can have their own set of changes on the same database.

The objective is at a given point I should be able to collect artifacts (for both web and database changes) for all the 4 applications and deploy them to staging or production environment.

Please advice!

SAM
  • 9
  • 1

1 Answers1

0

I'd suggest using Visual Studio Database Projects to manage your database schema and deployments.

If you deploy the 4 separate applications separately, then I'd suggest having 4 branches of the DB project, one for each project. And merge the branch back to the MAIN db branch when an application releases.

If you deploy the 4 applications together, then you really have no need to isolate each teams changes, and you can just have one branch that contains the code for all 4 teams and the database.

Dylan Smith
  • 22,069
  • 2
  • 47
  • 62
  • Perhaps I have to consider to consider the first option as not always these applications are deployed simultaneously. I have also started looking into SSDT. Thanks Dylan. – SAM Jul 11 '14 at 11:43