Rails

【Rails基礎】マイグレーションファイルを一括でロールバックする方法

Rails

 

今回は、複数あるマイグレーションファイルを一括でロールバックする方法を紹介したいと思います。

よし
よし
「何個か前のマイグレーションファイルまで遡りたい!」って時に役立つね。

マイグレーションファイルを一括でロールバックする方法

例題としてまずは以下のように、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つのマイグレーションファイルをロールバックすることはできませんが、複数のマイグレーションファイルを一括で処理することは可能なので、ぜひマスターしていきましょう。