1. 程式人生 > >解決laravel執行資料庫遷移檔案修改不支援enum型別的方法

解決laravel執行資料庫遷移檔案修改不支援enum型別的方法

報錯如下:

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() { // } }