While working on a recent project using Laravel I felt the need for a quick startover command, as we were brainstorming with
domain objects and
businees logic our migrations were changing frequently. So after each pull/change in migration I needed to reset the migrations, remigrate, seed database with updated seeder classes.
So I looked into creating a simple artisan command. The command is fairly straight forward, I am including the code for the command below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Only the relevant parts of the file is included here. BTW, you can create a boiler plate command using the
php artisan command:make StartOverCommand command from terminal.
the name you set above will be the actual command, I have set it like
appname:startover Its always a good practice to namespace things whenever possible.
Then the method that gets fired when the command is exectuted from terminal is
fire() method. It does the same things I stated above which I did manually earlier.
After you add this file in
app/commands/ directory of your
laravel installation, you have to add the command by adding the line
Artisan::add(new StartOverCommand); on your
After all the above steps are done you can use it like
php artisan appname:startover and it will reset migration, migrate migrations and then seed the tables.
Thanks for bearing with me. Hope you enjoyed it!