Comments
2 comments
-
I would change your process. It's inefficient for various reasons.
For clarification, I'm assuming when you say ''migration script" you are not referring to Redgate SQL Source Control "migration scripts" feature. It's an overloaded term so I just want to be sure that's not what you meant. If it was we should talk about that.
First you need to decide if you want to use a migrations or a model based source control strategy. Currently you have a form of hybrid which is highly inefficient. If you really want a hybrid approach there are better ways to do it.
More info:
ore/workingwithdevs.com/delivering-databases-migrations-vs-state/
If you would like to go with model, you should look at the DLM Automation release objects and you shouldsprobably create fresh DlmDatabaseRelease object against prod or staging for each build. (Other strategies may also work but this would be a good start.) Then you will just get a single upgrade script and a handy diff report for the DBA. But you may or may not wish to consider leaving the release creation to nearer the deployment day.
If you would like to go with migrations, use ReadyRoll instead of SQL Source Control.
(Also, I highly recommend moving to the dedicated model. It'll make your life much much easier: http://workingwithdevs.com/shared-vs-dedicated/)
There are a lot of concepts here so if you'd like to talk through it feel free to contact me for a free 30 mins Skype chat. You can contact me either through any of the links in my signature or through the enquiries address on our website:
www.dlmconsultants.com
(Ask for Alex.) -
Ruddy smily faces changing the meaning of my reply...
Add comment
Please sign in to leave a comment.
Is there an automated way to apply these changesets to higher environments without opening and running each one? Sometimes we end up with a couple dozen migration scripts and our DBAs get grumpy.