description: "Supabase 사용 시 패턴 (PostgreSQL + Supabase SDK). Prisma 대신 Supabase를 사용하는 프로젝트에 적용." paths:
Prisma 대신 Supabase를 사용할 때 적용한다.
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(
process.env.SUPABASE_URL,
process.env.SUPABASE_SERVICE_ROLE_KEY, // 서버에서는 service_role 키 사용
);
// 조회
const { data, error } = await supabase
.from('users')
.select('*, groups(*)')
.eq('id', userId)
.single();
if (error) throw new Error(error.message);
// 삽입
const { data, error } = await supabase
.from('users')
.insert({ email, name })
.select()
.single();
Supabase 쿼리는 항상 error를 체크한다.
const { data, error } = await supabase.from('users').select();
if (error) throw new Error(error.message);
service_role 키로 RLS 우회 가능anon 키 + RLS 정책으로 접근 제어const { data, error } = await supabase.storage
.from('bucket-name')
.upload('path/file.png', file);
아직 피드백이 없어요. 첫 번째로 의견을 남겨보세요!