From 63e970caa2ce775a308b481d1aff1417989553f4 Mon Sep 17 00:00:00 2001 From: Zack <33050391+speed2exe@users.noreply.github.com> Date: Mon, 4 Dec 2023 11:52:42 +0800 Subject: [PATCH] fix: use foreign key cascade delete for user cleanup (#188) --- .../20231130150000_user_id_foreign_key.sql | 21 +++++++++++++++++++ tem | 0 2 files changed, 21 insertions(+) create mode 100644 migrations/20231130150000_user_id_foreign_key.sql delete mode 100644 tem diff --git a/migrations/20231130150000_user_id_foreign_key.sql b/migrations/20231130150000_user_id_foreign_key.sql new file mode 100644 index 00000000..12be9e89 --- /dev/null +++ b/migrations/20231130150000_user_id_foreign_key.sql @@ -0,0 +1,21 @@ +-- Revert the last migration +REVOKE SELECT, INSERT, UPDATE, DELETE ON public.af_user FROM supabase_auth_admin; +DROP TRIGGER delete_user_trigger ON auth.users; +DROP TRIGGER update_af_user_deleted_at_trigger ON auth.users; +DROP FUNCTION public.delete_user(); +DROP FUNCTION public.update_af_user_deleted_at(); + +-- Delete all users from public.af_user table that are not in auth.users table +DELETE FROM public.af_user +WHERE NOT EXISTS ( + SELECT 1 + FROM auth.users + WHERE af_user.uuid = users.id +); + +-- Add foreign key constraint to public.af_user table +ALTER TABLE public.af_user +ADD CONSTRAINT af_user_email_foreign_key +FOREIGN KEY (uuid) +REFERENCES auth.users(id) +ON DELETE CASCADE; diff --git a/tem b/tem deleted file mode 100644 index e69de29b..00000000