이게 왜?

2024. 1. 8. 21:38개발

 

CREATE FUNCTION public.handle_new_user()
RETURNS TRIGGER
LANGUAGE plpgsql
SECURITY DEFINER
SET search_path = public
AS $$

BEGIN
  INSERT INTO public.users (id, email, nickname)
  VALUES (NEW.id, NEW.email, NEW.user_meta_data ->> 'nickname');
  return new;
end;
$$;

create trigger on_auth_user_created
  after insert on auth.users
  for each row execute procedure public.handle_new_user();

 

Supabase에서  auth를 이용한 로그인 및 회원가입을 하고 

회원가입시 table에 자동으로 올려주는 역할을 하는 것이 저 trigger라는 것인데

주말에 따로 미니 프로젝트를 하나 만들어서 기능이 정상작동 하는 것까지 확인하고 

오늘 (01/08월) 메인 프로젝트에 세팅을 했더니 500대 에러가 뜸

다른 조원분이 세팅한 SUPABASE에  SQL을 덧씌워서 로직이 꼬여서 내부에러가 나는가 했는데

이유는 바로 위에 올린 코드에서 서버 내부 에러가 뜨는 것이었다.

근데 주말에 만들었던 미니프로젝트는 여전히 잘 작동하는 문제 아닌 문제가...

doc도 찾아보고 다시 만들어 보기도 했지만, 왜 그런 문제가 생기는 지 파악이 안되는 상황

결국 지피티를 만지면서 코드의 대소문자가 바뀜으로 인해 생기는 문제로 파악 하고,

SUPABASE에 함수파트에 가서 위에서 만든 코드를 수정 

  NEW.raw_user_meta_data 로 바꾸고 하니 갑자기 된다? 

같은 경로 같은 함수명 같은 로직을 썼는데

기존에 작동하던 코드를 들고오면 안되다가 저거 하나 추가하니 된다니?

여러번 다르게 시도를 해봤지만 왜 그런지는 모르겠다.

SQL을 공부하면 알게 되려나?

 

 

24.01.09 수정. 원인은 지피티였습니다 대소문자가 바뀌다보니 작동을 안하는 것이었습니다.

doc에서 안내하는 범위에서 수정해서 쓰니 잘 작동합니다.

 

 

 

 

'개발' 카테고리의 다른 글

리얼타임으로 1:1 챗 구현하기  (1) 2024.01.10
최종 플젝/ 회의 진행상황  (0) 2024.01.09
최종 팀플젝 초안.  (1) 2024.01.05
최종플젝 준비.  (0) 2024.01.04
KPT 심화 회고.  (2) 2024.01.04