【发布时间】:2023-03-07 12:13:02
【问题描述】:
我正在尝试使用 Laravel 迁移更改数据库中的枚举值。
首先,我尝试了这个经典的变化:
Schema::table('questionnaires', function ($table) {
$table->enum('type', ['image', 'sound', 'video'])->nullable()->default('image')->change();
});
但我收到以下错误:
请求的未知数据库类型枚举, Doctrine\DBAL\Platforms\MySQL57Platform 可能不支持
我通过直接执行 SQL 解决了我的问题:
DB::statement("ALTER TABLE questionnaires MODIFY COLUMN type ENUM('image', 'sound', 'video') DEFAULT 'image'");
但这对我来说似乎不是最佳选择......
在与 Laravel 8 的“协议”中是否有更多解决方案, 不用通过纯 SQL 吗?
谢谢
【问题讨论】:
标签: laravel enums database-migration laravel-8