关于sequelize的belongsTo的问题?
按照上面这篇文章的说法使用belongsTo会创建对应的外键约束,但是实际结果并没有创建外键约束
实际结果:并没有对应的userId的外键
这是为什么?
model: User
const Sequelize = require("sequelize");
module.exports = sequelize => {
const User = sequelize.define("user", {
empId: {
type: Sequelize.STRING,
allowNull: false,
unique: true
}
});
return User;
};
model: Account
const Sequelize = require("sequelize");
module.exports = sequelize => {
const Account = sequelize.define("account", {
email: {
type: Sequelize.CHAR(20),
allowNull: false
}
});
return Account;
}
index.js
sequelize
.authenticate()
.then(() => {
const User = require('./model/User')(sequelize);
const Account = require('./model/Account')(sequelize);
sequelize.sync({
force: true
})
.then(async () => {
// User的实例对象将拥有getAccount、setAccount、createAccount方法
User.hasOne(Account); // 在target模型中插入关联键
// Account的实例对象将拥有getUser、setUser、createUser方法
Account.belongsTo(User); // 将关联键插入到source模型中
const user = await User.create({ empId: '1' }); // (1)
const account = await user.createAccount({ email: 'semlinker@gmail.com' }); // (2)
// console.log(account.get({ plain: true }));
})
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论