我正在使用Laravel 4.2。我在我的库中加载了以下库composer.json
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。
delivery_notes
text
运行迁移时,出现以下错误:
[Doctrine \ DBAL \ DBALException]请求了未知的数据库类型枚举,Doctrine \ DBAL \ Platforms \ MySqlPlatform可能不支持它。
知道为什么我会收到此错误吗?我应该如何解决这个问题?我需要重命名表中的列。是否有其他方法可以重命名列?
Laravel的文档说:
注意 :enum不支持重命名列类型。
enum
此处:https://github.com/laravel/framework/issues/1186
您可以找到有关此问题的一些解决方法。既然您说过本专栏不是enum,那么请看 @upngo 的评论:
“ …问题是重命名具有的表上的 ANY 列enum。”
另外,我发现这篇文章重点讨论此问题,并提出了可能对您有所帮助的选项。
http://www.paulbill.com/110/laravel-unknown-database-type-enum-requested- doctrinedbalplatformsmysqlplatform-may-not-support- it