在Schema中,我有以下内容:
add_index "key_performance_indicators", ["organization_id"], :name => "index_key_performance_inds_on_organization_id"我想写一个remove_index迁移来删除这个索引,但是我不知道我应该使用什么索引名称?是key_performance_inds还是performance_inds_on_organization_id?还是别的什么?
如果我使用可视化管理工具,它会显示以下内容:

发布于 2013-02-14 04:28:10
您将:name选项传递给了add_index,因此索引的名称就是您设置的名称。因此,在这种情况下,删除它是index_key_performance_inds_on_organization_id:
remove_index 'key_performance_indicators', :name => 'index_key_performance_inds_on_organization_id'
发布于 2013-02-14 04:44:57
Tomdarkness已经提供了正确的答案,但是您可能希望完全省略:name部分,除非需要符合特定的数据库模式。默认情况下,add_index将为您选择一个合理的索引名称,而remove_index将使用相同的默认名称。
例如:
add_index :key_performance_indicators, :organization_id上面的行将添加名为index_key_performance_indicators_on_organization_id的索引,下面的代码将删除它:
remove_index :key_performance_indicators, :organization_idhttps://stackoverflow.com/questions/14862400
复制相似问题