我正在尝试为ReadyRoll实现CI/CD。对于发布部分,我使用的是Azure SQL Server,因此我在其中指定了服务器名、db名称和cred。但是,在创建影子数据库时,我不确定为构建组件提供了哪些细节。我原以为它们是一样的,但后来我收到一个错误,说它试图在我的azure sql server中创建一个db,但是它失败了,因为那里已经有一个带有这个名称的db。这使我认为我提供了错误的价值,但我不知道我要提供什么。
发布于 2017-07-28 02:34:08
ReadyRoll维护两个数据库: 目标数据库 这是用于调试和编辑模式对象(例如使用SSMS)的开发数据库或沙箱。在部署时,ReadyRoll对此数据库执行迁移脚本以升级它。不应该将目标数据库从Server实例中删除。 ·影子数据库 这是从项目脚本(001.sql、002.sql、003.sql等)自动创建的数据库模式的精确副本。每次使用ReadyRoll DbSync工具查看挂起的更改或导入时都会创建该工具。script引擎(为ReadyRoll提供动力)使用影子数据库作为生成新迁移脚本的基础。随时删除数据库是安全的。
更多信息:目标和影子数据库
您可以为影子数据库指定这些参数: ShadowServer、ShadowUserName、ShadowPassword、ShadowDatabase。(您也可以只指定目标数据库)
更多信息:影子数据库
Visual构建任务的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=Truehttps://stackoverflow.com/questions/45353694
复制相似问题