o2o-infinith-demo/supabase/migrations
Haewon Kam 9d8360d634 feat(db): clinic_registry 에 서브도메인 컬럼·유니크·예약어 제약 추가
서포터즈 사이트를 공용 도메인(webforai.kr)의 병원별 서브도메인에 두기로 했다.
수백 곳으로 늘 때 이름을 코드가 지으면 "뷰"·"연세"처럼 여러 병원이 쓰는 이름에서
충돌이 나므로, 이 표를 서브도메인의 단일 원본으로 둔다.

컬럼
- subdomain: 공용 도메인 앞에 붙는 라벨 (viewpl → viewpl.webforai.kr)
- clinic_slug: 워커 --clinic 값. 빌드 폴더·Vercel 프로젝트 이름에 쓰여 서브도메인과 다를 수 있다
- subdomain_assigned_at: 배정 시각. 색인 전환 전에 주소를 바꾸는 편이 싸므로 판단에 쓴다

제약
- subdomain·clinic_slug 각각 대소문자 무시 유니크
- 형식: 소문자·숫자·붙임표, 2~40자, 붙임표로 시작·끝 금지, 연속 붙임표 금지
- 예약어 70여개 차단. 메일·인증(mx·dmarc·autodiscover)을 병원에 내주면 메일 수신과
  도메인 소유 확인이 깨지고, 회수하는 시점에는 이미 색인된 주소가 깨진다

배정: 뷰 viewpl · 원진 wonjin · 오라클 oracle.
오라클은 이 레지스트리가 성형외과 73곳으로 만들어져 등록돼 있지 않아 함께 넣었다.

운영 DB 적용 중 확인한 것: 마이그레이션 이력에 10개 중 3개만 기록돼 있고 나머지는
SQL 편집기로 직접 만든 상태다. 그래서 db push 대신 이 파일만 따로 적용했다.
20260406_clinic_registry.sql 에 있는 verified_by·verified_at·is_active 는 실제 표에 없다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 11:09:52 +09:00
..
20260330_create_tables.sql feat: real API integration + YouTube Data API v3 + progressive loading 2026-04-02 10:57:14 +09:00
20260403_pipeline_v2.sql feat: Pipeline V2 — 3-phase analysis with verified channel discovery 2026-04-03 21:49:13 +09:00
20260405_channel_errors.sql fix: add Authorization header to all Edge Function calls + fix Vision Analysis 2026-04-05 10:08:03 +09:00
20260405_saas_schema_v3.sql docs: DB Schema V3 — SaaS multi-tenant with time-series + performance loop 2026-04-05 00:45:34 +09:00
20260406_clinic_registry.sql feat: clinic registry DB + pipeline audit P0 fixes 2026-04-07 09:33:25 +09:00
20260407_clinic_data_storage.sql feat: per-URL clinic folder — auto-save all scraped data to Storage 2026-04-07 10:04:52 +09:00
20260407_screenshots_storage.sql feat: archive Firecrawl screenshots to Supabase Storage (permanent URLs) 2026-04-07 09:51:31 +09:00
20260831_discovery_leads.sql feat: /discovery CTA 'URL 입력으로 시작하기' — URL 입력 진단 신청 모달 + discovery_leads 저장 2026-08-31 16:58:38 +09:00
20260907_supporter_builds_queue.sql feat(supporters): haewon 결정 반영 — 채널 인기 전체 탭 제거, 단가 상한 $10 기본, 큐 폴러(poll.mjs)+launchd, /supporters/:id 페이지, URL 신청→빌드 큐, 수집기 UA·슬래시 수정, 기획 목록 일반화(원진 6편) 2026-09-07 18:54:01 +09:00
20260907_supporter_builds.sql feat(supporters): 승인 UI·입력 반영·워커 — §7-5 ClinicInputsPanel + supporter_builds/inputs 마이그레이션 + apply_inputs, §12-2 상단 고지·개설자 승인·색인 빌드 필터, §7-6 워커 E2E(뷰성형외과 URL → 5편 → 게이트 0오류) 2026-09-07 17:07:06 +09:00
20260914_clinic_subdomain.sql feat(db): clinic_registry 에 서브도메인 컬럼·유니크·예약어 제약 추가 2026-09-14 11:09:52 +09:00