【问题标题】:SequelizeAssociationError: You have used the alias in two separate associations. Aliased associations must have unique aliasesSequelizeAssociationError:您在两个单独的关联中使用了别名。别名关联必须具有唯一别名
【发布时间】:2019-08-30 15:39:05
【问题描述】:

在 Sequelize v5 上配置模型之间的关联时,出现这样的错误。

/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)

我已经多次检查没有其他模型使用与上述相同的别名('originMenu')

附言。

我正在使用带有typescript decorator 的 Sequelize v5

【问题讨论】:

    标签: sequelize.js sequelize-typescript


    【解决方案1】:

    原来问题是因为我在 Sequelize 的初始设置中注册了两次模型。所以删除重复模型为我解决了核心问题。

    【讨论】:

    • 当...做了同样的事情。谢谢!
    • @KyleFarris,同样+1)
    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多