Glowb Dev Docs
테스트 데이터 세팅

테스트 데이터 정리

테스트로 만든 캠페인과 거기에 딸린 데이터를 FK 역순으로 일괄 삭제합니다.

테스트 데이터 정리

테스트로 만든 캠페인을 딸린 데이터까지 통째로 지웁니다.

HTTP 요청

DELETE /ai/test-setup/cleanup

삭제 대상

제목이 아래 둘 중 하나로 시작하는 캠페인이 대상입니다.

접두사만든 API
자동생성-캠페인 생성, 캠페인 + 가이드라인 생성
[TEST]recruiting-campaign, campaign-with-applicants

인플루언서는 지우지 않습니다. 테스트에 쓰는 크리에이터는 실제 유저 계정이라, 캠페인에 딸린 신청 기록만 지웁니다.

삭제 순서

선정 API까지 진행한 캠페인은 신청 한 건에 계약·배송·검수·제출물·예산이 매달려 있습니다. 신청부터 지우면 FK 제약에 막히므로, 신청에 딸린 자식을 먼저 전부 지웁니다.

1. 신청에 딸린 자식 (FK 역순)
   피드백 미디어 → 승인 로그 → 피드백 → 제출물 이력 → 제출물 항목 → 검수 라운드
   → 콘텐츠/최종 제출물 → 추가금 → 추가 검수 요청 → AI 검수 쿼터 → 제공 옵션 선택
   → 제출 링크 토큰 → 트리거 로그 → 신청자 일정 → 추천사 이력 → 단가 협의
   → 연락 로그 → 매칭 → 배송 → 예산 → 계약 감사 로그 → 계약 문서 → 계약
2. 캠페인 일정 (TB_CAMPAIGN_SCHEDULE)
3. 신청 (TB_CAMPAIGN_APPLICATION)
4. 크레딧 트랜잭션 + MongoDB 가이드라인
5. 캠페인 (TB_COLLAB)

응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "테스트 데이터 정리 완료",
  "data": {
    "deletedApplicationChildren": 41,
    "deletedSchedules": 24,
    "deletedApplications": 4,
    "deletedCreditTransactions": 2,
    "deletedGuidelines": 2,
    "deletedCollabs": 2
  }
}
필드설명
deletedApplicationChildren신청에 딸린 자식 행 합계
deletedSchedules캠페인 단계별 일정
deletedApplications신청
deletedCreditTransactions크레딧 트랜잭션
deletedGuidelinesMongoDB 가이드라인 문서
deletedCollabs캠페인

유지보수 주의

자식 삭제는 JPQL 문자열 24개로 되어 있고, JPQL 은 런타임에 파싱됩니다. 엔티티 이름이나 필드명이 바뀌어도 컴파일 단계에서 안 걸리고 호출 시점에 500 이 납니다. 관련 엔티티를 리팩터링했다면 TestSetupService.deleteApplicationChildren 의 경로를 함께 확인하세요.

JPQL 벌크 삭제는 조인을 쓸 수 없어, 연관은 FK 컬럼(alias.assoc.id)으로만 좁히고 두 단계 이상 떨어진 대상은 서브쿼리로 id 를 뽑아 겁니다.

API 테스트

On this page