개발 slecs

검증 시드에 출처 기록해서 데이터 추적성 확보

목차

검증 시드 데이터에 출처(source) 정보를 추가하고 화면 렌더링까지 확인했다. 개발 환경에서 테스트하는 데이터가 어디서 왔는지 명확히 추적 가능하도록 개선한 작업이다.

왜 시드 데이터에 출처가 필요한가

개발하거나 테스트할 때 자주 마주치는 상황이 있다. 어떤 버그를 재현하려고 시드 데이터를 넣었는데, 며칠 뒤 "이 데이터는 정말 유효한가?", "어디서 나온 거지?", "실제 운영 환경과 일치하나?" 같은 질문이 생기는 것이다. 데이터가 쌓일수록 그 출처를 잃어버리면 신뢰도가 떨어진다.

특히 검증(verified)이라고 명시한 시드는 더 신중해야 한다. 누군가 "이 데이터는 검증된 것입니다"라고 선언했다면, 그 검증의 근거가 뭔지, 누가 언제 어떤 기준으로 검증했는지 한눈에 알 수 있어야 한다. 요청사항 추적, 라이선스 확인, 아니면 단순히 "오, 이건 실제 서비스에서 온 샘플이군" 같은 확인이든 — 모두 출처 정보에서 시작된다.

-- Before: 검증 여부만 있고 출처는 불명
INSERT INTO verified_data (name, verified) VALUES ('IVE', true);

-- After: 출처를 함께 기록
INSERT INTO verified_data (name, source, verified) 
VALUES ('IVE', 'internal_qa_dataset_20260410', true);

실제 작업과 렌더 확인

db/seed-verified.sql 파일에 IVE/aespa 같은 검증 대상 엔티티들의 출처(source) 컬럼을 추가했다. 단순히 데이터베이스 레벨의 변경이 아니라, 화면에서 정말 제대로 표시되는지까지 확인했다.

이건 꽤 중요한 부분이다. 많은 경우 개발자가 DB 스키마를 바꾸고 seed 데이터를 넣는 것까지만 하다가, "아, UI에서도 이 새 필드를 출력해야 하나?"라고 나중에 깨닫는다. 그래서 렌더링 확인까지 이번 작업에 포함시켰다.

단계 내용
DB 변경 db/seed-verified.sql에 source 컬럼 추가
데이터 입력 각 검증 엔티티마다 출처 정보 입력
UI 확인 화면에서 출처가 올바르게 표시되는지 수동 검증
렌더링 테스트 텍스트 잘림, 레이아웃 깨짐 없는지 점검

이런 패턴, 나중에도 반복된다

이 경험을 통해 깨달은 점은, 데이터를 다루는 거의 모든 곳에 "출처" 또는 "메타데이터"가 필요하다는 것이다.

테이블 설계할 때부터: API 응답에 항상 created_by, source, last_verified_at 같은 필드를 미리 예약해두면, 나중에 "누가 이 데이터를 만들었더라?"라고 물어봤을 때 바로 답할 수 있다. 당장 필요 없어 보여도, 나중에 감시나 규정 준수(compliance) 차원에서 갑자기 필요해진다.

로깅할 때: 단순히 "데이터를 삽입했다"만 남기지 말고, "어느 소스에서, 어떤 검증 규칙으로, 누가 승인했는가" 같은 맥락을 함께 기록하면 나중의 감시(audit)와 디버깅이 훨씬 쉬워진다.

테스트 시나리오: 테스트 케이스를 짤 때도 마찬가지다. 픽스처 데이터가 "정상 케이스"인지 "엣지 케이스"인지, 아니면 "보안 테스트용 의도된 악성 데이터"인지 라벨을 붙여두면, 나중에 동료가 그 테스트를 읽을 때 훨씬 빠르게 이해한다.

개발할 때는 "데이터는 데이터일 뿐"이라고 생각하기 쉽지만, 팀이 커지고 시간이 지나면 "이 데이터는 정말 뭐 하는 건데?" 같은 질문이 자주 생긴다. 그때마다 git log를 뒤지거나 담당자를 찾는 것보다, 애초에 데이터 자체에 맥락을 담아두는 게 훨씬 싸다. 이번 변경이 작아 보이지만, 이런 습관이 모여서 나중에 팀의 유지보수성을 크게 좌우한다.


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

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

댓글 0

첫 댓글 달아줘.