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