Visual Studio 2013架构比较/发布忽略外键约束定义中的列顺序

时间:2014-06-19 21:58:39

标签: sql sql-server visual-studio-2013 database-schema database-project

Visual Studio架构比较和数据库发布工具未检测到定义外键的列顺序的差异。

假设源数据库/数据库项目中存在以下外键约束:

ALTER TABLE dbo.ReferencingTable
ADD CONSTRAINT FK_1
FOREIGN KEY (Column1, Column2)
REFERENCES dbo.ReferencedTable (Column1, Column2)

假设目标数据库/数据库项目完全相同,除了外键FK_1,列以不同的顺序定义(注意Column2现在指向dbo.ReferencedTable.Column1,而列1指向dbo.ReferencedTable .Column2)像这样:

ALTER TABLE dbo.ReferencingTable
ADD CONSTRAINT FK_1
FOREIGN KEY (Column2, Column1)
REFERENCES dbo.ReferencedTable (Column1, Column2)

注意:假设列类型兼容(例如所有INT)

我希望VS能够检测到这种差异并生成适当的脚本来更新目标模式(即目标外键)。

找不到设置/选项来控制此行为。这是一个错误吗?

1 个答案:

答案 0 :(得分:2)

是的,问题是SQL Server数据工具(SSDT)的错误。微软将在VS2012,VS2013的下一次SSDT刷新和下一个Visual Studio版本的RTM中包含该修复程序。有关更多信息,请参阅链接:

Visual Studio 2013/SQL Server Data Tools: Schema Compare/Publish ignores column order in definition of foreign key constraint

相关问题