【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 : 全てのテーブルを削除し再度マイグレーションを実行
それでは、また!