🖥

Rails - マイグレーションで既に作成済みのカラムのNULL制約をつける・外す時は change_column_null

2024/01/02に公開

NULL制約を付ける場合

class ExampleMigration < ActiveRecord::Migration[7.1]
  def change
    change_column_null :examples, :foo_column, true
  end
end

NULL制約を外す場合

class ExampleMigration < ActiveRecord::Migration[7.1]
  def change
    change_column_null :examples, :foo_column, false
  end
end

注意

change_column だと null 制約以外も色々と書かないといけないのでよろしくなさそう

change_column :examples, :foo_column, :string, :null => :false

Railsガイド

Railsのマイグレーションは色々な種類があって何が推奨かのか分からなくなりがちだが、Railsガイドの一覧を参考にするとわかりやすそう

<img width="764" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/be4c3820-3708-4b09-a956-1dd24afa7697">

https://railsguides.jp/active_record_migrations.html

Doc

https://railsdoc.com/page/change_column_null

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2023-11-23

Discussion