Rails迁移:重命名表上的索引

时间:2013-09-09 14:58:17

标签: ruby-on-rails indexing database-migration

我创建了一个表并为其添加了索引。 在第二次迁移时,我重命名了该表。 该指数会继续运作吗?

1 个答案:

答案 0 :(得分:27)

Rails 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 +

来自the Rails 4 upgrade guide

  

在Rails 4.0中,当重命名列或表时,也会重命名相关索引。如果您有重命名索引的迁移,则不再需要它们。