Manage Migrations across Multiple Databases

jcondreyjcondrey Posts: 2
edited April 20, 2016 5:26AM in ReadyRoll
Hello,

I am currently evaluating ReadyRoll for my company. After looking over the documentation and doing some searching I have not been able to find what I need.

We are currently using the Entity Frameworks DbMigrator class to change our connection strings and run migration updates programatically.
This allows us to apply migration changes across multiple databases in our SAAS environment.

Is it possible to change the connection string of the ReadyRoll project and run the deploy project programatically?

Thank You!

Comments

  • Hi John,

    Thanks for getting in touch, and apologies for the delay in replying.

    If I may clarify, when you say that you would like to execute the deployment programmatically, do you mean via the application startup process, e.g. in C# code?

    In order to deploy a ReadyRoll project, we recommend using a SQLCMD package (.sql) file. This file can be produced once at build time and subsequently deployed to all of your tenant databases (provided they are all maintained from the same branch in source control). An accompanying PowerShell script is also generated which provides a simple way to execute the SQLCMD package file. This method is described in detail here:
    https://documentation.red-gate.com/disp ... Deployment

    You just need to find a way to include the above two files in your application and call the PowerShell script from your code. The package file will automatically determine which migrations need to be run as it deploys. Unfortunately, this approach does not allow a full connection string to be supplied; the DatabaseServer and DatabaseName must be supplied to the PowerShell script as discrete variables.

    I hope this helps. If you have any further questions, please do not hesitate to ask.

    Best Regards,

    Daniel
    Daniel Nolan
    Product Manager
    Redgate Software
Sign In or Register to comment.