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.
I'm focused on developing and expanding my knowledge and skills. Enjoying new challenges. I'm assuming that there are no stupid questions, there are only silly answers.
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.
Thanks again for the detailed answer and for sharing your experience.