Laravel 5.1 Unknown database type enum requested(Laravel 5.1 请求未知数据库类型枚举)
问题描述
在运行 php artisan migrate 时,出现以下错误
While running php artisan migrate, I got the following error
[DoctrineDBALDBALException]
请求的未知数据库类型枚举,DoctrineDBALPlatformsMySqlPlatform 可能不支持它.
[DoctrineDBALDBALException]
Unknown database type enum requested, DoctrineDBALPlatformsMySqlPlatform may not support it.
如何解决此问题.
代码:
public function up() {
Schema::table('blogs', function (Blueprint $table) {
$table->string('wordpress_id')->nullable();
$table->string('google_blog_id')->nullable()->change();
});
}
推荐答案
官方 Laravel 5.1 文档指出:
The official Laravel 5.1 documentation states:
注意:目前不支持使用枚举列重命名表中的列.
Note: Renaming columns in a table with a enum column is not currently supported.
如果您尝试更改另一列并不重要,如果表包含 enum
anywhere 它将不起作用.这是一个 Doctrine DBAL 问题.
It doesn't matter if you're trying to change another column, if the table contains a enum
anywhere it won't work. It's a Doctrine DBAL issue.
作为一种解决方法,您可以删除该列并添加一个新列(列数据将丢失):
As a workaround you could either drop the column and add a new one (column data will be lost):
public function up()
{
Schema::table('users', function(Blueprint $table)
{
$table->dropColumn('name');
});
Schema::table('users', function(Blueprint $table)
{
$table->text('username');
});
}
或使用 DB 语句:
public function up()
{
DB::statement('ALTER TABLE projects CHANGE slug url VARCHAR(200)');
}
public function down()
{
DB::statement('ALTER TABLE projects CHANGE url slug VARCHAR(200)');
}
来源:https://github.com/laravel/framework/issues/1186
这篇关于Laravel 5.1 请求未知数据库类型枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel 5.1 请求未知数据库类型枚举
基础教程推荐
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01