Over time any software project will get larger, and with laravel projects this often means that the migrations folder can get very large. In laravel 8 the
schema:dump command was introduced to clean this up a bit, and instead of running possibly hundreds of migration files when migrating using
schema:dump command can run just 1 schema file containing the schema of all the migrations up until that point.
You will need the mysqldump command available as an environment variable as a prerequisite.
Here is how to do that. First run the
php artisan schema:dump
You should now see in
/database/schema there is a new file called
mysql-schema.sql. This contains the schema for all the migrations up until this point.
You will also see that your migration files still exist. You could run the command again to delete all these unnecessary migration files now:
php artisan schema:dump --prune
Now you have a new starting point for your migrations, any new migrations will first run the
mysql-schema.sql file, and then run all the migrations that came after.
I hope this was useful to someone.