Ограничения внешнего ключа после переименования таблицы
Я использую FluentMigrator для миграции баз данных в базе данных SQL Server 2014. Если я использую конструктор Rename для переименования таблицы как таковой:
Rename.Table("Old Name").To("NewName");
Нужно ли мне тогда удалять и переделывать какие-либо внешние ключи, которые ссылаются на старое имя таблицы, или SQL (или FM) знает, чтобы обновить ссылки?
1 ответ
Вам не нужно беспокоиться о внешних ключах, они будут автоматически ссылаться на новое имя таблицы.
Но если таблица используется в какой-либо хранимой процедуре, функции, представлении или триггере, то после переименования таблицы вы должны вручную изменить сценарии, чтобы ссылаться на новое имя, в то время как при выполнении любого из вышеупомянутых объектов вы получите недопустимую ошибку имени объекта
Как уже упоминалось в комментариях, если старое имя таблицы используется в кодах приложения, то снова вам нужно вручную изменить его на новое имя таблицы