如何使 Visual Studio 架构比较忽略数据库引用
Posted
技术标签:
【中文标题】如何使 Visual Studio 架构比较忽略数据库引用【英文标题】:How to make Visual studio schema comparison igonore database references 【发布时间】:2012-06-05 12:28:54 【问题描述】:我们使用的是 Visual Studio 2010,我们的数据库脚本位于数据库项目中。 我们有两个数据库 DB1 和 DB2。 DB1 使用 DB2。 我为每个数据库创建了一个数据库项目,并将 DB2 的 .dbschema 文件作为“数据库参考”添加到 DB1 的项目中。 所以我在 DB1 中的视图代码就像
CREATE VIEW dbo.myView
AS
SELECT * FROM [$(DB2Ref)].dbo.SomeTable
GO
直到这里一切都很好。 但是当我在实际 DB1 数据库和 DB1 数据库项目之间进行模式比较时,比较发现项目中的“myView”和数据库中的“myView”之间存在差异。
有没有办法让架构比较忽略这些引用的数据库变量?
【问题讨论】:
【参考方案1】:您可以在项目设置中将 SQL CMD 变量的默认值设置为实际的数据库名称。然后,Visual Studio 中的模式比较将知道没有变化。 不幸的是,如果您与具有不同名称的不同数据库进行比较,则每次都需要将此默认值更改为您要比较的数据库。
Setting SQL Cmd variable Default
SQL Schema Compare of View - 顶部没有定义默认值,因此对象被标记为更改,底部定义了变量,因此标记为无操作
抱歉,没有足够的代表来添加图片或超过 3 个链接
【讨论】:
以上是关于如何使 Visual Studio 架构比较忽略数据库引用的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2010 架构比较 - 更新脚本生成