sequelize.jssequelize-typescript

SequelizeAssociationError: You have used the alias in two separate associations. Aliased associations must have unique aliases


On Sequelize v5 When I configuring the associations between models I got error like this.

/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/base.js:106
      throw new AssociationError(`You have used the alias ${options.as} in two separate associations. ` +
            ^
SequelizeAssociationError: You have used the alias originMenu in two separate associations. Aliased associations must have unique aliases.
    at new Association (/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/base.js:106:13)
    at new BelongsTo (/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/belongs-to.js:18:5)
    at Function.<anonymous> (/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/mixin.js:105:25)
    at Function.Model.(anonymous function) [as belongsTo] (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/model/model/model.js:116:28)
    at associations.forEach.association (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:54:52)
    at Array.forEach (<anonymous>)
    at models.forEach.model (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:48:26)
    at Array.forEach (<anonymous>)
    at Sequelize.associateModels (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:44:16)
    at Sequelize.addModels (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:36:14)
    at Object.<anonymous> (/home/aditya/project/apisrv/src/repositories/pg/index.ts:44:15)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Module.m._compile (/home/aditya/project/apisrv/node_modules/ts-node/src/index.ts:473:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/home/aditya/project/apisrv/node_modules/ts-node/src/index.ts:476:12)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/home/aditya/project/apisrv/src/controllers/UserController.ts:7:1)
    at Module._compile (internal/modules/cjs/loader.js:688:30)

I've been checking multiple times that there are no other models using the same alias name as mentioned ('originMenu')

PS.

I'm using Sequelize v5 with typescript decorator


Solution

  • Turns out the problem is because I registering the model twice at initial setup on Sequelize. So removing duplicates model fix the core problems for me.