【Rails3】カラム名を変更する

2つ方法があります。
(1)マイグレーションをテーブル追加前に戻しテーブル名を変更の上再度マイグレーションする。
(2)カラム名を変更するマイグレーションを新規に行う。


カラム名間違えたぁぁあ!(´A`#)」ぐらいなら(1)、開発を進めてしまっていたら(2)、が良いでしょう。
(1)の方法だとDBのテーブルをデータごと消されちゃうから要注意です。

以下、手順:
(1)
(1-1)マイグレーションロールバック

$ rake db:rollback

マイグレーションを2回ロールバックするときは:

rake db:rollback STEP=2

(1-2)マイグレーションファイルを修正する。

(1-3)ファイルを再度マイグレート:

$ rake db:migrate
※複数回ロールバックしていたら、同じ回数実行する。


(2)

$ rails g migration changecol_columnname

すると、マイグレーションファイルが作られますので、編集します。

rename_column(:table_name, :column_name, :new_column_name)

のように書きます。
そして最後に

$ rake db:migrate

します。


参考URL:ひげろぐ「マイグレーション関連のRakeタスクの再確認」
http://higelog.brassworks.jp/?p=105