必要なテーブルを作成するためにアプリケーションで移行クラスをいくつか構築しましたが、エラーが発生し続けます。次のコマンドを実行する必要があります。
composer dump-autoload
そうして初めて、期待どおりに再び動作します。このエラーが発生するのは、私が何か間違ったことをしているからでしょうか、それとも移行時の通常の動作なのでしょうか?
以下は、移行プロセスを実行するときに表示されるエラーです。
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateVideoStatusTable' not found
ベストアンサー1
わかりました。あなたが抱えている問題はわかっていると思います。
基本的に、Composer は作成中の移行ファイルを見ることができないため、新しいものは何もダウンロードせず、再度含める必要のあるすべてのクラスを検索する dump-autoload コマンドを実行する必要があります。プロジェクトに含める必要のあるすべてのクラスのリスト (autoload_classmap.php) を再生成するだけなので、そのコマンドを実行した後は移行が機能します。
修正方法 (おそらく) composer.json ファイルにいくつかの追加情報を追加する必要があります。
"autoload": {
"classmap": [
"PATH TO YOUR MIGRATIONS FOLDER"
],
}
移行フォルダーへのパスをクラスマップ配列に追加する必要があります。次に、次の 3 つのコマンドを実行します...
php artisan clear-compiled
composer dump-autoload
php artisan optimize
これにより、現在コンパイルされているファイルがクリアされ、必要なクラスが更新されて書き戻されるため、再度実行する必要がなくなります。
理想的には、Web ページの読み込みを高速化するために を実行しますcomposer dump-autoload -o
。これがデフォルトになっていない唯一の理由は、生成に少し時間がかかるためです (ただし、わずかに気付く程度です)。
本当に迷惑なので、これを解決できることを願っています :(