xtablo-source/supabase/migrations_backup/cleanup_old_stripe_functions.sql

69 lines
2.8 KiB
MySQL
Raw Normal View History

2025-11-03 08:47:34 +00:00
-- ============================================================================
-- Cleanup Script - Remove Old Custom Stripe Webhook Functions
-- ============================================================================
-- This removes functions that were created by the old 36_stripe_webhooks.sql
-- They're no longer needed since we're using @supabase/stripe-sync-engine
-- ============================================================================
-- Drop customer event handler functions
drop function if exists public.handle_stripe_customer_created(text, text, uuid);
drop function if exists public.handle_stripe_customer_updated(text, text);
drop function if exists public.handle_stripe_customer_deleted(text);
-- Drop product event handler functions
drop function if exists public.handle_stripe_product_upsert(text, text, text, boolean, text, jsonb);
drop function if exists public.handle_stripe_product_deleted(text);
-- Drop price event handler functions
drop function if exists public.handle_stripe_price_upsert(text, text, boolean, text, bigint, text, integer, integer, jsonb);
drop function if exists public.handle_stripe_price_deleted(text);
-- Drop subscription event handler functions
drop function if exists public.handle_stripe_subscription_upsert(
text, text, text, text, integer, boolean,
timestamp with time zone, timestamp with time zone,
timestamp with time zone, timestamp with time zone, timestamp with time zone
);
drop function if exists public.handle_stripe_subscription_deleted(text);
-- ============================================================================
-- Verify cleanup
-- ============================================================================
-- Check if any old functions remain
SELECT
routine_name,
routine_schema
FROM information_schema.routines
WHERE routine_schema = 'public'
AND routine_name LIKE 'handle_stripe_%'
ORDER BY routine_name;
-- Should return 0 rows if cleanup was successful
-- ============================================================================
-- Keep these functions (they're still used)
-- ============================================================================
-- ✅ is_paying_user(uuid) - Used by frontend
-- ✅ get_user_subscription_status(uuid) - Used by frontend
-- ✅ get_user_stripe_customer_id(uuid) - Used by API
-- ✅ sync_subscription_user_id() - Trigger function for user_id sync
-- ✅ update_profile_subscription_status() - Trigger function for profile updates
-- ✅ update_updated_at_column() - Generic trigger function
SELECT
routine_name,
routine_type
FROM information_schema.routines
WHERE routine_schema IN ('public', 'stripe')
AND (
routine_name LIKE '%paying%'
OR routine_name LIKE '%subscription%user%'
OR routine_name LIKE '%profile%'
)
ORDER BY routine_name;
-- Should show the functions we want to keep