【Laravel】マイグレーションを取り消す方法まとめ

こんにちは!CODE CLUB965のKです!

今回は、Laravelでマイグレーションを取り消す方法についてまとめておこうと思います。

取り消す(ロールバック)にしても数パターンあるので、状況に応じて使い分けて下さい。

ちなみにマイグレーションファイルの作成方法は前回の記事がありますので、読んでいない方はぜひ読んでみて下さい。

マイグレーションの取り消しコマンド

以下に順番にマイグレーションの取り消しコマンドについて書いていきます。

直前のマイグレーションをロールバックする

直前のマイグレーションを取り消したい場合は、以下のコマンドを使用します。

$ php artisan migrate:rollback

このコマンドによって、マイグレーションファイルのdown()の処理が実行されるわけです。

ロールバックの回数を指定する

「--step=*(回数)」のオプションを指定すると、降順に指定した数をロールバックします。

$ php artisan migrate:rollback --step=*

「--step=3」のように指定すればOKです。

全てのマイグレーションをロールバックする

$ php artisan migrate:reset

説明する必要ないかもしれませんが、「reset」は、全てのマイグレーションをロールバックするコマンドになります。

全てのマイグレーションをロールバックして再度マイグレーションする

全てのマイグレーションをロールバックし、再度マイグレーションし直すためには「refresh」を使用します。

$ php artisan migrate:refresh

全てのテーブルを削除してから再度マイグレーションする

全てのテーブルをドロップ(削除)してから、再度マイグレーションするには「fresh」を使用します。

$ php artisan migrate:fresh

補足ですが、「refresh」との違いは、ロールバックが行われないところです。
要するに、down()が実行されずにDBの再構築が行われるわけです。

最後に

今回はマイグレーション取り消し方法について書きました。

簡単にまとめると、

・rollback : 直前のマイグレーションをロールバック(stepで回数指定)
・reset    : 全てのマイグレーションをロールバック
・refresh  : 全てのマイグレーションをロールバックし再度マイグレーション実行
・fresh    : 全てのテーブルを削除し再度マイグレーションを実行

それでは、また!

Follow me!