마이그레이션 (migration)

MIN·2025년 5월 18일

weekly

목록 보기
19/31

Migration

데이터베이스의 구조가 변경 되었을 때 수행한 작업을 코드로 관리함.
-> 컬럼을 추가,변경 하거나 외래키 설정 DB구조 변경을 기록하여 버전 관리 하는것

마이그레이션을 하면 변경 이력을 추적할 수 있으며, 여러 환경에서도 동일한 DB 구조를 적용 가능함

사용하는 이유

1. 데이터베이스 동기화
  • 여러 개발자가 협업할 때, 모두 같은 구조의 DB를 사용해야 함
  • 로컬/개발/운영 환경에서 스키마가 달라지는 걸 방지 할 수있음
2. 변경 이력 관리, 롤백 가능
  • 마이그레이션 파일은 변경 사항을 기록한 "버전 히스토리"
  • 문제가 생기면 이전 버전으로 쉽게 되돌릴 수 있음 (Git revert, reset)
3. 배포 시 안전성 향상
  • 운영 환경에 직접 SQL을 실행하는 것보다 안전함
  • 코드로 관리되므로 리뷰, 테스트도 가능

✅ 마이그레이션 주요 명령어 (예: Prisma 기준)

# 1. 초기에 마이그레이션 생성 + DB 반영 + Prisma Client 생성
npx prisma migrate dev --name 변경사항설명

# 2. 마이그레이션만 생성 (기존 마이그레이션 파일을 기반으로 DB에 적용)
npx prisma migrate dev

# 3. 스키마만 바뀌고 DB는 건드릴 필요 없을 때
npx prisma generate

# 4. 마이그레이션 상태 확인 
npx prisma migrate status

# 5. Prisma Studio 실행 
npx prisma studio

0개의 댓글