我正在使用sequelize 3.30.4。
我知道如何使用
label: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
}
我知道如何使用
catalogId: {
type: DataTypes.STRING,
allowNull: false,
unique: 'label',
},
label: {
type: DataTypes.STRING,
allowNull: false,
unique: 'label',
}
我正在寻找一个解决方案,其中catalogId是标签和引用唯一对的一部分。 我不能使用单个uniqu约束,它会通过更改引用来允许重复标签,反之亦然
catalogId: {
type: DataTypes.STRING,
allowNull: false,
unique: [ 'label', 'reference' ],
},
label: {
type: DataTypes.STRING,
allowNull: false,
unique: 'label',
}
reference: {
type: DataTypes.STRING,
allowNull: false,
unique: 'reference',
}
感谢您的帮助或建议。
答案 0 :(得分:0)
您可以添加单独的迁移以添加唯一约束。
module.exports = {
up: (queryInterface, Sequelize) => {
queryInterface.addConstraint('tableName', ['column1', 'column2'], {
type: 'unique',
name: 'constraintmame',
});
},
down: (queryInterface, Sequelize) => {
queryInterface.removeConstraint('tableName', 'constraintName');
},
};
这样,您可以在多个约束中使用column1
和column2
或任何此类列。