在两个不同的迁移中,我将索引添加到两个具有相同名称的不同表中。这种迁移适用于mysql但在slqite中断,表示索引名称已存在。在从任何迁移中删除索引名称时,它都可以正常工作。有人可以看看,看看迁移有什么问题。我错过了什么吗?
def up
add_index :categories, :category_mask, :name=> 'categories_pk'
end
def up
add_index :category_mapping_by_ids, [:data_src_id, :category_id], :name=> 'categories_pk'
end
由于
答案 0 :(得分:0)
这是因为您使用相同的索引名称(不应该在任何DBMS中使用,不确定它在MySQL中工作的原因),即categories_pk
。
尝试:
def up
add_index :categories, :category_mask, :name=> 'categories_pk'
end
def up
add_index :category_mapping_by_ids, [:data_src_id, :category_id], :name=> 'categories_mapping_pk'
end