使用环境文件进行NestJs TypeORM配置

我有两个.env文件,例如dev.envstaging.env。我正在使用typeorm作为我的数据库ORM。我想知道每当我运行应用程序时如何让typeorm读取其中一个配置文件。Error:

No connection options were found in any of configurations

file来自typeormmodule。

回答:

您可以创建一个ConfigService来读取与环境变量相对应的文件NODE_ENV

1)NODE_ENV在您的启动脚本中设置变量:

"start:dev": "cross-env NODE_ENV=dev ts-node -r tsconfig-paths/register src/main.ts",

"start:staging": "cross-env NODE_ENV=staging node dist/src/main.js",

2)在ConfigService中读取相应的.env文件

@Injectable()

export class ConfigService {

private readonly envConfig: EnvConfig;

constructor() {

this.envConfig = dotenv.parse(fs.readFileSync(`${process.env.NODE_ENV}.env`));

}

get databaseHost(): string {

return this.envConfig.DATABASE_HOST;

}

}

3)使用ConfigService来建立您的数据库连接:

TypeOrmModule.forRootAsync({

imports:[ConfigModule],

useFactory: async (configService: ConfigService) => ({

type: configService.getDatabase()

// ...

}),

inject: [ConfigService]

}),

以上是 使用环境文件进行NestJs TypeORM配置 的全部内容, 来源链接: utcz.com/qa/432082.html

回到顶部