我可以轻松地在 Rails 中创建一个脚手架或模型,其字段是另一个模型的引用(外键):
rails g model Cat owner:references
rails g scaffold Cat owner:references
但我似乎无法在迁移中添加列:
rails g migration AddOwnerToCats owner:references
上面所做的是生成一个像这样的迁移文件:
class AddOwnerToCats < ActiveRecord::Migration
def change
add_column :cats, :owner, :references
end
end
当我尝试使用它运行它时rake db:migrate
,我得到了这个:
SQLite3::SQLException: near "references": syntax error: ALTER TABLE "cats" ADD "owner" references
那么有没有办法添加一个引用另一个模型的列?还是我只需要这样做:
rails g migration AddOwnerToCats owner_id:integer
然后进入迁移并为owner_id
?