アラフォーがお金持ちになるためプログラマ目指すブログ

お金も根性も学歴もないアラフォーまきのがエンジニア…じゃない、プログラマになってお金持ち目指すよ!

【Railsメモ】カラムのデータ型変更(booleanへ変更+デフォ値・null制約追加)

【しくじったこと】
本当はbooleanにしたかったけれど、うっかりintegerにしてもーた。




【したいこと】
boolean型にして、更にデフォルト値(default: false)と、null制約( null: false)を追加したい!




【参考】

qiita.com

助かりました!ありがとうございます!




1:マイグレーションファイル作れ!


基本の書き方

$ rails g migration マイグレーションファイル名(データ型変えるよ・テーブル名・カラム名)


実際書いたもの

$ rails g migration change_datatype_comment_public_of_works

意味:worksテーブルの、comment_publicってカラムの、datatype(型)を、changeするよ!




2:マイグレーションファイルへ加筆しろ!


基本の書き方

class ChangeDatatypeCommentPublicOfWorks < ActiveRecord::Migration[5.2]
  def change
    change_column :テーブル名, :カラム名, :新データ型, 必要があればオプション
  end
end


実際書いたもの

class ChangeDatatypeCommentPublicOfWorks < ActiveRecord::Migration[5.2]
  def change
    change_column :works, :comment_public, :boolean, default: false, null: false
  end
end


意味:worksテーブルの、comment_publicカラムを、boolean型にしてね!
ついでにデフォ値はfalseで!(default: false)
あとnullはイヤです!(null: false)



3:テーブルへ反映させろ!

$ rails db:migrate


できたー!やったぜ。