-- V7: Stripe subscription management CREATE TABLE IF NOT EXISTS subscriptions ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), club_id UUID NOT NULL REFERENCES clubs(id), stripe_customer_id VARCHAR(255) NOT NULL, stripe_subscription_id VARCHAR(255), plan_tier VARCHAR(20) NOT NULL DEFAULT 'TRIAL', member_limit INTEGER NOT NULL DEFAULT 500, trial_ends_at TIMESTAMP WITH TIME ZONE, current_period_start TIMESTAMP WITH TIME ZONE, current_period_end TIMESTAMP WITH TIME ZONE, status VARCHAR(20) NOT NULL DEFAULT 'TRIALING', canceled_at TIMESTAMP WITH TIME ZONE, tenant_id UUID NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); CREATE UNIQUE INDEX idx_subscriptions_club ON subscriptions(club_id); CREATE INDEX idx_subscriptions_stripe_customer ON subscriptions(stripe_customer_id); CREATE INDEX idx_subscriptions_status ON subscriptions(status);