Laravel数据库迁移-重命名列错误-请求的未知数据库类型枚举 [英] Laravel db migration - renameColumn error - Unknown database type enum requested

查看:170
本文介绍了Laravel数据库迁移-重命名列错误-请求的未知数据库类型枚举的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Laravel 4.2.我在composer.json

I am using Laravel 4.2. I have the following library loaded in my 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的地方.

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

When I run the migration, I get the following error:

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

[Doctrine\DBAL\DBALException] Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.

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

Any idea why I am getting this error? How should I go about fixing this? I need to rename a column in my table. Are there any alternative way to rename the column?

推荐答案

Laravel的文档表示:

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

Note: Renaming enum column types is not supported.

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

您可以找到有关此问题的一些解决方法.而且,由于您说的是本专栏不是enum,因此请查看 @upngo 的评论:

You can find some workarounds about this issue. And since you said that this column is not enum, take a look at @upngo's comment:

"...问题是在具有enum的表上重命名 ANY 列."

"...The issue is renaming ANY column on a table that has an enum."

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

Also I found this article that focuses on this issue and suggest an option that might help you.

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

这篇关于Laravel数据库迁移-重命名列错误-请求的未知数据库类型枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