반응형
1. npx prisma init
용도:
- Prisma 프로젝트를 초기화할 때 사용.
- prisma 디렉토리와 기본적인 설정 파일을 생성.
실행 결과:
- prisma/schema.prisma 파일 생성:
- 데이터베이스 모델을 정의하는 파일.
- 환경 변수 파일(.env) 생성:
- 데이터베이스 연결 URL을 설정.
- 예시 디렉토리 구조:
prisma/
├── schema.prisma
.env
사용 시점:
- 새로운 Prisma 프로젝트를 시작할 때.
- NestJS, Express 등과 Prisma를 처음 통합할 때.
명령어 실행:
npx prisma init
2. npx prisma migrate dev
용도:
- 데이터베이스 스키마를 업데이트할 때 사용.
- 변경된 모델을 데이터베이스에 적용하고, 마이그레이션 파일을 생성.
실행 결과:
- prisma/migrations 디렉토리 생성:
- 변경된 데이터베이스 스키마를 SQL 파일로 기록.
- 각 마이그레이션은 타임스탬프 기반 폴더에 저장.
prisma/ ├── migrations/ │ ├── 20250108120000_add_users_table/ │ │ └── migration.sql
- 데이터베이스에 스키마 변경사항 적용:
- 테이블 생성, 컬럼 추가/수정 등.
사용 시점:
- schema.prisma에 모델을 수정하고 이를 데이터베이스에 적용할 때.
- 개발 환경에서 마이그레이션을 빠르게 테스트할 때.
명령어 실행:
npx prisma migrate dev --name <migration-name>
- 예시:
npx prisma migrate dev --name add_user_model
3. npx prisma generate
용도:
- Prisma Client를 생성할 때 사용.
- schema.prisma의 데이터베이스 모델을 기반으로 애플리케이션에서 사용 가능한 코드(Prisma Client)를 생성.
실행 결과:
- node_modules/@prisma/client 생성:
- Prisma Client 코드가 이 디렉토리에 저장.
- 애플리케이션 코드에서 데이터베이스와 상호작용할 때 사용.
- 애플리케이션에서 다음과 같이 사용 가능:
- import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); const users = await prisma.user.findMany(); console.log(users);
사용 시점:
- schema.prisma를 수정한 후 Prisma Client를 다시 생성할 때.
- 마이그레이션 후, 클라이언트 코드에 변경 사항을 반영할 때.
명령어 실행:
npx prisma generate
요약
명령어 용도 사용 시점
npx prisma init | 프로젝트 초기화, Prisma 설정 파일 및 디렉토리 생성 | 새로운 Prisma 프로젝트를 시작할 때 |
npx prisma migrate dev | 데이터베이스 스키마 업데이트, 마이그레이션 파일 생성 | 모델 변경 후 데이터베이스와 동기화가 필요할 때 |
npx prisma generate | Prisma Client 생성, 데이터베이스와 상호작용할 수 있는 코드 생성 | 모델 변경 후 애플리케이션에서 Prisma Client를 업데이트할 때 |
실행 순서 (새로운 프로젝트의 경우):
- 초기화:
npx prisma init
- 모델 정의:
schema.prisma에 모델(User, Post 등)을 정의. - 마이그레이션 실행:
npx prisma migrate dev --name <migration-name>
- Prisma Client 생성:
npx prisma generate
- npx prisma db push
schema.prisma 파일에 설정된 모델을 바탕으로 MySQL(DB)에 정보를 업로드 한다. - prisma db push
schema.prisma 파일에 정의된 설정값을 실제 db에 반영한다.(db 구조를 변경하거나 새로운 테이블을 생성할 수 있다.) - npx prisma init
schema.prisma 파일과 같은 필요한 설정 파일들이 생성된다. - prisma generate
Prisma Client를 생성하거나 업데이트한다.
대표적으로, schema.prisma 파일에 변경 사항이 생겼거나, 데이터베이스 구조가 변경되었을때, 이 명령어를 사용해 Prisma Client를 최신 상태로 유지한다. - prisma db pull
현재 연결된 데이터베이스의 구조를 prisma.schema 파일로 가져옵니다.(pull)
데이터베이스에서 구조 변경이 됐을 떄, 이 명령어를 사용하면 Prisma Schema를 최신 상태로 유지한다.
이후 - prisma generate 명령어를 사용해 변경 사항을 Prisma Client에 반영할 수 있다. - npx prisma db push --force-reset
db 정의한 거 새로하거나 db데이터 삭제 후 다시 테이블 만듦
* 이후 실행 npm run start:dev
'back-end > NestJs' 카테고리의 다른 글
nest cli 명령어 모음 (generate 기능) (0) | 2025.01.10 |
---|---|
Prisma를 사용할 때 명령어 실행 순서 정리 (0) | 2025.01.08 |
Prisma db 관련 설명과 그 용도 (0) | 2025.01.08 |