Node.js

[NestJs] NestJs에서 typeorm 세팅하기(Docker-compose사용)

무서운승태 2023. 12. 18. 20:58
728x90

1.Nest 프로젝트 생성

// nest cli가 설치가 안되어있다면 설치해주어야 한다.
npm i -g @nestjs/cli

// 프로젝트 생성
nest new "프로젝트 이름"

2. 필요한 패키지 다운로드 (typeorm, postgres)

yarn add @nestjs/typeorm typeorm pg

 

3.docker-compose 파일을 생성 후 파일 작성

  • 데이터베이스 환경을 설치하기 위해서(여기서는 postgres를 사용한다.)
  • yaml파일로 생성한다

// 사용할 서비스의 목록
services:
	//서비스 이름
  postgres:
  	// 이미지 이름 (docker hub)
    image: postgres:15
    restart: always
    // 동기화
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    ports:
      - '5432:5432'
    // 실제 사용환경 값 세팅
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: typeormstudy

 

4.app.module.ts 파일에 import 해준다.

  • docker-compose에서 사용했던 정보를 입력해 준다.
@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'postgres',
      host: '127.0.0.1',
      port: 5432,
      username: 'postgres',
      password: 'postgres',
      database: 'typeormstudy',
      entities: [],
      synchronize: true,
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

 

5.docker-compose up 명령어로 데이터베이스 실행 + 서버실행

// 데이터베이스 실행
docker-compose up

// 서버실행
yarn start:dev

'Node.js' 카테고리의 다른 글

[NestJs] Custom Decorator  (0) 2023.12.28
[NestJs]Guard 사용하기  (0) 2023.12.27
[NestJs]Pipe사용하기  (1) 2023.12.26
[NestJs]Model간 Relationship 설정 + Relation Options  (1) 2023.12.22
[NestJs]의존성 주입과 제어의 역전  (0) 2023.12.11