NestJs TypeORM 异步配置
Posted
技术标签:
【中文标题】NestJs TypeORM 异步配置【英文标题】:NestJs TypeORM async configuration 【发布时间】:2019-10-31 04:29:31 【问题描述】:我正在尝试使用@nestjs/typeorm
模块并使用异步配置。在我的app.module.ts
我有以下内容:
@Module(
controllers: [
AppController,
],
exports: [ConfigModule],
imports: [
ConfigModule,
TypeOrmModule.forRootAsync(
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (config: ConfigService) =>
console.log("config.getPostgresConfig(): ", config.getPostgresConfig());
return
...config.getPostgresConfig(),
entities,
synchronize: true,
type: "postgres",
as PostgresConnectionOptions;
,
),
],
providers: [AppService],
)
export class AppModule
console.log 打印正确的内容,但我经常收到此错误:
2019-06-17T14:41:35.569358700Z [Nest] 45 - 06/17/2019, 2:41 PM [NestFactory] Starting Nest application...
2019-06-17T14:39:31.277686600Z at Object.next (/root/node_modules/tslib/tslib.js:114:57)
2019-06-17T14:41:35.740192700Z [Nest] 45 - 06/17/2019, 2:41 PM [TypeOrmModule] Unable to connect to the database. Retrying (1)... +170ms
2019-06-17T14:41:35.740666500Z Error: No connection options were found in any of configurations file.
2019-06-17T14:41:35.740704100Z at ConnectionOptionsReader.<anonymous> (/root/src/connection/ConnectionOptionsReader.ts:41:19)
配置应该都是通过配置服务动态完成的,我不明白为什么它要求配置文件,以及为什么它无法连接到数据库。
【问题讨论】:
【参考方案1】:这是我的错,我还在另一个模块中导入TypeOrmModule.forRoot()
,这导致了很多问题。
【讨论】:
以上是关于NestJs TypeORM 异步配置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Nestjs 中使用 .env 文件设置 Typeorm 的配置