我们有几个数据库,比如 DB1、DB2、DB3 等。
它们必须具有相同的代码库,因此我们在 Visual Studio 2012 中使用 DB 项目,并根据项目与 UAT/Prod DB1 之间的比较生成用于部署的 SQL 脚本。然后将此脚本应用于 DB1-DBn。
在这个数据库项目的历史上,我第一次不得不创建一个包含硬编码数据库名称的函数,例如:
inner join DB1.schema.table1 as t1 on
现在,由于与该数据库引用有关的许多错误,无法构建项目或无法更新比较或生成脚本(禁用更新和生成脚本按钮),因为 VS 似乎认为 DB1 不存在。
我尝试添加一个项目级 SQLCMD 变量$(DB)
并将其设置为DB1
默认值并将其用作
inner join [$(DB1)].schema.table1 as t1 on
解决这些错误,但似乎没有任何区别。
编辑:
有人建议向自身添加一个循环项目引用,并将我试图手动添加的相同变量分配给它,但不确定如何实现。