我正在使用Laravel,并且具有功能移植:

public function up()
{
    Schema::table('articles', function (Blueprint $table) {
        $table->string('article_title',100)->change();
    });
}

当我在cmd上执行'php artisan migration'时,出现错误:



我什至不使用枚举!而且我也没有任何其他未迁移且具有枚举的迁移。

最佳答案

我相信我以前有过这个问题。问题在于提供给Schema工厂的database migration类实际上是Doctrine\DBAL\Schema类的抽象,而不是直接重复。

首次运行composer install时,应安装几个“推荐”依赖项。从来没有人这样做,但是最终您可能会发现一些小错误,并花了数小时,才意识到Hey ...也许我应该尝试其他可选的依赖项?

别像我相反,请尝试我在下面概述的内容。

您需要直接将"doctrine/dbal": "^2.5",(或阅读时存在的任何稳定版本)添加到composer.json下的"require": {文件中。

添加该行之后,进行 Composer 更新,然后将此行添加到您的迁移中:

use Doctrine\DBAL\Schema\Schema

完成此操作后,您应该再也不会看到该错误。

10-06 08:55
查看更多