【问题标题】:Unable to run php artisan migrate in Laravel无法在 Laravel 中运行 php artisan migrate
【发布时间】:2016-10-12 03:33:17
【问题描述】:

我是 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 update, composer dump-autoload, composer clear-cache, php artisan migrate:refresh, php artisan migrate:rollback, php artisan migrate:reset

请帮我解决这个问题。

【问题讨论】:

    标签: php mysql ruby-on-rails symfony laravel-5.3


    【解决方案1】:

    在您的迁移类或脚本中,您使用了 Carbon 类,但忘记导入/包含。

    添加

    use Carbon/Carbon;
    

    在您使用 Carbon 类并运行迁移的迁移脚本中。

    参考链接:http://laravel.io/forum/03-12-2014-class-carbon-not-found

    【讨论】:

      【解决方案2】:

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

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

      php artisan make:migration add_some_fields_to_users --table=users
      

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

      对于您而言,碳问题很可能来自@Sanrekula 的答案就是您正在寻找的。​​p>

      【讨论】:

        猜你喜欢
        • 2018-12-05
        • 1970-01-01
        • 2016-09-07
        • 2021-06-06
        • 2017-08-08
        • 2019-02-24
        • 2020-10-23
        • 2020-06-20
        • 2016-08-09
        相关资源
        最近更新 更多