Cloudflare D1:Workers 上零运维的 SaaS 数据库

在 Cloudflare Workers 上用 D1 作为 ShipAny 应用的数据库——创建数据库、绑定、远程执行 Drizzle 迁移并初始化权限。

最后更新: 2026年10月8日

Cloudflare D1 是部署在 Worker 旁边的无服务器 SQLite 数据库。把 ShipAny TanStack 部署到 Cloudflare 时,它是默认数据库:不用管服务器、连接串和连接池。

ShipAny 帮你做了什么

  • D1 驱动:从 Workers 环境读取 DB 绑定,不需要连接串。
  • SQLite 表结构:所有内置表通过 Drizzle 迁移创建。
  • 精简打包:DATABASE_PROVIDER 为 d1 时,其他数据库驱动不会打进 Worker 包。
  • 一条命令完成:deploy-cloudflare Agent 技能会创建数据库、写入绑定、执行迁移、初始化角色权限,并且可以安全地重复运行。

配置步骤

  1. 创建数据库:npx wrangler d1 create <name>,复制 database_id。
  2. 在 wrangler.jsonc 中把 vars.DATABASE_PROVIDER 设为 "d1",并添加绑定:
"d1_databases": [
  { "binding": "DB", "database_name": "<name>", "database_id": "<id>", "migrations_dir": "drizzle" }
]
  1. 生成并执行迁移:pnpm db:generate,然后 npx wrangler d1 migrations apply <name> --remote。
  2. 初始化角色和权限,再用 pnpm run cf:deploy 部署。

注意事项

  • D1 用于 Cloudflare Workers 部署。 本地开发时,同样的表结构运行在普通 SQLite 文件上。
  • migrations_dir 必须指向 drizzle,否则 wrangler 找不到可执行的迁移。
  • D1 不够用或需要 Postgres 特性?换成通过 Hyperdrive 连接的 PostgreSQL。

相关阅读

更多集成

用 ShipAny 快速上线你的 AI SaaS

登录、支付、积分、多语言和管理后台都已内置——从可上线的模板开始,专注做你的产品。