db:migrate

db:migrateの使い方のまとめ。

使い方

  • 普通の使い方
$ rake db:migrate
  • やり直したい場合
$ rake db:migrate VERSION=0 ← すべてDROP
$ rake db:migrate      ← 再作成
  • 環境を指定する
$ rake db:migrate RAILS_ENV=production
  • バージョンの整合性がとれなくなったとき

テーブルを手で削除したり、create_tableにエラーがあって、MySQLがエラーを返したりしたあと、ちゃんとエラーも修正したはずなのに「rake db:migrate」とやってもテーブルが作成されないことがあります。
こういったときは「schema_info」テーブルの versionを確認しましょう。ここの値が例えば1になっていると、「001_create_items.rb」をいくら実行してもテーブルは作成されません。「schema_info」テーブルごと消してしまうか、updateでバージョンを書き換えればOKです。

参考

こちら(→2006-10-24 - こせきの技術日記 - 技術日記)の初期手順のスクリプトは参考になります。