Drizzle와 Neon Postgres 연동

This guide assumes familiarity with:

Drizzle는 neon-httpneon-websockets 드라이버를 통해 Neon 연결을 기본적으로 지원합니다. 이 드라이버들은 내부적으로 neon-serverless 드라이버를 사용합니다.

neon-httpneon-websockets 드라이버를 사용하면 서버리스 환경에서 TCP 대신 HTTP 또는 WebSockets를 통해 Neon 데이터베이스에 접근할 수 있습니다.
단일 비대화형 트랜잭션의 경우 HTTP를 통한 쿼리가 더 빠릅니다.

세션이나 대화형 트랜잭션 지원이 필요하거나, pg 드라이버와 완벽히 호환되는 대체재가 필요하다면 WebSocket 기반의 neon-serverless 드라이버를 사용할 수 있습니다.
Postgres를 통해 Neon 데이터베이스에 직접 연결할 수도 있습니다.

Cloudflare Worker에서 Neon Serverless 드라이버와 Drizzle ORM을 사용하는 예제는 **여기**를 참고하세요.
서버 환경에서 Neon을 사용하려면 Neon의 **공식 Node.js 문서**에 설명된 PostgresJS 드라이버를 사용할 수 있습니다. 자세한 내용은 **문서**를 확인하세요.

1단계 - 패키지 설치

npm
yarn
pnpm
bun
npm i drizzle-orm @neondatabase/serverless
npm i -D drizzle-kit

위 명령어를 사용하여 필요한 패키지를 설치합니다. drizzle-orm@neondatabase/serverless는 프로젝트에 필수적인 패키지이며, drizzle-kit는 개발 환경에서만 사용하는 개발 의존성 패키지입니다.

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

Neon HTTP
Neon Websockets
node-postgres
postgres.js
import { drizzle } from 'drizzle-orm/neon-http';

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

const result = await db.execute('select 1');

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

Neon HTTP
Neon Websockets
node-postgres
postgres.js
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';

const sql = neon(process.env.DATABASE_URL!);
const db = drizzle({ client: sql });

const result = await db.execute('select 1');

다음 단계는 무엇인가요?