gpt4 book ai didi

php - Laravel 5.1 请求未知数据库类型枚举

转载 作者:IT王子 更新时间:2023-10-29 00:55:14 25 4
gpt4 key购买 nike

在运行 php artisan migrate 时,出现以下错误

[Doctrine\DBAL\DBALException]
Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform 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 中所述的已知问题 documentation .

Note: Renaming columns in a table with a enum column is not currently supported.

当您的数据库表中有一个 enum 列时,就会发生这种情况。无论您是尝试重命名另一列,还是将另一列更改为 nullable,都会出现此错误。这是 Doctrine\DBAL 的问题。

一个简单的解决方法就是在您的数据库迁移文件中添加这个构造方法。

public function __construct()
{
DB::getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
}

这会将所有 ENUM 列映射到 VARCHAR(),并且该列将接受任何字符串。

This worked for me on Laravel 5.1 and Laravel 5.3. I hope this bug can be fixed soon.

感谢@Gmatkowski 的回答 https://stackoverflow.com/a/32860409/1193201

关于php - Laravel 5.1 请求未知数据库类型枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com