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 - こせきの技術日記 - 技術日記)の初期手順のスクリプトは参考になります。