【Rails3】カラム名を変更する
2つ方法があります。
(1)マイグレーションをテーブル追加前に戻しテーブル名を変更の上再度マイグレーションする。
(2)カラム名を変更するマイグレーションを新規に行う。
「カラム名間違えたぁぁあ!(´A`#)」ぐらいなら(1)、開発を進めてしまっていたら(2)、が良いでしょう。
(1)の方法だとDBのテーブルをデータごと消されちゃうから要注意です。
以下、手順:
(1)
(1-1)マイグレーションをロールバック:
$ rake db:rollback
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