A five-year-old project has two hundred migrations, and every test run and every fresh install replays all of them in order.
$ php artisan schema:dump
Database schema dumped successfully.
$ ls database/schema/
mysql-schema.dump
$ php artisan schema:dump --prune # and delete the migration files
# migrate:fresh now loads the dump, then runs anything newer
Forty seconds off every test run is the immediate benefit and it compounds across a team. The dump is raw SQL produced by mysqldump, so it is engine-specific — a project testing against SQLite and deploying to MySQL cannot use it, which is a good argument for testing against the engine you deploy to anyway. It has to be regenerated deliberately after new migrations accumulate, and forgetting is harmless until somebody counts the files again.