DEV Community

Discussion on: How to work with stored procedures and not die trying

Collapse
 
hardkoded profile image
Darío Kondratiuk

Hey Rafal, thanks!

Our workflow is something like this. When the CI grabs a branch to be tested it creates a brand new database using the command I shared in the CI section.
When a Pull Request is approved and a branch merged, our CI will test that commit again (to test how it works with the code integrated in the main branch) and then it will run the same command to update our test database, but this time with the arguments “CreateNewDatabase=false,DropObjectsNotInSource=false”.
After that another build will test our master (production) branch against that database to test that we’re not going to break production when that code gets to staging.

We didn’t get to the point to automate the staging and production deploy I think we are close but what we are doing now is using Visual Studio to compare our code with the production server, we would take a look at the diffs, check that everything looks as expected and then we would let Visual Studio do its job. We also have a deploy folder with data scripts we’d use to populate new tables or fields or fix data issues. This part is a manual step but it could be easily automated.

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

Thanks again for the detailed answer and for sharing your experience.