【发布时间】:2017-12-18 20:04:53
【问题描述】:
我们有两个模型,用户和项目。在 User.js 下
User = Model.define('User', {
id: {
type: DataType.UUID,
defaultValue: DataType.UUIDV1,
primaryKey: true,
},
});
在 Item.js 下
Item = Model.define('Item', {
id: {
type: DataType.UUID,
defaultValue: DataType.UUIDV1,
primaryKey: true,
},
});
这是他们的关联,一个用户可以有很多项。
User.hasMany(Items, {
foreignKey: {
allowNull: false,
name: 'itemId',
},
onUpdate: 'cascade',
onDelete: 'cascade',
});
假设每个用户可能只有每种类型的项目之一。 如何为此添加唯一约束?以下代码不起作用。
User.hasMany(Items, {
foreignKey: {
allowNull: false,
name: 'itemId',
unique: 'userItemUnique',
},
onUpdate: 'cascade',
onDelete: 'cascade',
});
Item = Model.define('Item', {
id: {
type: DataType.UUID,
defaultValue: DataType.UUIDV1,
primaryKey: true,
unique: 'userItemUnique',
},
});
【问题讨论】:
标签: node.js sqlite foreign-keys sequelize.js unique-constraint