Drizzle <> Cloudflare D1
根据 官方网站,D1 是 Cloudflare 首个可查询的关系型数据库。
Drizzle ORM 全面支持 Cloudflare D1 数据库和 Cloudflare Workers 环境。我们支持 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.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);
},
};