Automatic propagation of schema changes to one database to all databases in a sync group
In addition to allowing Sync Group configuration to be updated to cater for schema changes, automatically propagate the schema changes to all databases in a Sync Group.
We are more focused around data synchronization than schema synchronization at the moment. We may revisit the priority of this in the future.
Maybe a side result from Azure SQL Data Sync is to become a great tool to build a blue/green deployment environment for databases. Automatic propagation of schema would break this, so, if implemented, can't be the default, it needs to be the user choice.
Chris Schaller commented
The need for this will be technically reduced when there are APIs, the primary need for APIs is to achieve this goal. But an MS best practise way is what we are looking for a solution that can be deployed to the masses.
Even if it isn't automatic propagation, if it can be amalgamated into the API that would be useful.
Chris Spain commented
I believe the need for this is reduced when the "Provide API’s to configure, manage and initiate sync" feature is implemented. With this API, I would be able to implement my own custom schema deployment plan.
Chris Kirby commented
data sync is certainly more important, but this should be high on the list imo. When you have 3 or 4 db's in a sync group, its very difficult to get a change propagated successfully...especially if you are modifying existing tables/columns in a schema.
My current method of doing this is to first disable sync on all of the schema entities that my deployment script will be modifying and let that propagate. Second, i then deploy from my db project to all db's in my sync group. Third, i refresh the schema from the hub in the sync group settings and re-enable sync on all the new and changed entities. Finally save and hope for success... which happens more often than not.
My ideal scenario is to simply deploy my changes to the hub and have it be responsible for automating the propagation and failure rollbacks. It would also automatically sync all new entities, or perhaps provide a setting in the sync group to set those types of defaults.
Thanks for the great work on this service!