ロールバックは、適用されたマイグレーションを取り消して以前の状態に戻すための操作です。nステップ分のロールバックを行うには、以下の方法があります。
-
rails db:rollback STEP=n
コマンドを使用する方法: Railsのコマンドラインインターフェースを使用して、db:rollback
コマンドにSTEP
オプションを指定します。例えば、以下のコマンドを実行すると、直近のnステップ分のロールバックが行われます。rails db:rollback STEP=n
この方法は、一度に指定したステップ数分のロールバックを行うことができます。
-
マイグレーションファイルのバージョンを指定する方法: マイグレーションファイルは、
db/migrate
ディレクトリにあります。各マイグレーションファイルには、一意のタイムスタンプが含まれています。ロールバックしたいステップ数に応じて、該当するマイグレーションファイルのバージョンを特定し、それ以降のマイグレーションを取り消します。例えば、
db/migrate
ディレクトリに以下のマイグレーションファイルがあるとします。20220101000001_create_table_a.rb 20220102000001_add_column_b_to_table_a.rb 20220103000001_add_column_c_to_table_a.rb
もし、直近の2つのマイグレーションをロールバックしたい場合、
20220103000001_add_column_c_to_table_a.rb
までのマイグレーションを取り消します。この方法は、特定のマイグレーションファイルまでのロールバックを行うことができます。
以上が、Railsでnステップ分のロールバックを行う方法です。適用したマイグレーションを取り消して以前の状態に戻す際に利用できます。