Deployment to multiple client sites
neil.reynolds
Posts: 4 New member
HI,
I am evaluating ReadyRoll for our company and am having problems working out the best way to achieve what we require.
Scenario:
We have an on-prem solution where we need the clients to be able to update their own databases, probably using the embedded resource method of deploying the script.
If we assume that we are starting with an existing version of the database that all clients have. (These might not be identical, but the main schema will be as expected)
Start point v1.0 - Point at which we wish to be the baseline for future ReadyRoll deployments.
v1.1 - First release with ready roll.
How do we ship just the deltas between v1.0 and v1.1?
In my testing, I have found that it always requires that I run the full initial migration script the first time. Is this really necessary? As the DB's might not be identical it could cause issues.
Hope someone can help
Regards
Neil
I am evaluating ReadyRoll for our company and am having problems working out the best way to achieve what we require.
Scenario:
We have an on-prem solution where we need the clients to be able to update their own databases, probably using the embedded resource method of deploying the script.
If we assume that we are starting with an existing version of the database that all clients have. (These might not be identical, but the main schema will be as expected)
Start point v1.0 - Point at which we wish to be the baseline for future ReadyRoll deployments.
v1.1 - First release with ready roll.
How do we ship just the deltas between v1.0 and v1.1?
In my testing, I have found that it always requires that I run the full initial migration script the first time. Is this really necessary? As the DB's might not be identical it could cause issues.
Hope someone can help
Regards
Neil
Comments
Thanks for your interest in ReadyRoll!
Regarding the embedded resource-style of deployment: you are quite correct in that the "packages" that ReadyRoll uses to deploy the database contain all migrations from the project (including the 1.0 scripts). However if you set a baseline within your project using the semver method, this will prevent any 1.0 scripts from ever being executed within the customer's database. You can read more about setting a baseline in the ReadyRoll docs:
Working with existing databases - Preparing the database project for your first deployment
The one exception to this is if the customer database does not exist yet. In which case, ReadyRoll will create the database and run all migrations, including the 1.0 scripts, regardless of whether a baseline has been set in the project
I hope this makes sense. Please let me know if you have any questions
Product Manager
Redgate Software
Thanks for your reply. That does make sense.
I will try what you suggest.
Cheers
Neil
Product Manager
Redgate Software