首页 > 解决方案 > 使用 TypeOrm 未找到“用户”的元数据

问题描述

我正在尝试使用 TypeORM进行基本设置,并在设置后出现此错误。

这是一个 REPL(只需执行yarn install && yarn db:devyarn db:migrate && yarn start重现错误)

Inserting a new user into the database...
{ EntityMetadataNotFound: No metadata for "User" was found.
    at new EntityMetadataNotFoundError (/Users/admin/work/typeorm-naming-strategy/src/error/EntityMetadataNotFoundError.ts:9:9)
    at Connection.getMetadata (/Users/admin/work/typeorm-naming-strategy/src/connection/Connection.ts:313:19)
    at /Users/admin/work/typeorm-naming-strategy/src/persistence/EntityPersistExecutor.ts:77:55
    at Array.forEach (<anonymous>)
    at EntityPersistExecutor.<anonymous> (/Users/admin/work/typeorm-naming-strategy/src/persistence/EntityPersistExecutor.ts:71:30)
    at step (/Users/admin/work/typeorm-naming-strategy/node_modules/typeorm/persistence/EntityPersistExecutor.js:32:23)
    at Object.next (/Users/admin/work/typeorm-naming-strategy/node_modules/typeorm/persistence/EntityPersistExecutor.js:13:53)
    at /Users/admin/work/typeorm-naming-strategy/node_modules/typeorm/persistence/EntityPersistExecutor.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/Users/admin/work/typeorm-naming-strategy/node_modules/typeorm/persistence/EntityPersistExecutor.js:3:12)
  name: 'EntityMetadataNotFound',
  message: 'No metadata for "User" was found.' }

标签: typeorm

解决方案


添加答案有点晚,但它是非常常见的错误。

上述错误有两个主要原因。在 OrmConfig 中,

  1. 您使用了 *.ts 而不是 *.js。例如,
entities: [__dirname + '/../**/*.entity.ts']  <-- Wrong

它应该是

entities: [__dirname + '/../**/*.entity.js'] 
  1. 实体路径错误。确保实体路径是根据 dist 文件夹而不是 src 文件夹定义的。

推荐阅读