sqlite3的迁移中断但在mysql2中运行

时间:2013-09-06 15:57:37

标签: mysql ruby-on-rails sqlite

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

由于

1 个答案:

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