Prisma로 스키마 마이그레이션 하기
스키마 마이그레이션 관리
warning
MongoDB는
prisma db push
만 지원하므로 이 문서가 적용되지 않습니다.- standalone인 경우 트랜잭션을 지원하지 않으므로 정상 작동하지 않을 수 있습니다.
prisma/migrations
디렉토리의<migration>/migration.sql
파일을 통해 스키마 변경 이력을 관리합니다.<migration>
=<timestamp>_<name>
- 데이터베이스의
_prisma_migrations
테이블에 마이그레이션 적용 이력을 관리합니다.
DevOps(개발 부터 배포까지)
- 개발
- 스키마 파일을 수정합니다.
- 마이그레이션 되돌리기를 위한
down.sql
파일을 생성합니다. prisma migrate dev
명령어를 실행합니다.- prisma에서 지원하지않는 옵션이나, 데이터 이동 등이 필요한 경우
prisma migrate dev --create-only
명령어로 마이그 레이션 파일만 생성하고- 마이그레이션 파일을 수정한 후
prisma migrate dev
명령어를 실행합니다.
- 데이터베이스를 초기화하려면
prisma migrate reset
명령어를 실행합니다.- seed 설정이 되어있는 경우 초기화 후 자동으로 적용됩니다.
- 배포
- CI/CD 파이프라인에서 마이그레이션하는 경우
- 애플리케이션 배포 전에
prisma migrate deploy
명령어를 실행합니다.
- 애플리케이션 배포 전에
- Kubernetes를 사용하는 경우
initContainers
에서prisma migrate deploy
명령어를 실행합니다.
- CI/CD 파이프라인에서 마이그레이션하는 경우
danger
배포된 애플리케이션을 롤백하는 경우, 데이터베이스 스키마도 롤백되는 것은 아니므로 직접 롤백해야합니다.