개발이야기/Node&Nest

Nest.js의 TypeORM의 접속정보 분리하기

Roslyn 2024. 1. 23. 11:27
반응형

TypeORM의 접속에 필요한 정보를 dbconfig.ts 파일로 따로 분리하여 app.module.ts의 소스코드를 간소화 시켜보겠습니다.

 

먼저 다음과 같이 분리된 접속 정보를 작성해 줍니다.

import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { Member } from './entities';

const config: TypeOrmModuleOptions = {
    logging:false,
    type: 'mssql',
    host: String(process.env.DATABASE_HOST),
    port: Number(process.env.DATABASE_PORT),
    username: String(process.env.DATABASE_USERNAME),
    password: String(process.env.DATABASE_PASSWORD),
    database: String(process.env.DATABASE_NAME),
    entities: [Member],
    synchronize: Boolean(process.env.DATABASE_SYNC),
    extra: {
      options: {
        encrypt: false,
        TrustServerCertificate: true,
      },
    },
  };

export = config;

 

다음 app.module.ts를 다음과 같이 수정해 줍니다.

import { Module } from '@nestjs/common';
import { MemberController,UserController } from './controllers';
import { MemberService,UserService,CryptoService } from './services';
import { TypeOrmModule } from '@nestjs/typeorm';
import * as dbconfig from './dbconfig';
import { Member } from './entities';

@Module({
  imports: [
    TypeOrmModule.forRoot(dbconfig),
    TypeOrmModule.forFeature([Member]),
  ],
  controllers: [MemberController],
  providers: [MemberService],
  
})
export class AppModule {}

 

이제 실행시키면 정상 동작하는 것을 볼 수 있습니다.

 

반응형