无法 运行 php artisan 在 Laravel 中迁移

Unable to run php artisan migrate in Laravel

我是 laravel 的新手,在工作时我创建了一个新的迁移。 运行执行命令php artisan migrate后,迁移成功。然后我回到之前创建的迁移并添加了一些新字段。当我 运行 返回命令 php artisan migrate 时,我收到了消息 Nothing to migrate。然后我应该 运行 命令 php artisan migrate:refresh 应用更改,但我不想回滚一些迁移,所以我去了那些迁移,我修改了最后一个方法如下

/**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        // The line below has been commented to prevent rollback
        // Schema::drop('table-name');
    }

从那以后当我 运行 php artisan migrate 我得到以下错误: [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Carbon' not found 我有 运行 composer updatecomposer dump-autoloadcomposer clear-cachephp artisan migrate:refreshphp artisan migrate:rollbackphp artisan migrate:reset

请帮我解决这个问题。

在您的迁移 classes 或脚本中,您使用了 Carbon class,但忘记了 import/include。

添加

use Carbon/Carbon;

在您使用 Carbon class 和 运行 迁移的迁移脚本中。

ref link: http://laravel.io/forum/03-12-2014-class-carbon-not-found

我不建议在迁移的 down 方法中注释某些行。 通常 down() 方法应该总是撤消 up() 方法中所做的操作。

如果您想向现有的 table 添加一些字段并且不想通过刷新丢失一些数据,那么只需创建另一个迁移并指定您想要的 table调整。例如:

php artisan make:migration add_some_fields_to_users --table=users

您也可以考虑使用 Database Seeds,这样您就可以刷新您的迁移,然后再次为数据库播种数据。这在开发阶段非常强大。

对于 Carbon 问题,@Sanrekula 的答案很可能就是您要找的。