コマンド@Laravel¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. artisanコマンド¶
artisanコマンドとは¶
アプリケーションの開発に役立つコマンドを提供する。
config¶
▼ キャッシュの削除¶
キャッシュ (bootstrap/cache/config.php ファイル) を削除する。
$ php artisan config:clear
make¶
▼ factory¶
Factory を自動的に作成する。
$ php artisan make:factory <Factory名> --model=<対象とするModel名>
▼ HTTP|controller¶
# コントローラークラスを自動作成
$ php artisan make:controller <Controller名>
▼ HTTP|formRequest¶
FormRequest クラスを自動作成する。
$ php artisan make:request <Request名>
▼ HTTP|middleware¶
Middleware クラスを自動作成する。
$ php artisan make:middleware <Middleware名>
▼ migration¶
DB マイグレーションファイルを作成する。
$ php artisan make:migration create_<テーブル名>_table
▼ model¶
Eloquent モデルを自動作成する。
$ php artisan make:model <Eloquentモデル名>
▼ resource¶
Resource クラスを自動作成する。
$ php artisan make:resource <Resource名>
▼ provider¶
Provider クラスを自動作成する。
$ php artisan make:provider <クラス名>
▼ seeder¶
Seeder クラスを自動作成する。
$ php artisan make:seeder <Seeder名>
migrate¶
▼ migrateとは¶
DB マイグレーションファイルを元にテーブルを作成する。
$ php artisan migrate
コマンド実行時、以下のエラーが表示される場合もある。
DB マイグレーションファイル名のスネークケースで、これがクラス名のキャメルケースと対応づけられており、ファイル名とクラス名の関係が正しくないために起こるエラーである。
Symfony\Component\Debug\Exception\FatalThrowableError : Class "CreateFooTable" not found
▼ status¶
DB マイグレーションの結果を確認する。
$ php artisan migrate:status
▼ rollback¶
指定した履歴数だけ、ロールバックする。
$ php artisan migrate:rollback --step=<ロールバック数>
実際の使用場面として、DB マイグレーションに失敗した場合、1 つ前の履歴にロールバックして DB マイグレーションファイルを修正した後、再び DB マイグレーションを行う。
# DBマイグレーションに失敗したので、1つ前の履歴にロールバック。
$ php artisan migrate:rollback --step=1
# ファイル修正後にDBマイグレーションを実行
$ php artisan migrate
▼ reset¶
初期の状態まで、すべてロールバックする。
$ php artisan migrate:reset
▼ refresh¶
すべてのロールバック (migrate:reset) を実行し、次いで migrate を実行する。
$ php artisan migrate:refresh
▼ fresh¶
すべてのテーブルを削除と migrate を実行する。
DB マイグレーションファイルの構文チェックを行わずに、強制的に実行される。
$ php artisan migrate:fresh
DB マイグレーション時、テーブルがすでに存在するエラーは発生する場合もある。
この場合、テーブルが DB マイグレーションされる前までロールバックし、DB マイグレーションを再実行することが最適である。
しかしそれが難しければ、このコマンドを実行する必要がある。
SQLSTATE[42S01]: <テーブル名> table or view already exists
▼ --force¶
DB マイグレーション時、本当に実行してよいか確認画面 (Yes/No) が表示される。
CI/CD パイプライン時に、この確認画面で Yes/No を入力できないため、確認画面をスキップできるようにする必要がある。
$ php artisan migrate --force
route¶
▼ list¶
登録済みのルーティングの一覧を取得する。
# ルーティングの一覧を表示する
$ php artisan route:list
▼ clear¶
ルーティングのキャッシュを削除する。
# ルーティングのキャッシュを削除
$ php artisan route:clear
# 全てのキャッシュを削除
$ php artisan optimize:clear
db¶
▼ seed¶
Seeder を実行する。Seeder を新しく作成したときや Seeder 名を変更したとき、Composer の dump-autoload を実行する必要がある。
$ composer dump-autoload
# 特定のSeederを実行
$ php artisan db:seed --class=<Seeder名>
# DatabaseSeederを指定して、全てのSeederを実行
$ php artisan db:seed --class=<Seeder名>
storage¶
▼ link¶
シンボリックリンクを作成する
$ php artisan storage:link
view¶
▼ clear¶
キャッシュを削除する。
# ビューのキャッシュを削除
$ php artisan view:clear
# 全てのキャッシュを削除
$ php artisan optimize:clear