关于sequelize的belongsTo的问题?

发布于 09-12 04:36 字数 1650 浏览 31 评论 0

参考这篇sequelize入门案列

按照上面这篇文章的说法使用belongsTo会创建对应的外键约束,但是实际结果并没有创建外键约束
image.png

实际结果:并没有对应的userId的外键
image.png

这是为什么?

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文