-- Phase 3.2-B: Payple 결제 연동을 위한 스키마 확장 -- 기존 Stripe 필드를 보존하면서 Payple 결제 수단을 추가 -- 1. payment_provider 컬럼 — 어떤 결제 수단으로 구독했는지 ALTER TABLE public.subscriptions ADD COLUMN IF NOT EXISTS payment_provider text NOT NULL DEFAULT 'none'; -- 기존 Stripe 구독자는 payment_provider = 'stripe' 로 갱신 UPDATE public.subscriptions SET payment_provider = 'stripe' WHERE stripe_customer_id IS NOT NULL AND payment_provider = 'none'; -- CHECK 제약 추가 ALTER TABLE public.subscriptions ADD CONSTRAINT subscriptions_payment_provider_check CHECK (payment_provider IN ('none', 'stripe', 'payple')); -- 2. Payple 결제 정보 컬럼 ALTER TABLE public.subscriptions ADD COLUMN IF NOT EXISTS payple_payer_id text, -- 빌링키 (PCD_PAYER_ID) ADD COLUMN IF NOT EXISTS payple_pay_oid text; -- 최근 주문번호 (PCD_PAY_OID) -- 3. 인덱스: 빌링키로 구독 조회 (갱신 시 사용) CREATE INDEX IF NOT EXISTS idx_subscriptions_payple_payer ON public.subscriptions(payple_payer_id) WHERE payple_payer_id IS NOT NULL; -- 4. RLS: 기존 subscriptions 정책 그대로 적용 (user_id = auth.uid()) -- 새 컬럼은 기존 RLS 정책이 자동 커버하므로 추가 정책 불필요