의존성

김영훈·2025년 4월 24일

NestJS

목록 보기
8/9
post-thumbnail

Dependencies

pnpm add 
class-validator class-transformer 
@nestjs/config joi 
pg
@nestjs/mapped-types
@nestjs/typeorm typeorm typeorm-transactional
bcrypt @nestjs/jwt 
cookie-parser
passport passport-jwt passport-local

Devdependencies

pnpm add -D 
@types/bcrypt @types/cookie-parser @types/passport-jwt @types/passport-local @types/multer

typeorm-transactional

TypeOrmModule.forRootAsync({
      useFactory: (configService: ConfigService) => ({
        type: configService.get<string>(envVariables.dbType) as 'postgres',
        host: configService.get<string>(envVariables.dbHost),
        port: configService.get<number>(envVariables.dbPort),
        username: configService.get<string>(envVariables.dbUsername),
        password: configService.get<string>(envVariables.dbPassword),
        database: configService.get<string>(envVariables.dbDatabase),
        entities: [Movie, MovieDetail, Director, Genre, User],
        synchronize: true,
        logging: true,
        logger: new FormattedLogger(),
      }),
      inject: [ConfigService],
      /* 트랜잭션 추가 */
      dataSourceFactory: async (options) => {
        const dataSource = new DataSource(options);
        return addTransactionalDataSource(await dataSource.initialize());
      },
    }),
// main.ts

async function bootstrap() {
  /* 트랜잭션 컨텍스트 초기화 */
  initializeTransactionalContext();
...

0개의 댓글