nestjs ConfigService无法注入数据库配置的问题。

重点就是加上configmodule.forRoot放入封装好的database。

import database from './config/configuration';
   ConfigModule.forRoot({ isGlobal: true, load: [database] }),
// 使用的时候, 需要异步注入 typeorm 中
TypeOrmModule.forRootAsync({
  inject: [ConfigService],
  // 这里把database封装在一起不用一个一个去获取了。
  useFactory: (config: ConfigService) => config.get('database'),
}), UsersModule, AuthModule

这个databse封装的时候也很特殊,需要用到别名。

configuration.ts

// 可用配置database 起一个别名从后面取到
export default registerAs('database', () => ({
    type: process.env.DB_TYPE,
    host: process.env.DB_HOST_DEV,
    port: parseInt(process.env.DB_PORT, 10),
    username: process.env.DB_USERNAME,
    password: process.env.DB_PASSWORD,
    database:
        process.env.NODE_ENV === 'production'    // 判断是否是开发环境
            ? process.env.DB_DATABASE_PRO
            : process.env.DB_DATABASE_DEV,
    entities: [join(__dirname, '../', '**/**.entity{.ts,.js}')],
    // __dirname + '/**/*.entity{.ts,.js}'
    synchronize: false,
    timezone: '+08:00',
    // cache: {
    //     duration: 60000,
    // },
    // extra: {
    //     poolMax: 32,
    //     poolMin: 16,
    //     queueTimeout: 60000,
    //     pollPingInterval: 60,
    //     pollTimeout: 60,
    // }
}));

官网去看看,
https://docs.nestjs.com/techniques/configuration

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值