Drizzle <> Supabase

This guide assumes familiarity with:

**공식 웹사이트**에 따르면, Supabase는 최소한의 설정으로 안전하고 성능 좋은 Postgres 백엔드를 구축할 수 있는 오픈 소스 Firebase 대안입니다.

공식 Supabase + Drizzle 문서를 확인하세요.

Step 1 - 패키지 설치

npm
yarn
pnpm
bun
npm i drizzle-orm postgres
npm i -D drizzle-kit

Step 2 - 드라이버 초기화 및 쿼리 실행

index.ts
import { drizzle } from 'drizzle-orm/postgres-js'

const db = drizzle(process.env.DATABASE_URL);

const allUsers = await db.select().from(...);

기존 드라이버를 제공해야 하는 경우:

index.ts
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를 비활성화해야 합니다.

index.ts
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을 사용하여 데이터베이스에 연결하세요.

다음 단계