回る男の備忘録

どこかでプログラム書いてシャニマスして野球見てTwitterやってる人間の駄文

【Rails】そろそろカラム追加のお時間です

シャニマス?そんなもの…うぅ…うぅ…

さて!

テーブルにカラム追加したいなぁ…どうやるんだろ…

やり方

以下のようなコマンドを叩きましょう。

rails g migration AddHogeToFuga name:string

rails g migrationマイグレーションファイルを作成します。
続いて、AddHogeToFugaは別になんだっていいです。クラス名です。
最後にname:stringと指定してます。
これは、nameというカラムをstringで追加しますよーって意味です。ざっくり言えば。
通常カラム追加はALTER TABLEを行いますが、非常に手軽に実行することができます。

上記コマンドを実行することで作成日付_add_hoge_to_fuga.rbといったファイルが作成されます。
中身を見ましょう

class AddHogeToFuga < ActiveRecord::Migration[5.2]
  def change
    add_column :fugas, :name, :string
  end
end

changeメソッド内に処理がありますね。
add_columnで新たにカラムを追加しますよーと宣言。
続いて:fugasはFugaモデル(fugasテーブル)に対して変更かけますよーと宣言。
:nameは追加カラム。今回はnameというカラムを指定。
:stringはカラムのデータ型の指定です。今回はstringを指定と宣言。

準備が終わったらマイグレーションです。

rails g db:migrate

正常にカラムが追加されたらOKです。