17

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

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 回答