数据库
Web 客户端如何消费由 Drizzle 与 D1 支撑的数据
数据库
项目基于 Drizzle ORM + Cloudflare D1 构建数据库层。
创建 D1 数据库
参考官方文档:D1 Getting started · Wrangler commands
方式一:通过 Cloudflare Dashboard
- 登录 Cloudflare Dashboard
- 进入 Workers & Pages → D1
- 点击 Create database
- 输入数据库名,例如
easysaas-db - 按需选择地域
- 点击 Create
创建完成后,在数据库详情页复制 database_id。
方式二:通过 Wrangler CLI
pnpm wrangler d1 create your-d1-database-name命令执行成功后会输出 D1 绑定配置,其中包含 database_id。
配置 D1 数据库 ID
拿到 database_id 后,需要填入以下两个位置。
环境变量文件:
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_API_TOKEN=
CLOUDFLARE_D1_DATABASE_ID=CLOUDFLARE_ACCOUNT_ID 和 CLOUDFLARE_API_TOKEN 的获取方式见 Cloudflare 集成。
把 database_id 填到:
CLOUDFLARE_D1_DATABASE_ID=your-d1-database-id和:
CLOUDFLARE_D1_DATABASE_ID=your-d1-database-idWrangler 配置:
"d1_databases": [
{
"binding": "DB",
"database_name": "your-d1-database-name",
"database_id": "your-d1-database-id"
}
]也就是说,apps/server/wrangler.jsonc 里的 database_id 也要填成同一个值。
执行本地数据库开发命令
本地数据库开发只需要按这个顺序执行:
pnpm db:generate
pnpm db:migrate:local
pnpm db:studio:localpnpm db:generate
根据 apps/server/src/db/schema 生成迁移文件。
pnpm db:migrate:local
把刚生成的迁移应用到本地 D1 数据库。这个命令会自动处理本地 D1 初始化。
pnpm db:studio:local
打开本地 D1 的可视化界面,检查表结构和数据是否正确。
Web 端注意点
- 浏览器客户端不应该直接持有数据库凭据
- 通过类型安全的 API 配合查询缓存拿数据