DB 연결 상태
외부 Supabase(spl-marketing-center)를 실제 저장소로 사용합니다. 연결이 끊기면 샘플 데이터로 대체하지 않고 오류 상태를 표시합니다.
외부 Supabase(spl-marketing-center) 연결 상태를 확인하는 중입니다.
EXTERNAL_SUPABASE_URL=<외부 Supabase 프로젝트 URL> # 서버 전용 EXTERNAL_SUPABASE_SERVICE_ROLE_KEY=<secret key> # 서버 전용, 브라우저에 노출되지 않음
DB가 완전히 비어 있을 때 한 번만, 기본 샘플 콘텐츠·캠페인·채널 버전·영상 자산·검수·성과· 브랜드 규칙·자동화 로그를 실제 DB에 넣습니다. 이미 데이터가 있으면 중복 입력되지 않습니다.
상태를 확인하는 중입니다…
- 외부 Supabase 프로젝트(spl-marketing-center)에 marketing_* 테이블이 생성되어 있습니다.
- 서버 전용 환경변수(EXTERNAL_SUPABASE_URL, EXTERNAL_SUPABASE_SERVICE_ROLE_KEY)로 서버에서만 접근합니다.
- 브라우저는 DB에 직접 접근하지 않고 서버 함수만 호출하므로 비밀 키가 노출되지 않습니다.
- 화면에 보이는 식별자는 UUID가 아니라 관리자용 코드(CMP-01 / CNT-01 / VER-01-IG)입니다.
- DB 연결이 끊기면 샘플 데이터로 바꾸지 않고 화면 상단에 'DB 연결 오류'와 다시 시도 안내를 표시합니다.
스키마 문서 위치: docs/supabase-marketing-schema.sql
테이블 구조 요약
캠페인 목표·타깃·기간·상태
campaign_id, name, objective, target_audience, start_date, end_date, status, memo
콘텐츠 마스터(아이디어~재활용)
content_id, campaign_id, content_type, topic, hook, core_message, cta_type, status, risk_level, reuse_score, scheduled_at
채널별 문안 버전
version_id, content_id, platform, format, body_text, caption, hashtags, first_comment, published_at
릴스/영상 자산
asset_id, content_id, script_body, scene_breakdown, video_url, duration_sec, production_tool
검수 체크리스트/결과
review_id, content_id, reviewer, checklist(jsonb), result, memo
별도 테이블이 아니라 채널 버전의 발행 예정일에서 파생되는 읽기 전용 목록입니다.
channel_versions.scheduled_at / published_at 기준
채널별 성과 지표
impressions, reach, views, saves, shares, profile_visits, event_signups, consultation_requests
브랜드 규칙(금지/권장/톤)
rule_id, category, title, description, examples
자동화 도구 실행 로그
run_id, tool, action, target_ref, status, message