17

テーブルを作成し、それにインデックスを追加しました。2 回目の移行で、テーブルの名前を変更しました。インデックスは機能し続けますか?

4

1 に答える 1

34

レール3

いいえ、インデックスはテーブル名に基づいているため、自分でインデックスを処理する必要があります。例えば:

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

レール 4+

Rails 4アップグレードガイドから:

Rails 4.0 では、列またはテーブルの名前が変更されると、関連するインデックスの名前も変更されます。インデックスの名前を変更する移行がある場合、それらは不要になります。

于 2013-09-09T15:14:04.037 に答える