mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 08:51:13 -05:00
Fix: Disable triggers for database purge
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
-- Full Database Purge (Keep Users Only) - Disable Triggers
|
||||
-- WARNING: This will delete ALL content data while preserving user accounts
|
||||
|
||||
-- Disable all triggers temporarily
|
||||
SET session_replication_role = replica;
|
||||
|
||||
-- 1. Clear submission items first (depends on content_submissions)
|
||||
DELETE FROM public.submission_items;
|
||||
|
||||
-- 2. Clear timeline events (has FK to content_submissions)
|
||||
DELETE FROM public.entity_timeline_events;
|
||||
|
||||
-- 3. Clear specific submission type tables
|
||||
DELETE FROM public.park_submissions;
|
||||
DELETE FROM public.ride_submissions;
|
||||
DELETE FROM public.company_submissions;
|
||||
DELETE FROM public.ride_model_submissions;
|
||||
|
||||
-- 4. Clear main content submissions (now safe)
|
||||
DELETE FROM public.content_submissions;
|
||||
|
||||
-- 5. Clear user-generated content
|
||||
DELETE FROM public.reviews;
|
||||
DELETE FROM public.reports;
|
||||
DELETE FROM public.photos;
|
||||
|
||||
-- 6. Clear user lists
|
||||
DELETE FROM public.list_items;
|
||||
DELETE FROM public.user_top_lists;
|
||||
|
||||
-- 7. Clear user ride tracking
|
||||
DELETE FROM public.user_ride_credits;
|
||||
|
||||
-- 8. Clear historical records
|
||||
DELETE FROM public.historical_rides;
|
||||
DELETE FROM public.historical_parks;
|
||||
|
||||
-- 9. Clear entity versions (history)
|
||||
DELETE FROM public.ride_versions;
|
||||
DELETE FROM public.park_versions;
|
||||
DELETE FROM public.company_versions;
|
||||
DELETE FROM public.ride_model_versions;
|
||||
DELETE FROM public.entity_versions_archive;
|
||||
|
||||
-- 10. Clear main entity tables (no dependencies left)
|
||||
DELETE FROM public.rides;
|
||||
DELETE FROM public.parks;
|
||||
DELETE FROM public.companies;
|
||||
DELETE FROM public.ride_models;
|
||||
|
||||
-- 11. Clear park-related tables
|
||||
DELETE FROM public.park_location_history;
|
||||
DELETE FROM public.park_operating_hours;
|
||||
|
||||
-- 12. Clear analytics/tracking
|
||||
DELETE FROM public.entity_page_views;
|
||||
|
||||
-- 13. Clear contact/support
|
||||
DELETE FROM public.contact_email_threads;
|
||||
DELETE FROM public.contact_submissions;
|
||||
|
||||
-- 14. Clear notification logs
|
||||
DELETE FROM public.notification_logs;
|
||||
|
||||
-- Re-enable all triggers
|
||||
SET session_replication_role = DEFAULT;
|
||||
|
||||
-- Verify user data remains intact
|
||||
DO $$
|
||||
DECLARE
|
||||
user_count INTEGER;
|
||||
profile_count INTEGER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO user_count FROM auth.users;
|
||||
SELECT COUNT(*) INTO profile_count FROM public.profiles;
|
||||
|
||||
RAISE NOTICE 'Database purge complete. Users preserved: %, Profiles: %', user_count, profile_count;
|
||||
END $$;
|
||||
Reference in New Issue
Block a user