Cloudflare 开发者社区和更广泛的开发者生态系统的成员构建和/或贡献了基于 D1 之上的工具——包括 ORM(对象关系映射器)库、查询构建器和 CLI 工具。
Sutando 是为 Node.js 设计的 ORM。使用 Sutando,数据库中的每个表都有对应的模型来处理 CRUD(创建、读取、更新、删除)操作。
knex-cloudflare-d1 是 Knex.js 的 Cloudflare D1 方言。请注意,这不是 Knex.js 提供的官方方言。
Prisma ORM ↗ 是下一代 JavaScript 和 TypeScript ORM,凭借其直观的数据模型、自动化迁移、类型安全和自动补全,在使用数据库时提供全新的开发者体验。
Kysely 是一个类型安全且支持自动补全的 TypeScript SQL 查询构建器。使用此适配器,您可以通过熟悉的 Kysely 接口与 D1 交互。
feathers-kysely 数据库适配器遵循 FeathersJS Query Syntax 标准,可与任何框架配合使用。它基于 Kysely 的 D1 适配器构建,支持直接从客户端应用传递查询。由于 FeathersJS 查询语法是 MongoDB 语法的子集,对于没有 SQL 经验的 MongoDB 用户来说,这是使用 Cloudflare D1 的绝佳工具。
Drizzle 是一个无头 TypeScript ORM,可在 Node、Bun 和 Deno 上运行。Drizzle ORM 也运行在 Edge 上,同样是 JavaScript ORM。它附带 drizzle-kit CLI 伴侣,用于自动生成 SQL 迁移。Drizzle 根据您在 TypeScript 中定义的类型自动生成 D1 schema,并公开允许您直接查询数据库的 API。
workers-qb 是一个零依赖查询构建器,提供简单的标准化接口,同时保留直接使用原始查询而非传统 ORM 的优势和速度。虽然不旨在提供 ORM 类功能,但 workers-qb 使从代码中与数据库交互更加容易,便于直接 SQL 访问。
与其每次想要与数据库交互时都在终端运行 wrangler d1 execute 命令,您可以在 d1-console 内与 D1 交互。由 Discord 社区 Champion 创建,这提供了执行多行查询、获取命令历史记录和查看格式清晰的表格输出的好处。
L1 是一个包,通过 Cloudflare API 将部分 Cloudflare Worker 生态系统绑定引入 PHP 和 Laravel。它通过 PDO 提供与 D1、KV 和 Queues 的交互,未来还将添加更多服务,使 PHP 与 Cloudflare 的集成变得非常简单。
Staff Directory 是一个使用 D1、HonoX ↗ 和 Cloudflare Pages 的演示项目。它使用 D1 存储员工数据,是构建在 D1 之上的全栈应用示例。
NuxtHub 是一个 Nuxt 模块,无需配置即可将 Cloudflare Worker 绑定引入 Nuxt 应用。它在开发中利用 Wrangler Platform Proxy,在生产中直接绑定,通过服务器 composable(hubDatabase()、hubKV() 和 hubBlob())与 D1、KV 和 R2 交互。
NuxtHub 还提供在开发中使用 npx nuxt dev --remote 命令访问远程 D1 数据库的方式。
要报告这些社区项目的错误或提交功能请求,请直接在项目的仓库中创建 issue。