表重命名后的外键约束

5
我将使用FluentMigrator来进行SQL Server 2014数据库的迁移。如果我使用Rename构建器重命名表如下:
Rename.Table("Old Name").To("NewName");

我需要删除并重新创建引用表的旧名称的任何外键吗?还是SQL(或FM)知道更新引用?
1个回答

7

您不必担心外键问题,它将自动指向新的表名。

但是,如果该表在任何存储过程、函数、视图或触发器中使用,则在重命名表后,您必须手动更改脚本以引用新名称,否则在执行上述任何对象时,将会出现无效对象名称错误。

如评论中所述,如果旧表名在应用程序代码中使用,则需要手动更改为新表名。


如果它被用在任何代码中,比如C#应用程序中,你也必须进行编辑。 - GuidoG
1
太好了。谢谢您的确认。我很惊讶这个问题竟然如此难以找到一个确定的答案。 - JNYRanger
你不必担心外键,它会自动引用新表名。这是因为使用FluentMigrator吗?@Pரதீப் - Ayesh Weerasinghe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接