← 전체 글로 돌아가기

DB

DB 마이그레이션 실행 전 확인해야 할 것들

운영 데이터베이스에 스키마 변경을 적용하기 전에, 마이그레이션 상태와 권한을 꼼꼼히 확인하는 과정이 필수다. 실수로 인한 데이터 손실을 막는 체크리스트를 정리했다.

데이터베이스 마이그레이션은 조심스러운 작업이다. 로컬 개발 환경에서는 잘 작동하지만, 운영 데이터베이스에서 스키마 변경이 실패하거나 예상과 다르게 작동할 수 있다.

마이그레이션 상태를 먼저 확인한다

Prisma를 사용한다면 다음 명령어로 현재 마이그레이션 상태를 파악한다.

npx prisma validate
npx prisma migrate status

prisma validate 명령어는 스키마 파일이 유효한지 확인하고, prisma migrate status는 어떤 마이그레이션이 아직 적용되지 않았는지 보여준다. 만약 대기 중인 마이그레이션이 있다면, 각각이 무엇인지 정확히 파악해야 한다.

데이터베이스 연결을 확인한다

DATABASE_URL 환경 변수가 올바르게 설정되었는지 확인한다. 로컬에서는 로컬 DB를 가리키고, 배포 환경에서는 운영 DB를 가리켜야 한다. 잘못된 DB에 마이그레이션을 실행하면 돌이킬 수 없는 문제가 발생할 수 있다.

백업을 먼저 준비한다

마이그레이션 실행 전에 운영 데이터베이스의 백업을 반드시 생성한다. DB 마이그레이션 중 문제가 생기면, 백업에서 빠르게 복구할 수 있어야 한다.

마이그레이션 파일을 검토한다

실행할 마이그레이션 파일을 열어서 SQL 쿼리를 직접 확인한다. 칼럼 이름 변경, 타입 변경, foreign key 제약사항 추가 같은 작업이 데이터에 미치는 영향을 미리 예상할 수 있다.

테스트 환경에서 먼저 실행해본다

운영 환경의 데이터를 복제한 테스트 DB가 있다면, 그곳에서 마이그레이션을 먼저 실행해본다. 예상치 못한 에러나 성능 문제가 있는지 확인할 수 있다.

마이그레이션 결과를 검증한다

마이그레이션이 완료되면, 스키마가 예상대로 변경되었는지, 기존 데이터가 손상되지 않았는지 확인한다. 필요하면 간단한 SELECT 쿼리를 실행해서 데이터 무결성을 검증한다.

마이그레이션은 한 번에 하나씩만 실행하고, 각 단계마다 검증하는 습관이 중요하다.