supabase.
db, storage, auth 등을 한번에 해결할 수 있어서
나같이 게으른 미룬이들에겐 혁명과도 같은 디비임.
또한 공식문서나 관련 블로그들도 정리가 세련되게 잘 되어있음.
어떤 블로그를 참고하여
client랑 api(server) 완벽하게 짰는데 계속 에러가 나는 거임..
{"message":"Sign Up failed","error":"Database error saving new user"}
3일 밤낮을 gpt, 구글링을 하며 방법을 찾았지만 결국 해결하지 못함.
'뭐가 잘못되었는지 모름'
개발자로서 제일 빡치는 순간임.
내 행동들을 복기해보니 문득 sql editor에서 나온 에러 메시지가 뇌리를 스침.
"ERROR: 42723: function "handle_new_user" already exists with same argument types"
참고로 필자는 sql를 모름.
supabase + prisma 조합으로 ts 코드로만 어찌어찌 사용하는 중임.
위 에러메시지가 좀 이상하게 느껴짐.
나는 supabase의 sql editor에 보이는 함수만 실행된다고, 존재한다고 생각했음. (vscode 처럼)
근데 이게 아닌 것 같음.
supabase의 가장 큰 장점중 하나는 ai 어시스턴트를 제공한다는 것임.
sql을 모르기 때문에 ai 에게 모든 함수를 없애는 sql 코드를 짜달라고 부탁함.
DROP FUNCTION IF EXISTS handle_new_user CASCADE;
DROP TRIGGER IF EXISTS on_auth_user_created ON auth.users;
auth 스키마와 public 스키마의 user 테이블을 연결해 놓았기 때문에
함수 뿐아니라 Cascade(종속성), trigger 역시 삭제해 주어야 함.
그리고 마침내...
눈물이 앞을 가리네요....
교훈) sql editor 창에서 함수를 안보이게 해도 사라지는게 아님... sql 빨리 배워야긋다