我可以很容易地运行artisan migrate等,但当我尝试回滚它时,随着迁移:回滚,我一直收到这个错误,
c:\xampp\htdocs\laravel>php artisan migrate:rollback
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'CreateCodesnippetsTable' not found","file":"C:\\xampp\\htdocs\\laravel\\vendor\\laravel\\framework\\src\\Illum
inate\\Database\\Migrations\\Migrator.php","line":301}}这是一个bug吗?或者我应该如何调试它?
发布于 2013-06-27 19:48:52
也许你已经解决了这个问题。但我注意到,由于某些原因,回滚通常需要您首先运行composer dumpautoload。即使您的迁移工作正常。
发布于 2013-09-13 11:08:45
在与这个问题搏斗了几天之后,我想我现在可以提供最终的解决方案来解决这个问题。是啊,我知道这是个很重要的决定,但请耐心听我说。
如果您遇到此问题,第一个调用端口是运行composer dump-autoload。这将导致文件vendor/composer/autoload_classmap.php的更新版本。
如果autoload_classmap.php没有更新,那么您可能会遇到权限问题,在这种情况下,您可以尝试sudo composer dump-autoload。
但是,如果autoload_classmap.php确实更新了,请检查它是否包含您的迁移类的条目(在本例中为CreateCodesnippetsTable)。如果没有针对此类的条目,则应检查composer.json文件,并确保app/database/migrations文件夹包含在自动加载部分中,例如:
"autoload": {
"classmap": [
"app/controllers",
"app/models",
"app/database/migrations"
]
},最后一点就是我把事情搞砸了。在一次错误的优化尝试中,我尽可能多地从composer.json文件中提取了一些东西,天真地认为这只会影响web请求。事实证明,这也影响了工匠,所以把这一行放回并运行composer dump-autoload为我解决了这个问题。
最后,如果所有这些都失败了,那么可能是某个支持库中的错误导致了问题,在这种情况下,您可以尝试使用composer update或其变体进行更新。然而,我怀疑这很少是问题的真正原因。
发布于 2015-06-18 18:00:39
如果是在windows中,只需在终端/命令行实用程序中使用composer并执行以下操作:
composer dump-autoload希望它能帮上忙!
https://stackoverflow.com/questions/17174463
复制相似问题