Обязательно ли отдельно удалять внешние ключи / индексы, если вы планируете удалить таблицу
Обязательно ли отдельно удалять внешние ключи / индексы, если вы планируете удалить таблицу. Поскольку удаление таблицы, кажется, удаляет внешние ключи / индексы.
Я использую этот гем http://github.com/matthuhiggins/foreigner для удаления создания / удаления внешних ключей / индексов. add_foreign_key
кажется, чтобы создать foreign_key и индекс. Означает ли это, что я должен удалить индексный / внешний ключ отдельно в self.down ИЛИ я могу просто удалить таблицу?
2 ответа
Нет. Он просто отбрасывает все и работает - включая FK, которые ссылаются на другие таблицы.
Конечно, произойдет сбой, если есть другие таблицы с FK, ссылающиеся на эту таблицу.
Но это другое дело.
Когда вы опускаете стол, все идет. Таким образом, таблица и все зависимые объекты (индексы, ограничения, триггеры) удаляются за один раз.
Обратите внимание, что удаление не удастся, если другие объекты, которые зависят от этой таблицы (такие как связанные со схемой представления, сторона "1" в FK и т. Д.)