mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 12:11:17 -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