Drizzle <> Supabase
This guide assumes familiarity with:
- Drizzle 데이터베이스 연결 기초
- Drizzle PostgreSQL 드라이버 - 문서
**공식 웹사이트**에 따르면, Supabase는 최소한의 설정으로 안전하고 성능 좋은 Postgres 백엔드를 구축할 수 있는 오픈 소스 Firebase 대안입니다.
공식 Supabase + Drizzle 문서를 확인하세요.
Step 1 - 패키지 설치
npm
yarn
pnpm
bun
npm i drizzle-orm postgres
npm i -D drizzle-kit
Step 2 - 드라이버 초기화 및 쿼리 실행
import { drizzle } from 'drizzle-orm/postgres-js'
const db = drizzle(process.env.DATABASE_URL);
const allUsers = await db.select().from(...);기존 드라이버를 제공해야 하는 경우:
import { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'
const client = postgres(process.env.DATABASE_URL)
const db = drizzle({ client });
const allUsers = await db.select().from(...);Supabase를 통해 연결 풀링을 사용하기로 결정하고(여기 참조) “Transaction” 풀 모드를 활성화한 경우, prepared statement가 지원되지 않으므로 prepare를 비활성화해야 합니다.
import { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'
// "Transaction" 풀 모드에서는 prefetch가 지원되지 않으므로 비활성화
const client = postgres(process.env.DATABASE_URL, { prepare: false })
const db = drizzle({ client });
const allUsers = await db.select().from(...);서버리스 환경에서는 Connection Pooler를, 장기 실행 서버에서는 Direct Connection을 사용하여 데이터베이스에 연결하세요.