我已经在应用程序中构建了一些迁移类来创建所需的表,但是却不断出错。我需要运行以下命令:
composer dump-autoload
只有这样,它才能再次按预期工作。我做错了什么会产生此错误,或者这是迁移的正常行为?
以下是运行迁移过程时遇到的错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateVideoStatusTable' not found
我已经在应用程序中构建了一些迁移类来创建所需的表,但是却不断出错。我需要运行以下命令:
composer dump-autoload
只有这样,它才能再次按预期工作。我做错了什么会产生此错误,或者这是迁移的正常行为?
以下是运行迁移过程时遇到的错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateVideoStatusTable' not found
Answers:
好的,我想我知道您遇到的问题。
基本上,由于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
,以更快地加载网页。它不是默认值的唯一原因是,它需要花费更长的时间来生成(但只有一点点值得注意)。
希望您能设法将其排序,因为确实很烦人:(