php artisan migrate laravel上的错误

Dan*_*ius 5 php enums laravel

我正在使用 Laravel 并且我有功能迁移:

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

当我在 cmd 上执行“php artisan migrate”时,出现错误:

[Doctrine\DBAL\DBALException] 请求未知的数据库类型枚举,Doctrine\DBAL\Platforms\MySqlPlatform 可能不支持它。

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

Ohg*_*why 1

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

当您第一次运行时composer install,您应该安装几个“推荐”依赖项。没有人这样做过,但最终您可能会发现一些小错误并花费数小时在其上,然后才意识到嘿...也许我应该尝试那些其他可选依赖项

别像我一样。相反,请尝试我下面概述的方法。

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

添加该行后,进行作曲家更新,然后将此行添加到迁移中:

use Doctrine\DBAL\Schema\Schema
Run Code Online (Sandbox Code Playgroud)

执行此操作后,您不应再看到该错误。