Rails4 列名の変更

データベースにテーブルを作ったが、列名を変更したくなった。
列名の変更方法を調べたのでメモ。

マイグレーションファイルを作成
コマンドプロンプトで下記のようなコマンドを実行する。

rails g migration RenameColumnToTargetTable

(例)
コマンドプロンプトで下記のコマンドを実行

rails g migration RenameColumnToUsers

※ここではusersテーブルの列名を変更する。

すると、下記のようなマイグレーションファイルが作成される。
※数字の部分は環境によって異なる
db/migrate/20140108005106_rename_column_to_users.rb


マイグレーションファイルを編集
①で作成したマイグレーションファイルを開き、下記のように編集する。

class RenameColumnToTargetTable < ActiveRecord::Migration
  def change
    rename_column :target_table, :old_column, :new_column
  end
end

(例)
db/migrate/20140108005106_rename_column_to_users.rbを編集する。

class RenameColumnToUsers < ActiveRecord::Migration
  def change
    rename_column :users, :plan, :plan_type
  end
end

※ここではusersテーブルの列planをplan_typeに変更する。


③最後にマイグレーションを実行
コマンドプロンプトで下記のコマンドを実行

rake db:migrate


参考:
Whoocus » Blog Archive » rails rake db:migrate でカラム名変更