ねこものがたり

いちにちいっぽ

railsでロールバックせずにマイグレーションファイルを消してしまったときの対処法

railsで作業してるときに、「ロールバックをせずにマイグレーションファイルを消してあたふたする」というのをときどきやってしまうので、やってしまったときの対処法。

1. DBを直接操作する

というのがあると聞いている。まだわかってない。

2. 仮ファイルを用意する

  1. rails db:migrate:status

  2. 無い(No such file)と言われるファイルのtimestampでファイルを作成

  3. rails db:rollback (ファイル指定)

  4. ファイル削除

git reset とかでファイルを削除する前のコミットに戻れるならもちろんそれがいい