LAXworkspace
알림 · 보고서
온라인입력 0 (캐시 0%) · 출력 0
새 대화
세션 목록
변우석의 요청: 변우석입니다. 14건 구상금 테스트 케이스의 고객/사건을 DB에 시드해야 합니다. 시드 SQL을 작성해 뒀습니다: C:\Users\user\LAX-site\inbox\seed_14cases.sql 내용: clients에 의뢰처 '서울신용보증재단' 1건(중복방지 WHERE NOT EXISTS) + matters 14건(case_type='구상금', status='계약 완료') + matter_parties 14건(주채무자=채무자명). 채무자 상세·금액은 그랜드비스타만 1차판독값, 나머지는 [확인필요] 골격. 부탁: 1. 이 SQL을 테스트 D1(lax-db)과 프로덕션 D1(lax-prod) 양쪽에 적용해 주세요. (프로덕션은 아까처럼 wrangler.toml 스왑 후 원복 방식이 필요할 듯) 2. 적용 전 확인: status 값 '계약 완료'가 crm.tsx STAGES(['접수','계약 대기','계약 완료','착수','종결'])와 정확히 일치하는지(띄어쓰기 포함) 봐주시고, 안 맞으면 STAGES의 정확한 표기로 맞춰서 넣어주세요. clients.status는 'active'가 유효한지도요. 3. 적용 후 검증: matters 14건 + 서울신용보증재단 client 1건 + matter_parties 14건이 들어갔는지 count로 확인하고, /matters 또는 /clients 라이브에서 사건 드롭다운에 14건이 뜨는지(작업대 입력폼에서 선택 가능한지) 확인해 주세요. 4. 멱등성: 이미 돌렸을 때 중복 INSERT되지 않게(특히 재실행 대비) 주의 — clients는 NOT EXISTS로 막았지만 matters는 매번 INSERT됩니다. 한 번만 적용하거나, 재실행 안전하게 처리해 주세요. 결과: 적용된 DB(테스트/프로덕션), 각 테이블 count, 라이브 확인 결과만 간단히 알려주세요.

끝났습니다. 결과 보고합니다.

[무엇을 바꿨나]

  • 테스트 D1(lax-db)·프로덕션 D1(lax-prod) 양쪽에 14건 구상금 시드 적용 완료.
  • 원본 seed_14cases.sql은 matters가 매 실행 INSERT라 재실행 시 중복 사건이 생기는 구조 → 재실행 안전 버전 inbox/seed_14cases_idempotent.sql로 재작성해 적용(matters는 title 기준, parties는 title+name 기준 NOT EXISTS 가드). 데이터 값(금액·메모 등)은 원본 그대로 유지.
  • 프로덕션은 별도 wrangler.prod.toml이 있어 스왑/원복 불필요--config wrangler.prod.toml로 직접 타겟.

[적용 전 확인]

항목 결과
status '계약 완료' vs crm STAGES 정확 일치(띄어쓰기 포함) ✓
clients.status 'active' 유효성 유효 ('active'|'closed') ✓

[검증 결과]

DB client(서울신용보증재단) matters matter_parties status='계약 완료'
테스트 lax-db 1 14 14 14
프로덕션 lax-prod 1 14 14 14
  • 멱등성: 테스트 D1에 동일 SQL 재실행 → count 불변(1/14/14). 재실행 안전 확인. ✓
  • 라이브(작업대 드롭다운): 소장작업대가 실행하는 실제 쿼리(WHERE deleted_at IS NULL AND status != '종결' … LIMIT 300)를 양쪽 D1에 그대로 재현 → 14건 모두 노출/선택 가능 확인. ✓
  • 한계(정직하게): /matters 페이지 자체는 로그인 인증벽(HTTP 200이나 로그인 화면 리다이렉트)이라 브라우저 렌더 픽셀까지는 직접 못 봤습니다. 대신 UI가 호출하는 바로 그 SQL을 결정적으로 재현해 검증했습니다. 브라우저 픽셀 확인이 필요하시면 로그인 세션으로 한 번 더 봐드리겠습니다.

[롤백 방법]

DB INSERT라 git revert로는 원복 불가. 아래 SQL로 양쪽 DB에서 제거 가능(parties→matters→client 순):

DELETE FROM matter_parties WHERE matter_id IN (SELECT id FROM matters WHERE title LIKE '서울신용보증재단의%');
DELETE FROM matters WHERE title LIKE '서울신용보증재단의%';
-- client는 다른 데이터와 공유될 수 있으니 필요 시에만:
-- DELETE FROM clients WHERE name='서울신용보증재단';

적용 파일: inbox/seed_14cases_idempotent.sql (재실행 안전, 추후 재시드용으로 이걸 쓰세요). 채무자 상세·금액은 그랜드비스타만 1차판독값이고 나머지는 [확인필요] 골격 그대로 들어갔습니다.