I've been looking at Packager and Compare, and wanted to ask for some advice on using them (or other tools) to make our database deployment easier.
Our application is built as a core application, but then has a DB instance per client. Each client has their own overridden bits of the application, from a code and database perspective, as well as their own distinct functionality.
When we deploy a new version of the product, we have changes to deploy from 2 places.
The first place is the core product. These are stored procedures, schema, and data (less data generally, mostly proc changes, and a moderate amount of schema).
These have to be deployed to the client databases first.
Then we have the changes to client specific schema, procs and data. These are deployed afterwards. As the client may also have overridden versions of core stored procs (yes, there is some business logic in some of our procs
), then those have to deployed to the client database regardless of whether there were any changes, as the core product deployment would have overwritten them.
Our issues arise as we try and promote these product releases through our environments, and I wondered if anyone had any suggestions on how we would use the RedGate suite of tools to make this easier, reliable, and eventually automated.