Skip to content

Commit 9aabcba

Browse files
committed
feat: handle new user
1 parent 8dde33e commit 9aabcba

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

content/sql/handle-new-user.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: "Handle New User - Function & Trigger"
3+
description: Insert new user data into another table when event new user signup using Supabase Auth.
4+
author: zernonia
5+
github: https://github.com/zernonia
6+
---
7+
8+
First, create a function `handle_new_user` that return a `trigger`, and save the desired data into `profiles` table.
9+
10+
```sql
11+
create or replace function public.handle_new_user()
12+
returns trigger as $$
13+
begin
14+
insert into public.profiles (id, avatar_url, full_name)
15+
values (new.id, new.raw_user_meta_data->>'avatar_url', new.raw_user_meta_data->>'full_name');
16+
return new;
17+
end;
18+
$$ language plpgsql security definer;
19+
```
20+
21+
Now, we will create a trigger `on_auth_user_created` that utilized the function above. It triggers when a new row is insert into `auth.users` table (when new User Signup).
22+
23+
```sql
24+
create trigger on_auth_user_created
25+
after insert on auth.users
26+
for each row execute procedure public.handle_new_user();
27+
```

0 commit comments

Comments
 (0)