【Active Record】手動でmigrateを部分的にやり直す
状況
development環境でまちがえてテーブルを消してしまった。元に戻したい、など。
解決
消したテーブルをcreate、カラム追加、データ型変更などしたすべてのmigrationファイルのバージョンを、schema_migrationsテーブルから削除する。
そのあとでbundle exec rake db:migrate
する。
schema.rb は大丈夫?
上記の方法で手動でmigrationをふたたび実行したあとのschema.rbをみたところ、壊れていなかった。同じテーブルのスキーマが重複して作成されることはないようだ。