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