DB
운영 DB에서 데이터가 중복될 때
로컬에서 괜찮던 설정도 배포 환경에서는 다르게 보일 수 있다. 특히 데이터 중복은 마이그레이션 상태를 먼저 확인해야 한다.
운영 환경에서 데이터가 중복되기 시작하면 원인은 보통 마이그레이션이 제대로 실행되지 않았거나, 쿼리에 버그가 있거나, 데이터 계층 로직이 잘못된 경우다. 로그를 체계적으로 읽으면서 진짜 원인을 좁혀나가야 한다.
데이터 중복 문제 파악
데이터 중복은 재현 가능한 단서를 남기는 것이 중요하다. 언제부터 중복이 시작됐는지, 어떤 조건에서 발생하는지를 명확히 해야 다음 재발을 방지할 수 있다.
마이그레이션 상태 확인
npx prisma validate
npx prisma migrate status
가장 먼저 마이그레이션 상태를 파악한다. 마이그레이션이 덜 실행됐다면 그것이 원인일 수 있다.
- 먼저 볼 값: 마이그레이션 상태
- 같이 비교할 값: 정상일 때의 데이터 계층 상태
- 남겨둘 기록: 명령 출력, 응답 코드, 수정한 설정
환경 차이와 데이터 상태
로컬 개발 환경과 운영 환경은 데이터 상태가 완전히 다를 수 있다. 환경 차이를 고려해서 원인을 좁혀야 한다.
검증 순서
- 원래 증상이 같은 조건에서 다시 나는지 확인한다.
- 로그나 응답에서 바뀐 부분을 한 줄로 설명해본다.
- 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.
결과가 바뀐 이유를 로그와 응답으로 설명할 수 있으면 충분히 정리된 것이다. 기록을 남겨두면 다음 확인이 훨씬 빨라진다.