1
我創造回報率的項目,並得到一個錯誤,當運行「耙分貝:遷移」:附加指數紅寶石4.1.4遷移
Mysql2::Error: Key column 'item_id' doesn't exist in table
而且我不明白我是什麼做錯了:
這是我的項目遷移
class CreateMerchants < ActiveRecord::Migration
def change
create_table :merchants do |t|
t.string :name, null: false, limit: 100
t.string :address, null: false, limit: 200
t.timestamps
end
end
end
而我購買的遷移:
class CreatePurchases < ActiveRecord::Migration
def change
create_table :purchases do |t|
t.references :purchasers, null: false
t.references :items, null: false
t.references :merchants, null: false
t.decimal :purchase_count, null: false, precision: 17, scale: 2
t.timestamps
end
add_index :purchases, :item_id
add_index :purchases, :merchant_id
add_index :purchases, :purchaser_id
end
end
有人可以告訴我我錯了嗎?
它的工作,但只是爲了教育的目的,在這種情況下,我的add_index應該如何?另外它更適合在同一行中創建或使用add_index? – LucasMelo 2014-09-04 00:57:01
就像你在你的問題中加入的那樣:'add_index:purchases,item_id'問題是對於item的例子,使用't.references:items'它會產生一個名爲'items_id'的字段而不是'item_id' – Aguardientico 2014-09-04 00:59:24