준비사항 TypeORM 및 MySQL 패키지 설치 npm i @nestjs/typeorm typeorm mysql2 Nest JS와 TypeORM으로 프로젝트 코드 구성 controller, service 파일은 각자 구성하였다고 가정하고 Nest.js 을 실행했을 때 가장 먼저 열리는 초기 파일인 app.module.ts 파일에 대한 설정에 대해 다뤄보려고 한다. 기본적인 코드는 아래와 같이 작성했다. // app.module.ts import Joi from 'joi'; import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule, Typ..
ORM
초기 설정 - prisma 패키지 다운로드 npm install prisma @prisma/client - prisma 시작 / 초기화 npx prisma init : prisma/model , .env, gitignore 파일 생성된다. - env, prisma 변경 - prisma 모델 작성 - prisma 모델 작성 후 db 연동 npx prisma db push : 이 때 mongoose,sequelize 와 prisma의 다른점은 mongoose, sequelize는 모델/ 테이블을 수정하기 위해서 테이블을 내렸다가 다시 올려야하고 올리는 순서도 중요한데, prisma는 prisma의 모델 부분을 수정한 뒤에 다시 npx prisma db push 명령어를 사용하게 되면 테이블을 자동으로 변경할..
개요 sequelize로 생성된 API에서 3 layered architecture로 바꾼 뒤 prisma로 변경하는 과정에서 prisma model을 생성할 일이 있었다. 상품의 status를 나타내는 부분에서 type에 enum값을 쓸 일이 있었는데 prisma 모델 설정시 enum 값을 넣는 방법을 몰라서 찾아봤는데, 블로그 글은 없고 공식 문서에만 적혀있길래 한 번 정리해봤다. (내용자체는 진짜 짧다) ENUM 값 추가하기 prisma 공식 문서에서는 다음과 같이 enum 값을 쓰라고 정리되어 있다. model User { id Int @id @default(autoincrement()) email String @unique name String? role Role @default(USER) } ..