Drizzle <> Cloudflare D1
This guide assumes familiarity with:
**공식 문서**에 따르면, D1은 Cloudflare의 첫 번째 쿼리 가능한 관계형 데이터베이스입니다.
Drizzle ORM은 Cloudflare D1 데이터베이스와 Cloudflare Workers 환경을 완벽하게 지원합니다.
SQL 방언과 방언별 드라이버 및 문법을 지원하며, 가장 널리 사용되는
SQLite 스타일의 all, get, values, run 쿼리 메서드 문법을 제공합니다.
Cloudflare D1용 프로젝트 설정 방법은 **공식 문서**를 참조하세요.
Step 1 - 패키지 설치
npm
yarn
pnpm
bun
npm i drizzle-orm
npm i -D drizzle-kit
Step 2 - 드라이버 초기화 및 쿼리 실행
D1 데이터베이스를 위해서는 wrangler.json 또는 wrangler.toml 파일이 필요하며, 다음과 같은 형태를 가집니다:
wrangler.json
wrangler.toml
{
"name": "YOUR_PROJECT_NAME",
"main": "src/index.ts",
"compatibility_date": "2024-09-26",
"compatibility_flags": [
"nodejs_compat"
],
"d1_databases": [
{
"binding": "BINDING_NAME",
"database_name": "YOUR_DB_NAME",
"database_id": "YOUR_DB_ID",
"migrations_dir": "drizzle/migrations"
}
]
}첫 번째 D1 쿼리를 작성합니다:
import { drizzle } from 'drizzle-orm/d1';
export interface Env {
<BINDING_NAME>: D1Database;
}
export default {
async fetch(request: Request, env: Env) {
const db = drizzle(env.<BINDING_NAME>);
const result = await db.select().from(users).all()
return Response.json(result);
},
};