Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

juni

db 설정 본문

카테고리 없음

db 설정

juni_shin 2025. 11. 12. 02:15

 

begin
  insert into public.users (id, email, nickname, created_at)
  values (
    new.id,
    new.email,
    coalesce(new.raw_user_meta_data->>'user_name', 'default_name'),
    now()
  )
  on conflict (id) do nothing;

  return new;
end;
추가 컬럼과 기본값 처리
기존 Eun 함수는 id, email, nickname만 넣었습니다.
새 함수는 created_at까지 함께 채우고, raw_user_meta_data->>'user_name' 값이 없을 때 default_name으로 대체합니다.
이렇게 하면 가입 시각이 기록되고, 닉네임이 비어도 에러 없이 들어갑니다.
중복 삽입 방지
on conflict (id) do nothing을 넣어서 같은 id로 두 번 insert가 시도돼도 에러 없이 무시됩니다.
연결이 끊겼다가 재시도되는 경우나 소셜 로그인 등으로 동일 ID가 다시 들어올 때 안전망이 됩니다.
트리거 실행 환경 보강
실제 SQL에서는 returns trigger, security definer, set search_path = public 등을 설정합니다.
pnpm dlx supabase gen types typescript \
  --project-id ... \
  --schema public \
  > src/types/supabase.ts
  
  위와 같이 테이블 타입 불러오기 가능