ココミテ

気になったことや調べたこと書きたいことををジャンル問わず。

【Laravel5.5】artisanコマンド一覧

Laravel開発ではしょっちゅう使うartisanコマンド。 今回はコマンドの一覧を紹介します。

環境

Laravel Framework 5.5.40

DB/Migration関連

データベースの移行(マイグレーション)を実行する

「migrate」

php artisan migrate

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

MigrateとSeedingを同時に実行する

「migrate --seed」

php artisan migrate --seed

全てのマイグレーションとシーディングを実行します。

全てのテーブルを削除し、Migrateを実行する

「migrate:fresh」

php artisan migrate:fresh

Migrate用テーブルを作成する

「migrate:install」

php artisan migrate:install

全Migrateクラスのテーブルデータを削除後、Migrateを実行する

「migrate:refresh」

php artisan migrate:refresh

php artisan migrate:refresh --seed

データベース全体を1から作り直すときに使用する。
seedオプションをつけるとリフレッシュ後にシードを実行します。

全マイグレーションをロールバックする

「migrate:reset」

php artisan migrate:reset

最後に実行したマイグレーションをロールバックする

「migrate:rollback」

//1回分のロールバック
php artisan migrate:rollback

//3回分のロールバック
php artisan migrate:rollback --step=3

stepオプションを付けると、指定した回数分のロールバックを行います。

Migrationファイルの実行状況を確認する

「migrate:status」

php artisan migrate:status

新しいシーダークラスファイルを作成する

「make:seeder」

php artisan make:seeder [クラス名]

php artisan make:seeder UsersTableSeeder

laravel/database/seeds/UsersTableSeeder.phpが作成されます。

シーダ(初期値設定)クラスで設定したデータをデータベースに入れる

「db:seed」

//DatabaseSeederクラスの中に指定した全てのクラスが対象
php artisan db:seed

//指定したクラス(ここではUsersTableSeeder)のみ対象
php artisan db:seed --class=UsersTableSeeder

classオプションで対象クラスを指定できます。

イベント関連

EventServiceProviderの登録されていないイベントとリスナーを作成する。

「event:generate」

php artisan event:generate

laravel/app/Providers/EventServiceProvider.phpに設定したイベントとリスナーが作成されます。

新しいイベントクラスを作成する

「make: event」

php artisan make: event [クラス名]

php artisan make: event OrderShipped

laravel/app/Events/OrderShipped.phpが作成されます。

新しいリスナークラスを作成する

「make:listener」

php artisan make:listener [クラス名]

php artisan make:listener OrderShipped

laravel/app/Listeners/OrderShipped.phpが作成されます。

クラスファイル作成関連

新しいコントローラーを作成する

「make:controller」

php artisan make:controller [コントローラークラス名]

php artisan make:controller HogeController

//resourceオプションをつければリソースコントローラが作成される
php artisan make:controller HogeController --resource

laravel/app/Http/Controllers/HogeController.phpが作成されます。

新しいカスタム例外処理クラスを作成する

「make:exception」

php artisan make:exception[クラス名]

php artisan make:exception ValidationException

laravel/app/Exceptions/ValidationException.phpが作成されます。

新しいファクトリを作成する

「make:factory」

php artisan make:factory [クラス名]

php artisan make:factory PostFactory

//modelオプションでファクトリが生成するモデルの名前を指定できます。
php artisan make:factory PostFactory --model=Post 

laravel/database/factories/PostFactory.phpが作成されます。

新しいジョブクラスを作成する

「make:job」

php artisan make:job [クラス名]

php artisan make:job ProcessPodcast 

laravel/app/Jobs/ProcessPodcast.phpが作成されます。

新しいメールクラスを作成する

「make:mail」

php artisan make:mail [クラス名]

php artisan make:mail OrderShipped 

laravel/app/Mail/OrderShipped.phpが作成されます。

新しいミドルウェアクラスを作成する

「make:middleware」

php artisan make:middleware [クラス名]

php artisan make:middleware CheckAge

laravel/app/Http/Middleware/CheckAge.phpが作成されます。

新しいマイグレーションファイルを作成する

「make:migration」

php artisan make:migration [クラス名]

php artisan make:migration create_users_table

//createかtableオプションでテーブル作成の雛形も生成される
php artisan make:migration create_users_table --create=users

laravel/database/migrations/20xx_xx_xx_xxxxxx_ create_users_table.phpが作成されます。

基本的にはオプションを付けて使用します。

新しいEloquentモデルを作成する

「make:model」

php artisan make:model [クラス名]

php artisan make:model User

//-mか--migrationオプションでマイグレーションも作成される
php artisan make:model User -m

laravel/app/User.phpが作成される。

新しい通知クラスを作成する

「make:notification」

php artisan make:notification [クラス名]

php artisan make:notification InvoicePaid

laravel/app/Notifications/InvoicePaid.phpが作成される。

新しいポリシークラスを作成する

「make:policy」

php artisan make:policy [クラス名]

php artisan make:policy PostPolicy

laravel/app/Policies/PostPolicy.phpが作成される。

新しいサービスプロバイダクラスを作成する

「make:provider」

php artisan make:provider [クラス名]

php artisan make:provider RiakServiceProvider

laravel/app/Providers/RiakServiceProvider.phpが作成されます。

新しいフォームリクエストクラスを作成する

「make:request」

php artisan make:request [クラス名]

php artisan make:request StoreBlogPost

laravel/app/Http/Request/StoreBlogPost.phpが作成されます。 複雑なバリデーションの際に使うと便利。

新しいリソースクラスを作成する

「make:resource」

