gpt4 book ai didi

sequelize.js - Sequelize,使用相同字段的许多唯一组合键

转载 作者:行者123 更新时间:2023-12-03 22:20:09 25 4
gpt4 key购买 nike

如果我正在设计一个包含以下字段的表格
column_one、column_two、column_three,并且我希望组合 (column_one:column_two) 是唯一的,我将执行以下操作:

column_one: { type: DataTypes.INTEGER, unique: 'composite_one'},
column_one: { type: DataTypes.INTEGER, unique: 'composite_one'},
column_three: { type: DataTypes.INTEGER}

如果我需要两个独特的组合,都包括一个字段怎么办?例如:(column_one:column_two) 和 (column_one:column_three) 必须都是唯一的,但 (column_two:column_three) 可以重复

理论上它会是这样的:
column_one: { type: DataTypes.INTEGER, unique: 'composite_one', unique: 'composite_two'},
column_one: { type: DataTypes.INTEGER, unique: 'composite_one'},
column_three: { type: DataTypes.INTEGER, unique: 'composite_two'}

这不是连接表,我不想使用任何原始查询。

此外,column_one 必须创建具有 2 和 3 的唯一组合,但这并不意味着第一、二和三列必须创建一个唯一的组合。

如果解释不清楚,我举个例子:
column_one ----- column_two ---- column_three
-11---------------12----------------13-------
-11---------------12----------------14-------
-18---------------12----------------15-------

不是有效的数据集,因为有两行 (column_one: column_two) = (11:12)


column_one ----- column_two ---- column_three
-11---------------12----------------13-------
-11---------------17----------------12-------
-18---------------12----------------15-------
-11---------------12----------------15-------

是一组有效的数据

最佳答案

在迁移过程中,您可以使用 sequelize addConstraint 方法

来自 Docs

 queryInterface.addConstraint('Users', ['email', 'name'], { type: 'unique', name: 'custom_unique_constraint_name' });

关于sequelize.js - Sequelize,使用相同字段的许多唯一组合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44906394/

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