artisan
commands that most projects needsHandy artisan
commands that may find place in most of the Laravel projects regardless of the project type.
How often you wanted to perform some basic tasks like create or drop database, dump database or load from .sql
dump, or to see which fields (and field types) are present in your models? Continue reading and I promise to easy this, and many more tasks to you :beers:
The package is compatible with Laravel versions 5.5
, 5.6
, 5.7
, 5.8
, 6.x
, 7.x
and 8.x
.
Because some commands rely on raw console commands (like
db:dump
which usesmysqldump
), currently only MySql database and Linux environments are supported. Package is designed to easily support multiple OS-es and database types, and it should be easy implementation, so if anyone is interested to help, please feel free to contribute.
Install the package via composer:
If your're using Laravel 8, run:
composer require vkovic/laravel-commando
If your're using Laravel prior version 8, run:
composer require vkovic/laravel-commando "^0.1"
Package is in early stage so there is limited number of commands. I'm planning to add more, so if you have some suggestion you can require feature via issues page (click on
Issues -> New issue -> Feature request
)
Models
and related infoModel
and useful info.sql
file.sql
php artisan model:list
Show all models and some basic info.
$n = SomeModel::count()
php artisan model:fields <model>
Show model fields info.
Arguments:
model
optional: Model to show fields from (e.g. "App\User"
). If omitted, list of all models will be shown to choose from.php artisan db:exist <database>
Check if database exists
database
optional: Database name to check. If omitted it'll check for default db (defined in .env
).php artisan db:create <database>
Create database
Arguments:
database
optional: Database to create. If omitted, name from .env
will be used.php artisan db:drop <database>
Drop database
Arguments:
database
optional: Database to drop. If omitted, name from .env
will be usedphp artisan db:dump <database> <--dir>
Dump database to .sql
file
Arguments:
database
optional: Database to dump. If omitted, name from .env
will be used.Options:
--dir
: Directory for dump creation. If omitted default filesystem dir will be used.php artisan db:import-dump <database> <--dir>
Import dump from .sql
file
Arguments:
database
optional: Database to import dump to. If omitted, name from .env
will be used.Options:
--dir
: Directory for dump lookup. If omitted default filesystem dir will be used.php artisan db:summon
Drop default database, than perform migrate followed with the seed.
Useful in early stages of development when we changing models (migrations and seeds) a lot.
If you plan to modify this Laravel package you should run tests that comes with it.
Easiest way to accomplish this would be with Docker
, docker-compose
and phpunit
.
First, we need to initialize Docker containers (see docker-composer.yaml
for details).
docker-compose up --exit-code-from app
After that, we can run tests and watch the output:
docker-compose run --rm app phpunit