Drizzle <> Cloudflare D1
**공식 웹사이트**에 따르면,
D1은 Cloudflare의 첫 번째 쿼리 가능한 관계형 데이터베이스입니다.
Drizzle ORM은 Cloudflare D1 데이터베이스와 Cloudflare Workers 환경을 완벽하게 지원합니다.
Drizzle는 SQL 방언과 방언별 드라이버 및 구문을 수용하며, SQLite와 유사한 all
, get
, values
, run
쿼리 메서드 구문을 대부분 반영합니다.
Cloudflare D1 프로젝트 설정은 **공식 문서**를 참고하세요.
1단계 - 패키지 설치
npm
yarn
pnpm
bun
npm i drizzle-orm
npm i -D drizzle-kit
2단계 - 드라이버 초기화 및 쿼리 실행
D1 데이터베이스를 사용하려면 wrangler.toml
파일이 필요합니다. 이 파일은 다음과 같이 구성됩니다:
name = "여러분의 프로젝트 이름"
main = "src/index.ts"
compatibility_date = "2022-11-07"
node_compat = true
[[ d1_databases ]]
binding = "DB"
database_name = "여러분의 DB 이름"
database_id = "여러분의 DB ID"
migrations_dir = "drizzle/migrations"
첫 번째 D1 쿼리를 실행해 보겠습니다:
import { drizzle } from 'drizzle-orm/d1';
export interface Env {
DB: D1Database;
}
export default {
async fetch(request: Request, env: Env) {
const db = drizzle(env.DB);
const result = await db.select().from(users).all();
return Response.json(result);
},
};