Обязательно ли отдельно удалять внешние ключи / индексы, если вы планируете удалить таблицу - PullRequest
0 голосов
/ 11 ноября 2011

Обязательно ли отдельно удалять внешние ключи / индексы, если вы планируете удалить таблицу.Поскольку удаление таблицы, по-видимому, приводит к удалению внешних ключей / индексов.

Я использую этот гем http://github.com/matthuhiggins/foreigner для удаления создания / удаления внешних ключей / индексов.add_foreign_key, кажется, создает foreign_key и индекс.Означает ли это, что я должен удалить индексный / внешний ключ отдельно в self.down ИЛИ я могу просто удалить таблицу?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2011

Нет.Он просто отбрасывает все и работает, в том числе FK, который ссылается на другие таблицы.

Он потерпит неудачу, если есть другие таблицы с FK, ссылающиеся на эту таблицу, конечно.
Но это другой вопрос.

0 голосов
/ 11 ноября 2011

Когда вы опускаете стол, все идет.Таким образом, таблица и все зависимые объекты (индексы, ограничения, триггеры) удаляются за один раз.

Обратите внимание, что удаление не удастся, если другие объекты, которые зависят от этой таблицы (такие как связанные с схемой представления,Сторона «1» в ФК и т. Д.)

...