← 전체 글로 돌아가기

웹 개발

시드 데이터 중복 제거 및 관리 방법

개발/테스트 환경에서 시드 데이터가 중복되는 문제를 해결하는 체계적인 접근법입니다.

개발 중에 테스트 데이터를 초기화할 때 시드 데이터가 중복되면 테스트 결과가 일관성 없게 나온다. 이를 방지하려면 체계적인 접근이 필요하다.

먼저 증상을 명확히 하기

시드 데이터가 중복되었다는 것이 정확히 무엇을 의미하는지 정의해야 한다:

  • 같은 ID의 레코드가 여러 개 있는가
  • 같은 값의 레코드가 중복되었는가
  • 시드 스크립트를 여러 번 실행해서 중복된 건가

배포 전 테스트

npm run build

빌드 성공 후 시드 데이터를 로드했을 때 중복이 없는지 확인하자.

원인을 나누는 기준

시드 데이터 문제는 보통 다음 중 하나다:

  1. 시드 스크립트가 중복 확인 없이 바로 삽입한다
  2. 데이터베이스 제약이 제대로 설정되지 않았다
  3. 트랜잭션 처리가 없어서 부분 실패 상태가 유지된다

설정과 확인할 값

  • 유니크 제약이 설정되어 있는가
  • 기본 데이터가 존재하면 건너뛰는 로직이 있는가
  • 롤백할 수 있는 메커니즘이 있는가

작은 규모로 먼저

전체 시드를 로드하기 전에 몇 개 레코드만 먼저 시도해본다. 데이터가 정상적으로 삽입되고 중복 체크가 작동하는지 확인한다.

시드 데이터는 매번 같은 결과를 만들어내야 한다. 이렇게 되면 다음 테스트가 예상 가능한 상태에서 시작되므로 문제 해결이 훨씬 빠르다.