微炭酸ログ

Ruby や Rails を中心に。

【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) ======================

 

・カラム追加はここまでで完了

f:id:tsubasashida:20181006223140p:plain

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を修正する。フォームも忘れずに)

 

無事できました。

 

<参考>

okwave.jp