私はもともと次のような列を持つテーブルを作成しました
t.string "email", :default => "", :null => false
要件が変更されたため、電子メールがnullになるようにする必要があります。 :null => trueにする移行を記述する方法
試してください:
change_column :table_name, :email, :string, :null => true
Active Record 4.0.8およびPostgresql 9.3で上記のソリューションを使用できませんでした
ただし、 change_column_null は完全に機能しました。
change_column_null :users, :email, true
逆には、nullが許可されていない場合に既存のレコードを更新する(ただし、デフォルトを設定しない)Niceオプションがあります。