如何在Ruby中更新引用列



我想用表中的引用进行迁移。我使用以下内容创建引用:

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

相关内容

  • 没有找到相关文章

最新更新