web-dev-qa-db-ja.com

Rails列をnullにするための移行=> true

私はもともと次のような列を持つテーブルを作成しました

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

要件が変更されたため、電子メールがnullになるようにする必要があります。 :null => trueにする移行を記述する方法

66
Pykih

試してください:

change_column :table_name, :email, :string, :null => true
84
Pratik Khadloya

Active Record 4.0.8およびPostgresql 9.3で上記のソリューションを使用できませんでした

ただし、 change_column_null は完全に機能しました。

change_column_null :users, :email, true

逆には、nullが許可されていない場合に既存のレコードを更新する(ただし、デフォルトを設定しない)Niceオプションがあります。

78
user1309272