0

我有一个我想在我的表中引用的迁移。我使用这个创建参考:

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。我迁移错了吗?

4

3 回答 3

3

这应该有效:

def self.up
  change_column :user_events, :user_id, :integer, :null => true
end

请注意,您尝试更改的列称为user_id,而不是user

于 2013-02-13T02:38:20.967 回答
1

这是因为您的迁移创建了一个名为 user_id 的列,引用了 User 模型。

于 2013-02-13T02:39:07.890 回答
0

尝试

def self.up
  change_column :user_events do |c|
    c.references :user, :integer, :null => true  
  end 
end
于 2013-02-13T04:29:14.703 回答