Laravel - 已更改迁移文件 name/class,migrate:reset 仍在寻找旧的 class

Laravel - Changed Migration file name/class, migrate:reset still looks for old class

我更改了我的迁移文件名,更新了 class 名称,运行 'composer dump-autoload',然后是 运行 'php artisan migrate:reset'。

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

[Symfony\Component\Debug\Exception\FatalErrorException] Class 'OldClassName' not found

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

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

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

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

找到问题。

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

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

上述答案的问题是我不得不使用错误的名称保留迁移文件。