一尘不染

Laravel数据库迁移-重命名列错误-请求的未知数据库类型枚举

mysql

我正在使用Laravel 4.2。我在我的库中加载了以下库composer.json

"doctrine/dbal": "2.4.*",

我创建了以下迁移:

class RenameDeliveryNotesColumnOnOrderHeaderTable extends Migration {

    public function up()
    {
        Schema::table('order_header', function(Blueprint $table)
        {
            $table->renameColumn('delivery_notes', 'packing_notes');
        });
    }

}

delivery_notes列类型text

运行迁移时,出现以下错误:

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

知道为什么我会收到此错误吗?我应该如何解决这个问题?我需要重命名表中的列。是否有其他方法可以重命名列?


阅读 329

收藏
2020-05-17

共1个答案

一尘不染

Laravel的文档说:

注意enum不支持重命名列类型。

此处:https//github.com/laravel/framework/issues/1186

您可以找到有关此问题的一些解决方法。既然您说过本专栏不是enum,那么请看 @upngo 的评论:

“ …问题是重命名具有的表上的 ANYenum。”

另外,我发现这篇文章重点讨论此问题,并提出了可能对您有所帮助的选项。

http://www.paulbill.com/110/laravel-unknown-database-type-enum-requested-
doctrinedbalplatformsmysqlplatform-may-not-support-
it

2020-05-17