作成済みのテーブルのカラムに対し、Not Null制約を追加する設定です。
●change_column_null
○構文
change_column_null(table_name, column_name, null, default = nil)
・3番目の引数(null)にfalseを指定すると、カラムにNOT NULL制約を設定。trueを設定するとカラムからNOT NULL制約を除去。
●マイグレーション実行例
ここでは、markersというテーブルのいくつかのカラムにNot Null制約を追加しています。
①マイグレーションファイル作成
rails generate migration change_notnull_to_markers
②マイグレーションファイルにカラム変更を設定
def up change_column_null :markers, :name, false change_column_null :markers, :address, false change_column_null :markers, :lat, false change_column_null :markers, :lng, false end def down change_column_null :markers, :name, true change_column_null :markers, :address, true change_column_null :markers, :lat, true change_column_null :markers, :lng, true end end
③マイグレーション実行
$ rake db:migrate