2013-02-13 51 views
0

我有一个我想在表中引用的迁移。我使用此创建参考:如何更新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。我迁移错了吗?

回答

2

这应该工作:

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

注意,你试图改变列被称为user_id,不user

+0

谢谢,它的工作! – MichaelScaria 2013-02-13 02:50:22

1

这是因为你的迁移创建一个名为列user_ID的,它引用了用户模型。

0

尝试

def self.up 
    change_column :user_events do |c| 
    c.references :user, :integer, :null => true 
    end 
end