Currently after releasing a new major or minor version of our application, we take a copy of the production database and perform the below process:
- Copy production database to test server
- Obfuscate the data and setup the test users
- Switch the old test database with the obfuscated new database
- Repeat for the development database.
The intention of this is to ensure all our environments are as close to one another as possible. This originated as a manual process but due to increasing complexity we've started to automate it.
However what is the best way to automate a post deployment process such as this? Our currently automation is a bespoke c# program - however, would an SSIS package be more appropriate? Or is there a tool out there that is made for the job?