我在进行序列化迁移时遇到错误, 在设置typedatas文本之前,我尝试更改为json时出现了一些错误...
ERROR: column "value" cannot be cast automatically to type jsonb
这是新代码:
up: (queryInterface, Sequelize) => Promise.resolve()
.then(async () => {
await queryInterface.changeColumn('Action', 'value', {
type: Sequelize.JSONB,
allowNull: false,
defaultValue: {},
})
}),
这是我要更改的迁移代码:
up: (queryInterface, Sequelize) => queryInterface.createTable('Action', {
....
value: {
type: Sequelize.TEXT,
allowNull: false,
defaultValue: '',
},
....
}
怎么了?
答案 0 :(得分:1)
简单的解决方案... 我更改为
type: 'JSONB USING CAST ("value" as JSONB)'`
如https://github.com/sequelize/sequelize/issues/2471
解决了我的问题...
答案 1 :(得分:0)
接受的答案对我不起作用。
我用了这个,效果很好。
type: `${Sequelize.JSONB} using to_jsonb(col_name)`