我从游戏创建一个新模型,主队和客队。 如果我运行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