We've got a set of apps that use both Oracle and SQL Server, and build/deploy with a mix of Jenkins, TeamCity and Octopus.* When we've got DB changes that need to go with a deployment, current process is to attach an update script to the Jira ticket, notify the DBA, and when we do the deployment he executes the script in the target environment(s).
I've worked in other systems where this process was integrated into our SCM/build/deploy process, so when we pushed the button for code the DB changes went with it. This might not be practical here because of the mix of Oracle and SQL Server**, but my gut tells me they just never bothered. Or that someone doesn't want to give up that level of control.
Assuming it's not a control issue, what should we be looking at to do this correctly?***
* Years of acquisitions, not everything has been integrated yet.
** One fight at a a time.
*** I'd like to say, "How long could it take to knock out a few Bash scripts?" but this is Windows, so I keep my mouth shut.
I've worked in other systems where this process was integrated into our SCM/build/deploy process, so when we pushed the button for code the DB changes went with it. This might not be practical here because of the mix of Oracle and SQL Server**, but my gut tells me they just never bothered. Or that someone doesn't want to give up that level of control.
Assuming it's not a control issue, what should we be looking at to do this correctly?***
* Years of acquisitions, not everything has been integrated yet.
** One fight at a a time.
*** I'd like to say, "How long could it take to knock out a few Bash scripts?" but this is Windows, so I keep my mouth shut.