解决laravel执行数据库迁移文件修改不支持enum类型的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32080545/article/details/79739548

报错如下:

In AbstractPlatform.php line 423:

  Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.

这里写图片描述

解决方法:
在迁移文件中添加如下一行:

Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');

完整代码:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class UpdateUserFundTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //
        Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
        Schema::table('user_fund',function ($table){
            $table->decimal('pay_num',12,4)->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}

猜你喜欢

转载自blog.csdn.net/qq_32080545/article/details/79739548
今日推荐