🔙
【Rails】マイグレーションを戻すコマンド色々
はじめに
Railsのマイグレーションは、データベースのスキーマ変更やデータの追加・更新などの操作を行う際に使用されます。ただ、時にはマイグレーションを戻したり、最初の状態に戻したりする必要が生じることもあります。
この記事では、Railsのマイグレーションを戻す方法について備忘録として紹介します。
コマンド
1つのマイグレーションを戻す
最も基本的な方法は、1つのマイグレーションを戻すことです。
以下のコマンドを実行します。
rails db:rollback
このコマンドを実行すると、直近の1つのマイグレーションが取り消されます。データベースは1つ前の状態に戻ります。
複数のマイグレーションを戻す
複数のマイグレーションを戻したい場合は、STEPオプションを使用します。
以下のコマンドを実行します。
rails db:rollback STEP=3
この例では、直近の3つのマイグレーションが取り消されます。STEPの値を変更することで、戻すマイグレーションの数を調整できます。
マイグレーションを戻して再実行する
直近のマイグレーションを取り消してから再度実行したい場合は、以下のコマンドを使用します。
rails db:migrate:redo
このコマンドを実行すると、直近の1つのマイグレーションが取り消され、その後再度実行されます。
複数のマイグレーションを取り消してから再度実行したい場合は、STEPオプションを使用します。
rails db:migrate:redo STEP=3
この例では、直近の3つのマイグレーションが取り消され、その後再度実行されます。
全てのマイグレーションを戻す
データベースを完全に最初の状態に戻すためには、以下のコマンドを実行します。
rails db:migrate:reset
このコマンドは、全てのマイグレーションを取り消し、db/schema.rb
ファイル(またはstructure.sqlファイル)を使用してデータベースを再構築します。データベースを初期状態に戻したい場合に使用します。
まとめ
これらのコマンドを使用することで、より柔軟にマイグレーションを取り消したり、再実行したりすることができます。
参考資料
Discussion