import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { join } from 'path'; import { AuthModule } from './auth/auth.module'; import { UsersModule } from './users/users.module'; import { JwtService } from '@nestjs/jwt'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), // .env 불러오도록 설정 TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (config: ConfigService) => ({ type: 'mysql', host: config.get('DB_HOST'), port: parseInt(config.get('DB_PORT', '3306'), 10), username: config.get('DB_USERNAME'), password: config.get('DB_PASSWORD'), database: config.get('DB_DATABASE'), entities: [join(__dirname, '**', '*.entity.{ts,js}')], synchronize: config.get('NODE_ENV') !== 'production', // 개발 중에만 true autoLoadEntities: true, logging: true, }), }), AuthModule, UsersModule, ], controllers: [AppController], providers: [AppService, JwtService], }) export class AppModule {}