2

I am using sequelize with express, these are my models (that i've been debugging for almost 2hrs). I'm trying to implement Many to many from my table User to Requirement through UserRequirement. User -> UserRequirement <- Requirement

Requirement Table

    'use strict';
    // Import Packages
    const { Model } = require('sequelize');
    module.exports = (sequelize, DataTypes) => {
    class s_requirement** extends Model {
      static associate(models) {
      this.belongsToMany(models.user, { through: models.s_user_requirement })
    }
  }

User Table

    'use strict';
    // Import Packages
    const { Model } = require('sequelize');
    module.exports = (sequelize, DataTypes) => {
    class user extends Model {
      static associate(models) {
      this.belongsToMany(models.s_requirement, { through: models.s_user_requirement })
    }
  }

And for the association table, UserRequirement

    'use strict';

    // Import Packages
    const { Model } = require('sequelize');

    module.exports = (sequelize, DataTypes) => {

    class s_user_requirement extends Model {
    }
  }

s_user_requirement.init({
usre_id: {
  type: DataTypes.UUID,
  primaryKey: true,
  defaultValue: DataTypes.UUIDV4
},
usre_tutor_id: {
  type: DataTypes.UUID,
  references: {
    model: sequelize.user,
    key: "user_id"
  }
},
usre_requ_id: {
  type: DataTypes.UUID,
  references: {
    model: sequelize.s_requirement,
    key: "requ_id"
  }
} })

When I remove the references at usre_tutor_id and usre_requ_id, the typeerror will not appear but will create an autogenerated column as its foreignkey. how can I make usre_tutor_id and usre_requ_id as the foreignkey of this association. Thank you!

0 Answers0