【Rails】テーブルへのカラム追加(マイグレーションファイル作成&実行)
テーブルへのカラム追加はよくやる(僕がちゃんと設計してないから?)ので、手順をまとめてみる。
・マイグレーションファイルの作成
$ rails g migration AddDisp_dateToInfos disp_date:date
$ rails g migration AddDisp_dateToInfos disp_date:date
Running via Spring preloader in process 720
invoke active_record
create db/migrate/20181006132003_add_disp_date_to_infos.rb
作成されたファイル↓
db/migrate/20181006132003_add_disp_date_to_infos.rb
class AddDispDateToInfos < ActiveRecord::Migration[5.2]
def change
add_column :infos, :disp_date, :date
end
end
・マイグレーションファイルの実行
$ rails db:migrate
$ rails db:migrate
== 20181006132003 AddDispDateToInfos: migrating ===============================
-- add_column(:infos, :disp_date, :date)
-> 0.1035s
== 20181006132003 AddDispDateToInfos: migrated (0.1036s) ======================
・カラム追加はここまでで完了
(mac初心者なのでスニッピングツール的なものをググったらちゃんとデフォルトでありました。撮ってそのままドラッグできて楽チンですね)
・コントローラ修正
app/controllers/infos_controller.rb
# Never trust parameters from the scary internet, only allow the white list through.
def info_params
params.require(:info).permit(:article, :disp_date)
end
・ビュー修正
(追加したカラムの値を出したい場所のhtml.erbを修正する。フォームも忘れずに)
無事できました。
<参考>