NodeJS TypeOrm无法通过目录路径识别实体

iyfjxgzm  于 2023-04-05  发布在  Node.js
关注(0)|答案(2)|浏览(139)

我使用typeorm与nestjs和postgreSql,并试图通过datasource选项对象加载实体,该对象在typeorm模块内的useFactory异步函数中传递,如

@Module({
  imports: [TypeOrmModule.forRootAsync({ useFactory: () => (datasourceOptions) })],
})

这个dataSourceOptions obejct在一个单独的文件中,其中分别包含选项和值的键值对。我想通过typeorm来检查和识别通过glob模式的实体

entities: [
        join(__dirname, "../**/*entity{.ts,.js}")
    ],

像这样,我已经尝试用不同的模式测试它,但我仍然无法让它工作,我记得它以前用这些模式自动注册实体,现在为了解决这个问题,我手动输入实体而不是模式。我如何解决这个问题,以便所有实体都被注册,而无需我手动逐个输入实体名称,如

entities: [User, Conversation,Room, ],

我试着使用不同的glob模式,甚至是以前工作过的验证模式,但现在都不工作了,我不知道这是不是因为最近typeorm数据源选项的一些变化。

xxb16uws

xxb16uws1#

我回滚到0.3.11,它工作了。
此问题与Windows中的路径有关:https://github.com/typeorm/typeorm/issues/9766
问题似乎在于微小的变更(0.3.12)。
安装:

"typeorm": "0.3.11"

非:

"typeorm": "^0.3.11",
"typeorm": "^0.3.12",
"typeorm": "0.3.12",
webghufk

webghufk2#

这份工作对我来说

entities: ['dist/**/*.entity.js'],

我的文件夹结构:

src
  └── modules
      └── user
          ├── user.controller.ts
          ├── user.entity.ts
          ├── user.module.ts
          └── user.service.ts

相关问题