首页 > 解决方案 > sequelize 是否支持创建 PERSISTENT mariadb 列?

问题描述

我试图在我的表中添加一个新PERSISTENTMariaDB,但我似乎找不到正确的语法来执行此操作Sequelize

根据文档,我发现有,DataType.VIRTUAL但在我看来,这完全是为了别的东西。至少,它没有按照我尝试创建它的方式工作:

...
await queryInterface.addColumn('TableName', 'VirtualColumnName', {
    type: new DataTypes.VIRTUAL(DataTypes.ENUM('val1', 'val2', 'val3'), ['field1', 'field2']),
    get: function() {
      if (this.get('field1') !== null) return this.get('field1');
      else return this.get('field2');
    }
});

我可以直接MariaDB用于创建此列的普通查询是这样的:

ALTER TABLE `TableName` ADD `VirtualColumnName` ENUM('val1', 'val2') AS (COALESCE(field1, field2)) PERSISTENT

这是否可以通过 Sequelize 的查询界面实现,我做错了什么,或者我不得不在此处手动添加查询?

标签: mariadbsequelize.js

解决方案


推荐阅读