I have an app which uses SQL Express and my customers are mainly people who don’t have a dedicated IT staff, so wouldn’t know how to run scripts. So the deployment and upgrades has to be easy. The deployment part is all figured out. What I need to know is when version 2 of the product comes out and its time to update the database structure or data, is there a better way than the traditional method of scripts. Often times the problem with scripting methods is, you have a development database being used by a bunch of developers and there is not track of who made what changes, so as to be able to incorporate them into the deployment database.
Share
I would recommend using SQLCompare. It allows you to make all of your changes without having to worry about scripts and then you can quickly synchronize the Dev/Stage environment with the Production Environment or create a script to do so that can be run on a remote machine.
If you don’t want to shell out the $$$, keep all of your changes in source control just like your code. You can either keep each change script individually, or let the trunk of your scc system be the final version of the DB and run through the versions of each DB object (I prefer the change script method, but have seen the other work).