【Rails】カラムの追加・編集・削除

共同開発でカラムの削除が必要になったので、追加・変更・削除の方法についてまとめました。


すでに実行済みのマイグレーションファイルは修正や上書きをすることはできないので、変更を加える為に別のマイグレーションファイルを作成し実行する必要があります。

カラムの追加

ターミナルで以下のコマンドを実行しマイグレーションファイルを作成。

$ rails g migration add_カラム名_to_テーブル名  カラム名:型


マイグレーションファイル

class AddTitleToTexts < ActiveRecord::Migration[6.0]
  def change
    add_column :texts, :title, :string
  end
end

rails db:migrate でマイグレーションを実行。

カラムの編集

ターミナルで以下のコマンドを実行しマイグレーションファイルを作成。

$rails g migration rename_変更前のカラム名_column_to_テーブル名


マイグレーションファイルのchangeメソッドの中に以下を記述する。

rename_column :テーブル名, :変更前の名前, :変更後の名前


マイグレーションファイル

class RenameTitleColumnToTexts < ActiveRecord::Migration[6.0]
  def change
    rename_column :texts, :title, :song_title
  end
end

rails db:migrate でマイグレーションを実行。

カラムの削除

ターミナルで以下のコマンドを実行しマイグレーションファイルを作成。

$ rails g migration remove_カラム名_from_テーブル名 カラム名:型


マイグレーションファイル

class RemoveSongTitleFromTexts < ActiveRecord::Migration[6.0]
  def change
    remove_column :texts, :song_title, :string
  end
end

rails db:migrate でマイグレーションを実行。

まとめ

・テーブルの編集をする際には、その都度マイグレーションファイルを作成する。
マイグレーションファイルを作成した後には必ず「rails db:migrate」を実行する。