有条件地续集allownull约束
Posted
技术标签:
【中文标题】有条件地续集allownull约束【英文标题】:Sequelize allownull constraint conditionally 【发布时间】:2020-08-09 20:17:10 【问题描述】:我需要在 sequelize 中进行迁移以更改列。如何根据另一列的值对一列使用 allowNull 约束? 例如,考虑我有 A 列和 B 列。在迁移中,我想要如下所示:
queryInterface.changeColumn('book', ['A'],
allowNull: false,
where: B: true
);
但正如我在示例中看到的,我们不能在 changeColumn 中使用 'where'。
【问题讨论】:
【参考方案1】:我认为你必须使用 customValidator 来解决这个问题:
queryInterface.changeColumn('book', ['A'],
allowNull: true,
validate:
customValidator(value)
if (value === null && this.B)
throw new Error("A not be null if B === true");
);
【讨论】:
以上是关于有条件地续集allownull约束的主要内容,如果未能解决你的问题,请参考以下文章