Javascript Sequelize Association函数没有效果

Javascript Sequelize Association函数没有效果,javascript,sequelize.js,Javascript,Sequelize.js,我使用目前的Sequelize版本,并尝试在两个模型之间建立关联。实际上应该很简单,因为Sequelize提供了很多东西 但这一呼吁毫无效果。我用一个新的SQL数据库试过了。表本身是在没有任何外键的情况下创建的 数据库控制器 user.js subject.js 我找到了解决办法 必须在函数的最后调用await database.sync const userModel = require('../model/user') const subjectModel = require('../mod

我使用目前的Sequelize版本,并尝试在两个模型之间建立关联。实际上应该很简单,因为Sequelize提供了很多东西

但这一呼吁毫无效果。我用一个新的SQL数据库试过了。表本身是在没有任何外键的情况下创建的

数据库控制器

user.js

subject.js

我找到了解决办法

必须在函数的最后调用await database.sync

const userModel = require('../model/user')
const subjectModel = require('../model/subject')
const database = require('../db/database').sequeliceInstance

async function setupAssociations () {
  await database.sync()

  // user + subject
  userModel.hasMany(subjectModel)
  subjectModel.belongsTo(userModel)

  // subject and topic
  subjectModel.hasMany(topicModel)
  topicModel.belongsTo(subjectModel)

  // topic and question
  topicModel.hasMany(questionModel)
  questionModel.belongsTo(topicModel)

  // question and answer
  questionModel.hasMany(answerModel)
  answerModel.belongsTo(questionModel)
  return Promise.resolve()
}
const Sequelize = require('sequelize')
const db = require('../db/database').sequeliceInstance

const user = db.define('user', {
  // attributes
  firstName: {
    type: Sequelize.STRING,
    allowNull: false
  },
  lastName: {
    type: Sequelize.STRING,
    allowNull: false
  },
  email: {
    type: Sequelize.STRING,
    allowNull: false
  },
  title: {
    type: Sequelize.STRING,
    allowNull: false
  },
  password: {
    type: Sequelize.TEXT,
    allowNull: false
  }
})

module.exports = user
const Sequelize = require('sequelize')
const db = require('../db/database').sequeliceInstance

const subject = db.define('subject', {
  // attributes
  subjectName: {
    type: Sequelize.TEXT,
    allowNull: false
  }
})

module.exports = subject