import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { BidItem } from '../bids/entities/bid-item.entity'; import { Keyword } from '../keywords/keyword.entity'; import { AiRecommendation } from '../ai/entities/ai-recommendation.entity'; import { CrawlInfoAdd } from '../crawler/entities/crawl-info-add.entity'; @Module({ imports: [ TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (configService: ConfigService) => ({ type: configService.get('DATABASE_TYPE', '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: [BidItem, Keyword, AiRecommendation, CrawlInfoAdd], synchronize: configService.get('DATABASE_SYNCHRONIZE', true), }), }), ], }) export class DatabaseModule {}