Rails迁移使列成为null =>真正

时间:2012-06-05 16:04:16

标签: ruby-on-rails-3 migration

我最初创建了一个列为

的表
t.string   "email",  :default => "", :null => false

要求已更改,现在我需要允许电子邮件为空。如何编写要进行的迁移:null =>真

2 个答案:

答案 0 :(得分:82)

尝试:

change_column :table_name, :email, :string, :null => true

答案 1 :(得分:75)

我无法使用上述解决方案来使用Active Record 4.0.8和Postgresql 9.3

然而change_column_null完美无缺。

change_column_null :users, :email, true

当不允许null时,反向有一个很好的选项来更新现有记录(但不设置默认值)。