2025 . 오은

repo

Supabase User 자동입력

수파베이스 auth 를 사용할 때, auth.users에 row 추가시(즉 회원가입시) 자동으로 custom users(프로젝트마다 다른) 테이블에 데이터를 추가하는 방법을 연구했습니다.

SQL

CREATE OR REPLACE FUNCTION public.handle_new_user_custom()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO public.users (user_id, user_email, user_nickname, user_profile_pic)
VALUES (
	NEW.id,
	NEW.email,
	NEW.raw_user_meta_data->>'user_name',
	CASE
		WHEN NEW.raw_user_meta_data->>'avatar_url' IS NOT NULL
		THEN NEW.raw_user_meta_data->>'avatar_url'
	ELSE NULL
	END
);
RETURN NEW;
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;  

-- 새로운 트리거 생성
CREATE TRIGGER on_auth_user_created_custom
AFTER INSERT ON auth.users
FOR EACH ROW
EXECUTE FUNCTION public.handle_new_user_custom();

이제 INSERT 발생시 public.users 에 자동으로 기본적인 데이터가 추가됩니다.