所以我刚开始玩Laravel 5.1。我创建了一个名为" teacher"的迁移模型。然后我手动删除了包含Teachers类的Teachers.php模型文件。现在当我尝试回滚时,我收到以下错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateTeachersTable' not found
我尝试了composer dump-autoload
和php artisan migrate:refresh
以及php artisan migrate:reset
,但它继续提供上述错误。我只是想重新开始。如何重置一切?
答案 0 :(得分:2)
确定。所以我找到了解决方案。因此,如果您在不使用php artisan migrate:rollback
的情况下意外删除任何模型文件或迁移文件,则上述命令和任何迁移命令都会导致问题。所以你需要做的是,从数据库中手动删除所有表。我正在使用sqlite数据库,我删除了迁移,用户,问题,教师,password_resets所有由migrate命令生成的表。然后我跑了composer dumpautoload
。然后我在对文件进行更改后再次运行php artisan migrate
命令,一切都恢复正常。
所以基本上删除迁移表解决了这个问题。
答案 1 :(得分:1)
当您refresh
进行迁移时,Laravel会查看您的migrations
表并使用其中的值来加载迁移文件以进行回滚。
由于您手动删除了迁移文件,因此从未从migrations
表中删除它。您必须手动删除该表中针对给定迁移文件的行。
答案 2 :(得分:0)
首先,通过在项目文件夹中进行完整搜索来检查是否仍在某处引用该类,然后如果不是,请尝试运行:
php artisan clear-compiled