同じ移行でこれを何度も行う必要がある場合は、前述の方法の別の方法です。個人的には、これにより移行に多くの柔軟性が追加されると思います。
このようdatabase/migrationsにあなたのautoloadオブジェクトに追加してくださいcomposer.json:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories",
"database/support",
"database/migrations" // add this line
]
},
次にnamespace Database\Migrations;、すべての移行ファイルに追加します。
次に、実行$ composer dump-autoloadしてcomposer.lockファイルを更新します。
次に、移行のクラス名をとAlterTableWebDirectoriesすると、次のようなコマンドを作成できます。
$ php artisan make:command DropAlterTableWebDirectories
そして、あなたのhandle()メソッドにこのロジックを書いてください:
public function handle {
(new AlterTableWebDirectories)->down();
DB::raw("delete from migrations where migration like '%alter_table_web_directories%'");
}
これはまさにあなたが望むことをします。移行カウントを削除するのではなく減らす場合は、DB:rawコマンドの変更方法を理解することができます。
このコマンドを拡張して、コマンドに引数を渡すことで、削除する移行を動的に選択できるようにすることができます。
次に、そのファイルを再度移行するために読んでいるときに、実行するだけで、そのファイルphp artisan migrateのみが移行されます。
このプロセスにより、毎回完全な更新とシードを行わなくても、移行に特定の変更を加えることができます。
私の種子はかなり大きいので、個人的に私はそれをたくさんする必要があります。