eny.space Landingpage
1-- Simplify subscriptions table to only store minimal data
2-- Stripe API is the source of truth for all subscription details
3
4-- First, drop policies that depend on columns we're removing
5DROP POLICY IF EXISTS "Users can insert own subscriptions" ON subscriptions;
6
7-- Drop unnecessary columns (keep only user_id and stripe_customer_id)
8ALTER TABLE subscriptions
9 DROP COLUMN IF EXISTS stripe_subscription_id,
10 DROP COLUMN IF EXISTS stripe_price_id,
11 DROP COLUMN IF EXISTS status,
12 DROP COLUMN IF EXISTS current_period_start,
13 DROP COLUMN IF EXISTS current_period_end,
14 DROP COLUMN IF EXISTS cancel_at_period_end;
15
16-- Recreate a simpler insert policy (no status check needed since we don't store it)
17CREATE POLICY "Users can insert own subscriptions"
18 ON subscriptions
19 FOR INSERT
20 WITH CHECK (auth.uid() = user_id);
21
22-- Keep only essential columns
23-- user_id: links to Supabase auth user
24-- stripe_customer_id: used to query Stripe API for subscription details