연결 확인 중자동 발행 준비 중

DB 연결 상태

외부 Supabase(spl-marketing-center)를 실제 저장소로 사용합니다. 연결이 끊기면 샘플 데이터로 대체하지 않고 오류 상태를 표시합니다.

현재 연결 상태
데이터 소스: 외부 Supabase(spl-marketing-center)
연결 확인 중

외부 Supabase(spl-marketing-center) 연결 상태를 확인하는 중입니다.

EXTERNAL_SUPABASE_URL=<외부 Supabase 프로젝트 URL>        # 서버 전용
EXTERNAL_SUPABASE_SERVICE_ROLE_KEY=<secret key>            # 서버 전용, 브라우저에 노출되지 않음
초기 데이터 불러오기

DB가 완전히 비어 있을 때 한 번만, 기본 샘플 콘텐츠·캠페인·채널 버전·영상 자산·검수·성과· 브랜드 규칙·자동화 로그를 실제 DB에 넣습니다. 이미 데이터가 있으면 중복 입력되지 않습니다.

상태를 확인하는 중입니다…

연결 절차
  1. 외부 Supabase 프로젝트(spl-marketing-center)에 marketing_* 테이블이 생성되어 있습니다.
  2. 서버 전용 환경변수(EXTERNAL_SUPABASE_URL, EXTERNAL_SUPABASE_SERVICE_ROLE_KEY)로 서버에서만 접근합니다.
  3. 브라우저는 DB에 직접 접근하지 않고 서버 함수만 호출하므로 비밀 키가 노출되지 않습니다.
  4. 화면에 보이는 식별자는 UUID가 아니라 관리자용 코드(CMP-01 / CNT-01 / VER-01-IG)입니다.
  5. DB 연결이 끊기면 샘플 데이터로 바꾸지 않고 화면 상단에 'DB 연결 오류'와 다시 시도 안내를 표시합니다.

스키마 문서 위치: docs/supabase-marketing-schema.sql

테이블 구조 요약

marketing_campaigns

캠페인 목표·타깃·기간·상태

campaign_id, name, objective, target_audience, start_date, end_date, status, memo

marketing_contents

콘텐츠 마스터(아이디어~재활용)

content_id, campaign_id, content_type, topic, hook, core_message, cta_type, status, risk_level, reuse_score, scheduled_at

marketing_channel_versions

채널별 문안 버전

version_id, content_id, platform, format, body_text, caption, hashtags, first_comment, published_at

marketing_assets

릴스/영상 자산

asset_id, content_id, script_body, scene_breakdown, video_url, duration_sec, production_tool

marketing_reviews

검수 체크리스트/결과

review_id, content_id, reviewer, checklist(jsonb), result, memo

발행 예약 목록

별도 테이블이 아니라 채널 버전의 발행 예정일에서 파생되는 읽기 전용 목록입니다.

channel_versions.scheduled_at / published_at 기준

marketing_metrics

채널별 성과 지표

impressions, reach, views, saves, shares, profile_visits, event_signups, consultation_requests

marketing_brand_rules

브랜드 규칙(금지/권장/톤)

rule_id, category, title, description, examples

marketing_tool_runs

자동화 도구 실행 로그

run_id, tool, action, target_ref, status, message