ReadyRoll integration with Source Control
ReadyRoll looks great but one of it's downsides is that you have to use Visual Studio. If mostly work gets done using SSMS, then switching to Visual Studio is not a great experience.
Both ReadyRoll and SQL Source Control use the same comparison engines, they both output objects as files on disk and support migrations.
To satisfy both worlds (making great experience when using Source Control on SSMS) and have a proper way to automatically update databases from source control files using migrations (like ReadyRoll does), SQL Source control should integrate with ReadyRoll - after each commit, a migration script would be generated, .sqlproj created or updated. Sql Source control would need some additional options (such as pre-deployment or post-deployment scripts), shadow DB options for comparison, etc.
In the past year we have introduced a way to do what you have suggested her, which is a hybrid method of using SQL Source Control with SQL Change Automation (which is ReadyRoll under the new brand).
In designing the integration, we found that some users wanted each developer to generate migrations as part of their workflow, while others preferred for this to be done in batches, perhaps by a DBA, when preparing a deployment.
More information on the hybrid workflow is here: https://www.red-gate.com/hub/product-learning/sql-toolbelt/a-hybrid-approach-to-database-devops
Thanks very much for this suggestion and we would love further feedback on whether the hybrid workflow meets your needs.
-
AdminAndrea Angella (Admin, Redgate) commented
SQL Source Control now support pre-deployment and post-deployment scripts. You can find more information here. https://documentation.red-gate.com/soc6/common-tasks/working-with-pre-post-deployment-scripts
Please do get in contact if you want to get involved in our research in making migrations more accessible in SSMS. That would be greatly appreciated.
-
Chris G. commented
I'd be interested in the research.
-
Chris G. commented
Has there been any movement on this?
-
Anonymous commented
We Source Control and we would like to start using ReadyRoll so I'm also interested with testing such integration.
-
Brian Schneeberg commented
@David Atkinson - I'd also be interested in becoming an early adopter/tester of a hybrid SQL Source Control/ReadyRoll product...
-
[Deleted User] commented
I'd also be interested in learning about tighter integration. SQL Source Control is provides a good standard for organisation of SQL code; it would be beneficial to combine that with the flexibility of ReadyRoll
-
Robert Nowak commented
@David Atkinson I'm also interested in more specific details of hybrid of SQL Source Control and ReadyRoll.
I use Entity Framework but i need to manage changes using SQL Source Control and update EF classes. -
Nathan commented
We purchased SQL Source Control (as part of SQL Developer Bundle) with the promise that it would work in the future with systems like GIT/Mercurial branches more natively. The eventual use of working directories still does not fulfill this promise fully, so it's disappointing to see RedGate roll out a totally separate ReadyRoll that supposedly works better across branches and commits, but isn't even included in the SQL Developer Bundle.
In the ReadyRoll FAQ, they compare to SSDT and say that ReadyRoll is better than SSDT because SSDT is state-based and ReadyRoll is migration based (http://www.red-gate.com/products/sql-development/readyroll/faq#faq-3). The migration scripts in SQL Source Control are not the full DbUp, so it's still very much state-based. The FAQ doesn't even compare to RedGate's own SQL Source Control tool.
The two are so similar, they really should be the same product.
-
@AP Thanks for the feedback. When Redgate acquired ReadyRoll this was indeed the intention and we're actively researching how to unify the two approaches under a single tool. I will contact you individually about our early access program. If anyone else is interested in knowing more, please post vote and post a comment and I'll get in touch with you.