Миграция Rails: индексы в переименованной таблице

Я создал таблицу и добавил к ней индекс. Во второй миграции я переименовал таблицу. Будет ли индекс продолжать работать?

Ответ 1

Рельсы 3

Нет, вам нужно будет позаботиться об индексах самостоятельно, так как индекс основан на имени таблицы. Например:

remove_index :old_table_name, :column_name
rename_table :old_table_name, :new_table_name
add_index :new_table_name, :column_name

Rails 4 +

Из руководство по обновлению Rails 4:

В Rails 4.0 при переименовании столбца или таблицы соответствующие индексы также переименовываются. Если у вас есть миграции, которые переименовывают индексы, они больше не нужны.