2017-07-27 81 views
1

我正在尝试实现ReadyRoll的CI/CD。对于发布部分,我使用的是Azure SQL Server,因此我在那里指定了服务器名称,db名称和cred。但是,我不确定在创建影子数据库时我为构建组件提供了哪些细节。我认为他们是相同的,但后来我得到一个错误,说它试图在我的天蓝色sql服务器中创建一个数据库,它失败了,因为那里已经有一个名称为db的数据库。这导致我认为我提供了错误的价值,但我不确定我要提供什么。VSTS的ReadyRoll服务器详细信息构建阶段

+0

尝试着问你对展鹏论坛的问题这个产品。 https://forum.red-gate.com/categories/readyroll –

回答

1

ReadyRoll维护两个数据库:

•目标数据库

这是您用于 调试和编辑模式对象(例如使用SSMS)的开发数据库或沙箱。当您部署 时,ReadyRoll会根据此 数据库执行您的迁移脚本以对其进行升级。您不应该从您的SQL Server实例中删除目标数据库 。

•阴影数据库

这是从项目的脚本(001.sql,002.sql,003.sql等)自动 创建数据库模式的精确副本。每当您使用ReadyRoll DbSync工具查看待处理的 更改或导入时,都会创建 。影子数据库由SQL Compare 引擎(支持ReadyRoll)用作生成 新迁移脚本的基础。随时丢弃数据库是安全的。

的更多信息:Target and shadow databases

您可以指定这些参数的影子数据库:ShadowServer,ShadowUserName,ShadowPassword,ShadowDatabase。 (你也可以指定目标数据库)

的更多信息:Shadow database

为Visual Studio生成任务的MSBuild参数样本:

/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