gpt4 book ai didi

node.js - Sequelize : Change column type to ENUM

转载 作者:行者123 更新时间:2023-11-29 12:43:30 28 4
gpt4 key购买 nike

我似乎无法找到将列中的数据持久化的同时将列从 String 类型更改为 ENUM 的正确方法。

我还尝试创建一个具有 ENUM 类型的新列,然后在列之间复制数据:

// migrations/20160606170538-change-column.js

'use strict';

module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.addColumn('time', 'newcolumn', {
allowNull: true,
type: Sequelize.ENUM('1-day', '7-day', '1-month', '3-month', '6-month', '1-year')
}).then(function () {
return queryInterface.sequelize.query("UPDATE time SET newcolum = oldcolumn");
});
},

down: function (queryInterface, Sequelize) {
}
};

但是我在迁移时返回了以下错误:

error: column "newcolumn" is of type enum_time_newcolumn but expression is of type character varying]

最佳答案

Postgres 不知道 oldcolumn 中的字符串数据可以放入枚举值中 - 尝试转换它

return queryInterface.sequelize.query("UPDATE time SET newcolum = oldcolumn::enum_time_newcolumn");

关于node.js - Sequelize : Change column type to ENUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37668376/

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