我想用表中的引用进行迁移。我使用以下内容创建引用:
create_table :user_events do |t|
t.references :user, :null => false
end
在我的迁移中,我希望能够允许引用为NULL。
def self.up
change_column :user_events, :user, :integer, :null => true
end
然而,我一直得到PGError: ERROR: column "user" of relation "user_events" does not exist
。我迁移错了吗?
这应该有效:
def self.up
change_column :user_events, :user_id, :integer, :null => true
end
请注意,您试图更改的列被称为user_id
,而不是user
这是因为您的迁移创建了一个名为user_id的列,引用了user模型。
尝试
def self.up
change_column :user_events do |c|
c.references :user, :integer, :null => true
end
end