Ограничения внешнего ключа после переименования таблицы

Я использую FluentMigrator для миграции баз данных в базе данных SQL Server 2014. Если я использую конструктор Rename для переименования таблицы как таковой:

Rename.Table("Old Name").To("NewName");

Нужно ли мне тогда удалять и переделывать какие-либо внешние ключи, которые ссылаются на старое имя таблицы, или SQL (или FM) знает, чтобы обновить ссылки?

1 ответ

Решение

Вам не нужно беспокоиться о внешних ключах, они будут автоматически ссылаться на новое имя таблицы.

Но если таблица используется в какой-либо хранимой процедуре, функции, представлении или триггере, то после переименования таблицы вы должны вручную изменить сценарии, чтобы ссылаться на новое имя, в то время как при выполнении любого из вышеупомянутых объектов вы получите недопустимую ошибку имени объекта

Как уже упоминалось в комментариях, если старое имя таблицы используется в кодах приложения, то снова вам нужно вручную изменить его на новое имя таблицы

Другие вопросы по тегам