【Laravel 5.7】Artisanコンソールの頻出コマンドと使い方

Laravelのartisanコマンドについて、開発中によく利用するコマンドを整理しました。

ちなみに、artisanは「アルチザン」と読み、職人という意味のようです。

クラスファイル生成

コントローラーやモデルなどのクラスを生成します。

$ php artisan make:[種別] [クラス名]

# コントローラー作成
$ php artisan make:controller HomeController
# → app/Http/Controllers/HomeController.php

namespaceを切ることもできます。

$ php artisan make:controller User/HomeController
# → app/Http/Controllers/User/HomeController.php

$ php artisan make:model Models/Item
# → app/Models/Item.php

他にも、Laravelで利用するクラスファイルは、全てコマンドで生成できます。

マイグレーション

マイグレーションファイルの生成

マイグレーションクラスを作成します。

$ php artisan make:migration [クラス名]

# テーブル作成時
$ php artisan make:migration create_users_table --create=users

# カラムのなどの変更時
$ php artisan make:migration modify_users_table --table=users

テストデータクラスの生成

シーダーとファクトリを作成します。

# シーダー作成
php artisan make:seeder UsersTableSeeder

# ファクトリ作成
php artisan make:factory UserFactory

マイグレーション実行

マイグレーションを実行します。

# 未実行のマイグレーションを全て実行
php artisan migrate

# 本番環境で確認無しで実行
php artisan migrate --force

ロールバック

以下のコマンドでロールバックを行います。
マイグレーションを同時に実行したかたまり(バッチ)単位で戻します。

# 最後に実行したマイグレーションをダウンする
php artisan migrate:rollback

同時実行

全てのマイグレーションをロールバックしてから、マイグレーションを行います。

php artisan migrate:refresh

# 同時にテストデータも入れる
$ php artisan migrate:refresh --seed

デバッグ関連

ルートのリスト

ルートのリストが表示されます。ルートが通っているかの確認などに。

$ php artisan route:list

+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+

対話型コンソール

下記のコマンドを実行するとTinker環境に入り、コマンドラインでORMなどを実行できます。

$ php artisan tinker

最後に

artisanコマンドは他にもたくさんありますが、開発中に使っているのはこんなところです。
あとは、helpで調べながら使ってます。

この記事と関連している記事