3 ms·
Sql Server with Management Studio can do something like it with the dacpak format. It calculates differences and what needs to be done.
by hvidgaard 9y ago
Sql Server with Management Studio can do something like it with the dacpak format. It calculates differences and what needs to be done.
- tyfon 9y agoWe have a project at work using this dacpak stuff and tbh it's a nightmare to work with since the dacpaks themselves have to manually generated and distributed. It also appears to make the projects (in visual studio) unbelievably slow.
- piaste 9y agoThe way I did was adding a MSBuild script that re-generates the dacpacs for each supported MSSQL version when you compile using a special configuration in Visual Studio (so the dropdown is Debug / Release / RebuildDacpacs). Then the dacpacs get shipped with the application, along with a zipped SqlPackage.exe (and accompanying libraries) to apply them. It's been a lot of work and we've had to handle a lot of corner cases through pre-deployment scripts and SqlPackage CLI options, but I haven't seen a 'why does this customer have an [Address] column that's the wrong length and set to nullable???' or 'this report is super slow -> index is missing' ticket since.
- hvidgaard 9y agoI'm with you that it makes the solution slower, but you can just selectively not load it, or use the new light loading feature. You most certainly do not have to make them manually, that can be delegated to a build server. You can also use the dacpac to automatically run integration test and it can run some rudimentary upgrade tests vs previous versions of the dacpac.