我從遊戲創建一個新模型,主隊和客隊。 如果我運行rake db:reset,它運行時沒有錯誤,但前三個字段(home_team,away_team和league)不會在數據庫中生成,其他字段都可以。 這是我的遷移:Rails ActiveRecord遷移成功遷移後不創建一些列
這裏是schema.rb產生
create_table "games", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.integer "round"
t.datetime "date"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
但是,最怪異的是,我有事務的另一個遷移,並能正常工作:
class CreateTransactions < ActiveRecord::Migration[5.0]
def change
create_table :transactions do |t|
t.references :from_user, references: :users, foreign_key: true, index: true
t.references :to_user, references: :users, foreign_key: true, index: true
t.decimal :amount
t.timestamps
end
end
end
您應該已經使用'rake db:migrate' –
可能表'teams'不存在。儘量避免使用'references',而只是使用't.integer'。 –
查看['add_reference'](http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_reference)的文檔,感覺像'references'不在乎關於'references::teams'選項。你能指點我的文件,你正在跟隨? – spickermann