ReadyRoll server details for VSTS Build phase

127 views Asked by At

I am trying to implement the CI/CD for ReadyRoll. For the release portion I am using an Azure SQL Server so I have specified the server name, db name and cred there. However, I am not sure what details do I give for the build component when creating the shadow db. I thought they were the same but then I get an error saying that its trying to create a db in my azure sql server and it fails because there's already a db with that name there. This led me to think I am supplying the wrong values but I am not sure what is that I am to supply.

1

There are 1 answers

0
starian chen-MSFT On BEST ANSWER

ReadyRoll maintains two databases:

•Target database

This is the development database or sandbox that you use for debugging and to edit schema objects (e.g. using SSMS). When you deploy, ReadyRoll executes your migration scripts against this database to upgrade it. You shouldn't drop the target database from your SQL Server instance.

•Shadow database

This is an exact copy of your database schema created automatically from your project scripts (001.sql, 002.sql, 003.sql, etc). It's created every time you use the ReadyRoll DbSync tool to view pending changes or import. The shadow database is used by the SQL Compare engine (that powers ReadyRoll) as the base from which to generate a new migration script. It is safe to drop the database at any time.

More information: Target and shadow databases

You can specify these arguments for shadow database: ShadowServer, ShadowUserName, ShadowPassword, ShadowDatabase. (You also can just specify target database)

More information: Shadow database

The sample for MSBuild Arguments of Visual Studio Build task:

/p:TargetServer=XXX.database.windows.net  /p:TargetUsername=XXX /p:TargetPassword=XXX /p:ShadowServer=XXX /p:TargetDatabase=XXX /p:GenerateSqlPackage=True /p:SkipDriftAnalysis=True /p:ShadowUserName=XXX /p:ShadowPassword=XXX /p:DBDeployOnBuild=True