Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 614
Aditya Kresna Permana Avatar asked Aug 30 '19 07:08

Aditya Kresna Permana


1 Answers

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.

like image 200
Aditya Kresna Permana Avatar answered Dec 22 '22 04:12

Aditya Kresna Permana