rake db:migrate给出了错误索引名称已经存在,但我无法找到重复索引名称的其他位置

时间:2016-04-30 04:58:32

标签: mysql ruby-on-rails ruby ruby-on-rails-4

在开发中read()工作正常,生成.sqlite3文件。在生产中,rake db:migrate将表添加到实际的MySQL数据库中,我得到了错误。

rake db:migrate

很明显,索引名-- create_table(:category_item_values) rake aborted! StandardError: An error has occurred, all later migrations canceled: Index name 'index_category_item_values_on_category_item_key_id' on table 'category_item_values' already exists/site/db/migrate/20151218040123_create_category_i tem_values.rb:3:in `change' Tasks: TOP => db:migrate 已经存在,但我不知道要解决什么问题以及在这种情况下命名约定如何工作。

这里是20151218040123_create_category_item_values.rb

index_category_item_values_on_category_item_key_id

20160430043022_add_foreign_key_cat_keys_to_category_item_values.rb

class CreateCategoryItemValues < ActiveRecord::Migration
  def change
    create_table :category_item_values do |t|
      t.string :key
      t.integer :key_type
      t.integer :guide_id
      t.integer :category_id
      t.text :value
      t.belongs_to :category_item_key, index: true
      t.belongs_to :category_item, index: true

      t.timestamps null: false
    end
    add_foreign_key :category_item_values, :category_items
    add_index :category_item_values, :guide_id
    add_index :category_item_values, :category_id
    add_index :category_item_values, :key_type
    add_index :category_item_values, :key
  end
end

加20160111231051_create_category_item_keys.rb只是复制就在那里

class AddForeignKeyCatKeysToCategoryItemValues < ActiveRecord::Migration
  def change
    add_foreign_key :category_item_values, :category_item_keys
  end
end

这里是模式文件中的class CreateCategoryItemKeys < ActiveRecord::Migration def change create_table :category_item_keys do |t| t.string :name t.integer :key_type t.integer :submitted_by t.integer :approved_by t.integer :guide_id t.belongs_to :category, index: true t.timestamps null: false end add_foreign_key :category_item_keys, :categories add_index :category_item_keys, :name, unique: true add_index :category_item_keys, :key_type end end

category_item_values

发生冲突导致此错误?

0 个答案:

没有答案