今回は、複数あるマイグレーションファイルを一括でロールバックする方法を紹介したいと思います。
よし
「何個か前のマイグレーションファイルまで遡りたい!」って時に役立つね。
マイグレーションファイルを一括でロールバックする方法
例題としてまずは以下のように、4つのマイグレーションファイルを作成しました。
Status Migration ID Migration Name
--------------------------------------------------
up 20191111011132 Devise create users
up 20191111045816 Create groups
up 20191111045824 Create group users
up 20191112003700 Create messages
よし
マイグレーションファイルの状態は「rails db:migrate:status」で確認することができます。
では早速やっていきましょう。
行うのは、STEP数を指定してロールバックする方法です。
$ rails db:rollback STEP=ステップ数
では実際に、3つのマイグレーションファイルを一括でロールバックしてみましょう。
以下のコマンドを打ち込みます。
$ rails db:rollback STEP=3
すると、以下のように3つのマイグレーションファイルがdownになったと思います。
Status Migration ID Migration Name
--------------------------------------------------
up 20191111011132 Devise create users
down 20191111045816 Create groups
down 20191111045824 Create group users
down 20191112003700 Create messages
複数のマイグレーションファイルを一気にロールバックしたいときに役立つコマンドなので、ぜひ覚えておいてください。
今回は、複数あるマイグレーションファイルを指定して、一括でロールバックする方法を紹介しました。
ピンポイントで1つのマイグレーションファイルをロールバックすることはできませんが、複数のマイグレーションファイルを一括で処理することは可能なので、ぜひマスターしていきましょう。