ECのウェブ担当者のメモ

ECサイトを運営管理している、WEB担当プログラマのメモ

スポンサーリンク

RailsのActiverecordeで既についているNot null制約を外す

f:id:jun9632:20170622101223p:plain

ActiverecordeでカラムにNotNull制約をつけてしまったけど、 やっぱり、NotNull制約を外したいなんて時ありますよね。

そんな時は、

change_column_null

マイグレーションファイルを下記の用になります。

class ChangeNotNulToUser < ActiveRecord::Migration[5.0]
  def up
    # Not Null制約を外す(NULLがOK)
    change_column_null :users, :name, true
  end

  def down
    # Not Null制約を付ける(NULLがNG)
    change_column_null :users, :name, false
  end
end
change_column_null [テーブル名], [カラム名], [true|false]

要件が変わってしまここともあるので、仕方ないですが。 そもそも、こういう変更はなるべくしないようにしたいですね。 ちゃんと設計しなさいですね。

 関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

改訂2版 パーフェクトRuby

改訂2版 パーフェクトRuby

参考サイト

change_column_null (ActiveRecord::ConnectionAdapters::SchemaStatements) - APIdock