【Ruby on Rails】途中でカラムを追加・削除する


概要

アプリ作成途中に「追加でこの情報もテーブルに保存したい!」「このカラムはいらん!」と思う時は多々ありますよね、、、
そんな時のために「カラムを追加・削除する方法」を記載しておきます!!
(環境構築とモデルの作成はできている状態です)

環境

ruby 2.6.5
Rails 6.0.3.5

【カラムを追加する】

追加するカラム

Usersテーブルnameカラムを追加する

①追加するカラムのマイグレーションを生成

% rails g migration Add[カラム名]To[テーブル名][カラム名:型]  (見本)
% rails g migration AddNameToUsers name:string           (実行するコマンド)

以下のマイグレーションファイルが自動で作成されます。

db>migrate>〇〇〇〇〇〇_add_name_to_users.b
class AddNameToUsers < ActiveRecord::Migration
  def change
    add_column :users, :name, :string
  end
end

②追加したマイグレーションファイルをテーブルに反映

% rails db:migrate

これでテーブルに新しくカラムが追加されます。

【カラムを削除する】

削除するカラム

Usersテーブルnameカラムを削除する

①削除するカラムのマイグレーションを生成

% rails g migration Remove[カラム名]To[テーブル名][カラム名:型]  (見本)
% rails g migration RemoveNameToUsers name:string           (実行するコマンド)

以下のマイグレーションファイルが自動で作成されます。

db>migrate>〇〇〇〇〇〇_remove_name_to_users.b
class RemoveNameToUsers < ActiveRecord::Migration
  def change
    remove_column :users, :name, :string
  end
end

②作成されたマイグレーションファイルをテーブルに反映

% rails db:migrate

これでUsersテーブルのnameカラムが削除されます。

参考リンク

Railsのデータベースでカラムを追加する方法 -Qiita

Ruby on Rails カラムの追加と削除 -Qiita