问题描述
我正在使用 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:
[DoctrineDBALDBALException] 请求的未知数据库类型枚举,DoctrineDBALPlatformsMySqlPlatform 可能不支持.
[DoctrineDBALDBALException] Unknown database type enum requested, DoctrineDBALPlatformsMySqlPlatform 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 db 迁移 - renameColumn 错误 - 请求了未知的数据库类型枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!