【发布时间】:2019-05-24 20:42:18
【问题描述】:
我有两个表"Users" 和"Applications",这样一个用户就有多个应用程序。
现在,我想添加一个约束,即每个用户可以有多个但唯一的应用程序名称。
我尝试过unique: 'compositeIndex',但它仅适用于列,不适用于'application' 表中的'userId' 之类的外键列。
const createApplications = (sequelize, DataTypes) => {
const applications = sequelize.define('applications', {
name: {
type: DataTypes.STRING,
allowNull: false,
unique: 'compositeIndex'
}
});
applications.associate = models => {
applications.belongsTo(models.users, {
delete: 'CASCADE',
foreignKey: 'user_id',
unique: 'compositeIndex'
});
}
return applications;
};
const createUsers = (sequelize, DataTypes) => {
const users = sequelize.define('users', {
eid: {
type: DataTypes.STRING,
allowNull: false
},
password: {
type: DataTypes.STRING,
allowNull: false
}
})
return users;
};
【问题讨论】:
标签: node.js sequelize.js