我已经创建了两个具有OneToOne关系的表父表"用户"子表userinfo
但是我可以创建任意多个子变量它们都有相同的foreignkey,它不会响应任何错误
我该怎么做才能让它停下来
这是我尝试过的:
模型/index.js
//...configs
db.users = require("./Users")(sequelize, DataTypes);
db.userinfo = require("./UserInfo")(sequelize, DataTypes);
db.users.hasOne(db.userinfo);
db.userinfo.belongsTo(db.users, {
foreignKey: {
name: "userId",
type: DataTypes.UUID,
},
});
虽然已经设置了外键,但还需要强制惟一约束。要对userinfo
表中的userId
外键实施唯一约束,请执行以下操作:
db.users.hasOne(db.userinfo);
db.userinfo.belongsTo(db.users, {
foreignKey: {
name: "userId",
type: DataTypes.UUID,
unique: true // enforce unique constraint
}
});
通过设置unique: true
,可以确保";user"中的每个用户表中只能有一条关联记录