3

我更改了迁移文件名,更新了类名,运行了“composer dump-autoload”,然后运行了“php artisan migrate:reset”。

当我运行时,我得到一个错误:

[Symfony\Component\Debug\Exception\FatalErrorException] 类 'OldClassName' 未找到

当我在整个项目中搜索这个类名时,我发现的只是错误日志中提到的。如果我进入“autoload_classmap.php”,我的类名和迁移文件名的行是正确的(我复制并粘贴了它们只是为了确保)。

在谷歌搜索时,人们建议运行我已经拥有的其他一些命令:

php artisan clear-cache
Vagrant reload
composer self-update
composer update

我还应该如何解决这个问题?

4

2 回答 2

1

发现问题。

问题是我运行了迁移,所以我的旧表是使用我的旧表名/类/等创建的。然后我更改了迁移文件名/类并尝试将php artisan migrate:refresh. 当您执行 arefresh时,它会回滚所有表,然后重新迁移它们,因此当它试图回滚我的旧表时它没有找到它(因为我已经更改了名称)并且它吓坏了。要解决此问题,我必须将其重命名为原始名称,运行php artisan migrate:rollback(删除所有表),然后运行php artisan migrate:refresh以重新加载所有表,包括使用新名称的表。

于 2015-07-18T17:10:15.123 回答
0

我遇到了同样的问题,并通过进入数据库迁移表并删除旧迁移的名称来解决它。

上面答案的问题是我不得不用不正确的名称保留迁移文件。

于 2017-09-07T17:25:55.727 回答