import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { ConfigModule, ConfigService } from '@nestjs/config'; @Module({ imports: [ TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (configService: ConfigService) => ({ type: (configService.get('DATABASE_TYPE', 'mariadb') as | 'mariadb' | 'mysql' | 'postgres') || 'mariadb', host: configService.get('DATABASE_HOST', 'localhost'), port: configService.get('DATABASE_PORT', 3306), username: configService.get('DATABASE_USERNAME', 'root'), password: configService.get('DATABASE_PASSWORD', 'root'), database: configService.get('DATABASE_NAME', 'bidding'), entities: [__dirname + '/../**/*.entity{.ts,.js}'], synchronize: false, }), }), ], }) export class DatabaseModule {}