我最初创建了一个列为
的表t.string "email", :default => "", :null => false
要求已更改,现在我需要允许电子邮件为空。如何编写要进行的迁移:null =>真
答案 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时,反向有一个很好的选项来更新现有记录(但不设置默认值)。