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能够检测到这种差异并生成适当的脚本来更新目标模式(即目标外键)。
找不到设置/选项来控制此行为。这是一个错误吗?
答案 0 :(得分:2)
是的,问题是SQL Server数据工具(SSDT)的错误。微软将在VS2012,VS2013的下一次SSDT刷新和下一个Visual Studio版本的RTM中包含该修复程序。有关更多信息,请参阅链接: