【Laravel】データベースを元に戻す・削除する方法|マイグレーションのロールバックなど

PHPフレームワークのLaravelでは、データベースのテーブルの作成・削除などができ、データベースのバージョン管理が行えるマイグレーションという機能があります。
今回は、Laravelのマイグレーションで作成・更新したテーブルを、マイグレーションのロールバック(取り消し)などによって、元に戻す・削除する方法となります。
また、マイグレーションファイルを作成する方法については、以下のリンク先を参考にしてみてください。
マイグレーション済みのファイルを確認する方法
マイグレーションは、マイグレーションファイルを作成して行いますが、以下のコマンドではマイグレーション済みのファイルや、実行した順番などを確認できます。
php artisan migrate:status
上記コマンドで表示されるbatchの項目がマイグレーションを実行した順番となり、マイグレーションのロールバックは、batchの値が大きい方から行われます。
また、マイグレーション済みファイルを修正して、もう一度マイグレーションするには、実行したマイグレーションを元に戻す(ロールバック)する必要があります。
マイグレーションを元に戻す(ロールバック)の方法
マイグレーションのロールバックは、マイグレーションファイル内のdown()メソッドを実行する処理となり、以下のコマンドで行います。
最後に実行したマイグレーションをロールバック
以下のコマンドでは、最後に実行したマイグレーションのロールバックを行います。
php artisan migrate:rollback
回数を指定しマイグレーションをロールバック
以下のコマンドでは、最後に実行したマイグレーションから、回数を指定してロールバックを行います。
ロールバックの回数は、オプションの--step= の後に指定します。
php artisan migrate:rollback --step=5
上記例の場合、最後に実行したマイグレーションから5回、ロールバックを行います。
すべてのマイグレーションをロールバック
以下のコマンドでは、すべてのマイグレーションのロールバックを行います。
php artisan migrate:reset
すべてのマイグレーションをロールバック後に、マイグレーションを実行
以下のコマンドでは、すべてのマイグレーションのロールバック(取り消し)後に、マイグレーションを実行します。
php artisan migrate:refresh
すべてのテーブルを削除後に、マイグレーションを実行
以下のコマンドでは、すべてのテーブルを削除後にマイグレーションを実行します。
php artisan migrate:fresh
また、すべてのテーブルを削除後にマイグレーションを実行する際に、テーブルに初期値やダミーレコードをセットできるシーディングを実行する場合は、以下のコマンドとなります。
php artisan migrate:fresh --seed
シーディングについては、以下のリンク先を参考にしてみてください。