首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 4迁移回滚问题

Laravel 4迁移回滚问题
EN

Stack Overflow用户
提问于 2013-06-19 00:43:27
回答 9查看 19.1K关注 0票数 73

我可以很容易地运行artisan migrate等,但当我尝试回滚它时,随着迁移:回滚,我一直收到这个错误,

代码语言:javascript
复制
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吗?或者我应该如何调试它?

EN

回答 9

Stack Overflow用户

发布于 2013-06-27 19:48:52

也许你已经解决了这个问题。但我注意到,由于某些原因,回滚通常需要您首先运行composer dumpautoload。即使您的迁移工作正常。

票数 177
EN

Stack Overflow用户

发布于 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文件夹包含在自动加载部分中,例如:

代码语言:javascript
复制
"autoload": {
    "classmap": [
        "app/controllers",
        "app/models",
        "app/database/migrations"
    ]
},

最后一点就是我把事情搞砸了。在一次错误的优化尝试中,我尽可能多地从composer.json文件中提取了一些东西,天真地认为这只会影响web请求。事实证明,这也影响了工匠,所以把这一行放回并运行composer dump-autoload为我解决了这个问题。

最后,如果所有这些都失败了,那么可能是某个支持库中的错误导致了问题,在这种情况下,您可以尝试使用composer update或其变体进行更新。然而,我怀疑这很少是问题的真正原因。

票数 37
EN

Stack Overflow用户

发布于 2015-06-18 18:00:39

如果是在windows中,只需在终端/命令行实用程序中使用composer并执行以下操作:

代码语言:javascript
复制
composer dump-autoload

希望它能帮上忙!

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17174463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档