在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
?或者是其他东西?
如果我使用可视化管理工具,这就是它所显示的内容:
答案 0 :(得分:4)
您已将:name
选项传递给add_index
,因此索引的名称就是您设置的名称。在这种情况下,index_key_performance_inds_on_organization_id
因此将其删除:
remove_index 'key_performance_indicators', :name => 'index_key_performance_inds_on_organization_id'
答案 1 :(得分:2)
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_id