关于sequelize的belongsTo的问题?

参考这篇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);

 });
阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题