P学習帳

書いておぼえるブログ

【Active Record】手動でmigrateを部分的にやり直す

状況

development環境でまちがえてテーブルを消してしまった。元に戻したい、など。

解決

消したテーブルをcreate、カラム追加、データ型変更などしたすべてのmigrationファイルのバージョンを、schema_migrationsテーブルから削除する。

そのあとでbundle exec rake db:migrateする。

schema.rb は大丈夫?

上記の方法で手動でmigrationをふたたび実行したあとのschema.rbをみたところ、壊れていなかった。同じテーブルのスキーマが重複して作成されることはないようだ。