1

我正在尝试为 ReadyRoll 实施 CI/CD。对于发布部分,我使用的是 Azure SQL Server,因此我在那里指定了服务器名称、数据库名称和凭据。但是,我不确定在创建影子数据库时我为构建组件提供了哪些详细信息。我以为它们是一样的,但后来我收到一条错误消息,说它试图在我的 azure sql 服务器中创建一个数据库,但它失败了,因为那里已经有一个同名的数据库。这使我认为我提供了错误的值,但我不确定我要提供什么。

4

1 回答 1

1

ReadyRoll 维护两个数据库:

•目标数据库

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

•影子数据库

这是从项目脚本(001.sql、002.sql、003.sql 等)自动创建的数据库模式的精确副本。每次您使用 ReadyRoll DbSync 工具查看未决更改或导入时都会创建它。SQL Compare 引擎(为 ReadyRoll 提供支持)使用影子数据库作为生成新迁移脚本的基础。随时删除数据库是安全的。

更多信息:目标和影子数据库

您可以为影子数据库指定以下参数:ShadowServer、ShadowUserName、ShadowPassword、ShadowDatabase。(您也可以只指定目标数据库)

更多信息:影子数据库

Visual Studio Build 任务的 MSBuild Arguments 示例:

/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
于 2017-07-28T02:34:08.093 回答