【问题标题】:Laravel - Changed Migration file name/class, migrate:reset still looks for old classLaravel - 更改了迁移文件名/类,迁移:重置仍然寻找旧类
【发布时间】:2015-10-08 04:49:34
【问题描述】:

我更改了迁移文件名,更新了类名,运行了“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

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

【问题讨论】:

    标签: php laravel laravel-migrations


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      发现问题。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-23
        • 2016-02-26
        • 2015-08-29
        • 1970-01-01
        • 2012-12-13
        • 2015-01-04
        • 2016-01-01
        相关资源
        最近更新 更多