Files
remotelink-docker/scripts/002_profile_trigger.sql
2026-04-10 15:36:33 -07:00

27 lines
610 B
PL/PgSQL

-- Auto-create profile when user signs up
CREATE OR REPLACE FUNCTION public.handle_new_user()
RETURNS TRIGGER
LANGUAGE plpgsql
SECURITY DEFINER
SET search_path = public
AS $$
BEGIN
INSERT INTO public.profiles (id, full_name)
VALUES (
new.id,
COALESCE(new.raw_user_meta_data ->> 'full_name', NULL)
)
ON CONFLICT (id) DO NOTHING;
RETURN new;
END;
$$;
-- Drop existing trigger if exists and create new one
DROP TRIGGER IF EXISTS on_auth_user_created ON auth.users;
CREATE TRIGGER on_auth_user_created
AFTER INSERT ON auth.users
FOR EACH ROW
EXECUTE FUNCTION public.handle_new_user();