웹 개발
시드 데이터 중복 제거 및 관리 방법
개발/테스트 환경에서 시드 데이터가 중복되는 문제를 해결하는 체계적인 접근법입니다.
개발 중에 테스트 데이터를 초기화할 때 시드 데이터가 중복되면 테스트 결과가 일관성 없게 나온다. 이를 방지하려면 체계적인 접근이 필요하다.
먼저 증상을 명확히 하기
시드 데이터가 중복되었다는 것이 정확히 무엇을 의미하는지 정의해야 한다:
- 같은 ID의 레코드가 여러 개 있는가
- 같은 값의 레코드가 중복되었는가
- 시드 스크립트를 여러 번 실행해서 중복된 건가
배포 전 테스트
npm run build
빌드 성공 후 시드 데이터를 로드했을 때 중복이 없는지 확인하자.
원인을 나누는 기준
시드 데이터 문제는 보통 다음 중 하나다:
- 시드 스크립트가 중복 확인 없이 바로 삽입한다
- 데이터베이스 제약이 제대로 설정되지 않았다
- 트랜잭션 처리가 없어서 부분 실패 상태가 유지된다
설정과 확인할 값
- 유니크 제약이 설정되어 있는가
- 기본 데이터가 존재하면 건너뛰는 로직이 있는가
- 롤백할 수 있는 메커니즘이 있는가
작은 규모로 먼저
전체 시드를 로드하기 전에 몇 개 레코드만 먼저 시도해본다. 데이터가 정상적으로 삽입되고 중복 체크가 작동하는지 확인한다.
시드 데이터는 매번 같은 결과를 만들어내야 한다. 이렇게 되면 다음 테스트가 예상 가능한 상태에서 시작되므로 문제 해결이 훨씬 빠르다.