我已经在应用程序中构建了一些迁移类来创建所需的表,但是却不断出错。我需要运行以下命令:
composer dump-autoload
只有这样,它才能再次按预期工作。我做错了什么会产生此错误,或者这是迁移的正常行为?
以下是运行迁移过程时遇到的错误:
[Symfony\Component\Debug\Exception\FatalErrorException] Class 'CreateVideoStatusTable' not found
好的,我想我知道您遇到的问题。
基本上,由于Composer无法看到您正在创建的迁移文件,因此您必须运行dump- autoload命令,该命令不会下载任何新内容,而是查找它需要再次包含的所有类。它只是重新生成项目中需要包含的所有类的列表(autoload_classmap.php),这就是为什么运行该命令后迁移仍在进行的原因。
如何修复(可能)您需要在composer.json文件中添加一些额外的信息。
"autoload": { "classmap": [ "PATH TO YOUR MIGRATIONS FOLDER" ], }
您需要将迁移文件夹的路径添加到类映射数组。然后运行以下三个命令…
php artisan clear-compiled composer dump-autoload php artisan optimize
这将清除当前已编译的文件,更新所需的类,然后将它们写回,因此您无需再次执行。
理想情况下,您可以执行composer dump-autoload -o,以更快地加载网页。它不是默认值的唯一原因是,它花费了更长的时间来生成(但仅略微引人注意)。
composer dump-autoload -o
希望您能设法将其排序,因为确实很烦人:(