gpt4 book ai didi

Laravel 迁移 - 更新枚举选项

转载 作者:行者123 更新时间:2023-12-01 14:38:36 29 4
gpt4 key购买 nike

我正在尝试使用模式构建器向表添加枚举选项(不丢失当前数据集)。

我真正能够找到的关于列更改的唯一信息是 http://www.flipflops.org/2013/05/25/modify-an-existing-database-column-in-a-laravel-migration/我相信这是为 Laravel3 编写的。

即便如此,我还是尝试使用 DB::query('ALTER TABLE ...');命令但它出错了 call_user_func_array() 期望参数 1 是一个有效的回调,类 'Illuminate\Database\MySqlConnection' 没有方法 'query'。

DB::query("ALTER TABLE users CHANGE COLUMN permissions permissions ENUM('admin', 'user', 'candidate')");

我也试过这样做:
Schema::table('users', function ($table) {
$table->enum('permissions', array('admin', 'user', 'candidate'))->default('user');
});

但它出错说该列已经存在。

在不丢失该列中的所有数据的情况下做我想做的事情的最佳方法是什么?

最佳答案

使用 DB::statement 方法:

DB::statement("ALTER TABLE users CHANGE COLUMN permissions permissions ENUM('admin', 'user', 'candidate') NOT NULL DEFAULT 'user'");

关于Laravel 迁移 - 更新枚举选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25251186/

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