Environments and Branching

Hi, I'm very interested in purchasing the RedGate source control product for my development team. However, I'm struggling on formulating a strategy for managing environments and branches.

We basically have Dev, Test, QA, Staging, and Prod environments. We already have TFS but I'm especially interested in RedGate source control because it appears very easy to use and it integrates well with SSMS.

What do most users commonly do to manage their environments?

My initial thoughts were that we'd have Staging be the main trunk while Dev, Test, and QA would all be branches. As changes move from Dev to Test then we'd merge the specific changesets.

Does this sound like the right approach?


  • Basically, you need a separate folder in TFS for each database. To merge changes from one step to another, you could use SQL Compare directly between the DBs and then commit all the updates back in rather than doing it through TFS and a Get Latest, as it'll handle all the dependencies correctly etc.
  • I think that should work out quite well. I used to do something similar with Schema Compare in TFS between DB Projects but there were some occasional issues. I'll give it a try. Thanks!
Sign In or Register to comment.