php artisan make:resource [クラス名]

php artisan make:resource UserResource

laravel/app/Http/Resources/UserResource.phpが作成されます。

新しいバリデーションルールを作成する

「make:rule」

php artisan make:rule [クラス名]

php artisan make:rule Uppercase

laravel/app/Rules/Uppercase.phpが作成されます。

新しいテストケースを作成する

「make:test」

php artisan make:test [クラス名]

//Featureディレクトリにテストクラスを作成
php artisan make:test UserTest

//Unitディレクトリにテストクラスを作成
php artisan make:test UserTest --unit 

unitオプションをつけるかどうかで、作成されるディレクトリが変わります。

通知用のデータベーステーブルを作成する

「notifications:table」

php artisan notifications:table

セッション用のデータベーステーブルを作成する

「session:table」

php artisan session:table

最適化/キャッシュ関連

コンパイルされたクラスファイルを削除する

「clear-compiled」

php artisan clear-compiled

以下のファイルが削除されます。

  • /bootstrap/cache/services.json
  • /bootstrap/cache/compiled.php

期限切れのパスワードリセットトークンをフラッシュする

「auth:clear-resets」

php artisan auth:clear-resets

キャッシュを削除する

「cache:clear」

php artisan cache:clear

キャッシュから指定した項目を削除する

「cache:forget」

php artisan cache:forget [項目]

//keyという項目を削除
php artisan cache:forget key

キャッシュ用のデータベーステーブルを作成する

「cache:table」

php artisan cache:table

キャッシュファイルを作成する

「config:cache」

php artisan config:cache

キャッシュファイルを削除する

「config:clear」

php artisan config:clear

コンパイルしたviewファイルを削除

「view:clear」

php artisan view:clear

ルートのキャッシュファイルを作成する

「route:cache」

php artisan route:cache

ルートのキャッシュファイルを削除する

「route:clear」

php artisan route:clear

セキュリティ関連

アプリケーションキーを作成し設定する

「key:generate」

php artisan key:generate

セキュリティのため、Laravelインストール後に最初に行います。

ログイン関連

Laravelの基本的なログイン機能を生成する。

「make:auth」

php artisan make:auth

タスクスケジュール/ジョブ関連

すべての失敗したジョブを一覧表示する

「queue:failed」

php artisan queue:failed

失敗したジョブ用のデータベーステーブルを作成する

「queue:failed-table」

php artisan queue:failed-table

失敗したジョブを全て削除する

「queue:flush」

php artisan queue:flush

失敗したジョブを指定して削除する

「queue:forget」

php artisan queue:forget [Job ID]

php artisan queue:forget 5

上のコマンドではジョブIDが5のジョブを削除します。

ジョブを実行する

「queue:listen」

php artisan queue:listen

php artisan queue:listen --timeout=60 --sleep=5  --tries=3

タイムアウト、スリープ、最大試行回数などのオプションをつけることができます。

現在のジョブの後でキューワーカーデーモンを再起動する

「queue:restart」

php artisan queue:restart

失敗したジョブを再試行する

「queue:retry」

php artisan queue:retry [Job ID]

//ジョブIDが5のジョブのみ再試行する
php artisan queue:retry 5

//全てのジョブを再試行する
php artisan queue:retry all

ジョブIDやallを指定できます。

ジョブ用のデータベーステーブルを作成する

「queue:table」

php artisan queue:table

ジョブを実行する

「queue:work」

php artisan queue:work

php artisan queue: work --timeout=60 --sleep=5  --tries=3

タイムアウト、スリープ、最大試行回数などのオプションをつけることができます。

タスクスケジュールを実行します。

「schedule:run」

php artisan schedule:run

cron設定ファイルに記述します。

コマンド関連

コマンドのヘルプを表示する。

「help」

php artisan help

コマンドのリストを表示する

「list」

php artisan list

artisanコマンドを作成する。

「make:command」

php artisan make:command [コマンドクラス名]

php artisan make:command HogeCommand

laravel/app/Console/Commands/HogeCommand.phpが作成されます。

メンテナンスモード関連

アプリケーションをメンテナンスモードにする

「down」

php artisan down

メンテナンスモードを解除する

「up」

php artisan up

サーバーを起動する

「serve」

php artisan serve

ローカルで付属のサーバーが起動します。Homestead利用の場合は使わないと思います。

その他

現在のフレームワーク環境変数を表示する

「env」

php artisan env

スカフォールドを切り替える

「preset」

php artisan preset react

上のコマンドでVueのスカフォールドをReactのスカフォールドへ簡単に変更します。
Reactを使ったJavascriptアプリケーションを構築したい時などに使用します。

対話型のシェルを使う

「tinker」

php artisan tinker

namespace(名前空間)を設定する

「app:name」

php artisan app:name [新しいnamespece]

//namespaceをhogeに設定
php artisan app:name hoge

デフォルトのnamespaceはapp。

名言を表示する

「inspire」

php artisan inspire

偉人たちの名言を見ることができます。

www.kokomite.me

登録されている全てのルートを表示する

「route:list」

php artisan route:list

"public/storage"から"storage/app/public"へシンボリックリンクを張る

「storage:link」

php artisan storage:link

ベンダーパッケージからパブリッシュ可能なアセットをパブリッシュする

「vendor:publish」

php artisan vendor:publish

キャッシュされたパッケージマニフェストを再構築する

「package:discover」

php artisan package:discover

非推奨コマンド

フレームワークの最適化をする(非推奨)

php artisan optimize

以上、artisanコマンドの一覧まとめでした。

今後それぞれの使い方も記事にしていきますのでよろしくお願いします。