개발 slecs

팝마트 12개 시리즈 카탈로그 데이터 확정

목차

블라인드박스 데이터베이스에 12개의 검증된 팝마트 시리즈를 추가했다. SKULLPANDA, MOLLY, DIMOO, HIRONO, HACIPUPU, Labubu 등 주요 콜렉션들을 db/seed-blindbox.sql에 확정 커밋한 일이다.

처음엔 단순한 데이터 추가로 보이지만, 이 작업은 팀이 다루는 카탈로그 데이터의 신뢰도와 배포 일관성에 꽤 깊은 영향을 미친다. 왜 이런 방식으로 관리하는지, 그 과정에서 뭘 고려했는지 정리해본다.

왜 SQL 시드 파일로 관리하는가

팝마트 같은 수집/코미디언 도메인에서는 정확한 메타데이터가 생명이다. 시리즈명, 캐릭터 계열, 분류 같은 정보가 틀리면 사용자가 원하는 상품을 찾지 못하거나, 팀 내부에서 데이터를 갱신할 때마다 혼선이 생긴다.

처음에는 마이그레이션 파일로만 관리하거나, 어드민 대시보드에서 수동으로 추가하는 방식도 고려했다. 하지만 몇 가지 문제가 있었다:

  • 환경 일관성: 로컬, 스테이징, 프로덕션 각각에서 초기화할 때 같은 데이터 상태를 보장하기 어려움
  • 버전 관리: 나중에 어떤 시리즈가 언제 추가되었는지 git 히스토리로 추적 불가능
  • 온보딩: 새 팀원이 프로젝트를 시작할 때 필요한 기본 데이터를 즉시 갖춰야 함

그래서 시드 파일을 하나의 "표준 카탈로그 스냅샷"으로 관리하기로 결정했다. 커밋할 때마다 데이터의 어떤 부분이 변했고, 누가 변경했으며, 왜 변경했는지가 git 로그에 남는다.

"verified" 데이터는 어떻게 확정되나

이 커밋에 "verified"라고 명시한 이유는, 이 12개 시리즈가 이미 검증 프로세스를 거쳤다는 뜻이다. 실제로는 다음 같은 체크를 먼저 했어야 한다:

검증 항목 확인 내용
공식명 정확성 팝마트 공식 사이트에서 확인한 정확한 시리즈명
중복 여부 DB에 이미 있는 시리즈는 제외
스키마 적합성 각 필드가 정의된 타입과 길이에 맞는지
이미지/메타 필요한 커버 이미지나 설명이 있는지
팀 리뷰 다른 팀원이 한 번 확인했는지

실제로는 수작업이 많다. 누군가 팝마트 공식 자료나 해외 수집 커뮤니티에서 정보를 모으고, 그걸 스프레드시트에 정리하고, 개발팀이 검수하고, 마지막에 SQL로 변환해서 커밋한다. "verified"는 이 모든 단계가 끝났다는 신호다.

-- 예시: seed-blindbox.sql 의 일부 구조
INSERT INTO blindbox_series (id, name, brand, release_year, status) VALUES
  (1, 'SKULLPANDA', 'Pop Mart', 2022, 'active'),
  (2, 'MOLLY', 'Pop Mart', 2021, 'active'),
  (3, 'DIMOO', 'Pop Mart', 2019, 'active'),
  -- ... (12개 전부)
;

시드 파일 커밋의 함정과 주의점

이런 방식은 편하지만, 팀 규모가 커지거나 데이터가 자주 변할 때 문제가 생긴다:

  • 충돌 관리: 여러 팀원이 동시에 시드 파일을 수정하면 git 머지 충돌이 빈번해짐
  • 핫픽스 타이밍: 프로덕션에서 긴급으로 시리즈를 추가해야 하는데, 시드 파일은 DB 마이그레이션보다 느림
  • 데이터 규모: 시리즈가 수백 개 넘으면 SQL 파일이 너무 커져서 관리 어려워짐

우리 팀이 현재 12개 수준에서는 충분하지만, 나중에는 다음 같이 분리할 계획이다:

  • 필수 기본 시리즈 → seed 파일에 고정
  • 주기적 추가 시리즈 → 마이그레이션 파일 또는 별도 데이터 파이프라인
  • 사용자 입력 데이터 → 런타임 추가 (API 엔드포인트)

배운 점: 데이터 정책을 먼저 정하자

이번 작업을 하면서 느낀 가장 큰 교훈은, "이 데이터는 언제 고정되고, 언제 변하고, 변할 때 누가 책임지는가"를 팀과 먼저 합의해야 한다는 것이다. 시드 파일, 마이그레이션, 어드민 대시보드, API 중 어디로 관리할지는 단순 기술 결정이 아니라 팀의 업무 흐름과 직결된다.

특히 수집/카탈로그 도메인에서는 정확한 메타데이터가 전체 서비스의 신뢰도를 좌우한다. 한 번 잘못된 정보가 커밋되면, 나중에 수정할 때도 여러 곳을 건드려야 한다. 그래서 "verified"라는 표시가 단순해 보이지만, 실은 검증 프로세스가 얼마나 철저했는지를 나타내는 신호다.

다음에 비슷한 작업을 할 때는 검증 체크리스트를 좀 더 명시적으로 만들고, 시리즈가 추가될 때마다 그 출처와 검증 일자를 코멘트로 남길 생각이다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.