0

在两个不同的迁移中,我将索引添加到两个具有相同名称的不同表中。此迁移适用于 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

谢谢

4

1 回答 1

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
于 2013-09-06T16:02:53.113 回答