LogoLandingMore
开发指南

数据库开发流程

配置 Cloudflare D1 数据库

数据库操作命令

1、本地数据库开发

pnpm run db:touch
pnpm run db:generate
pnpm run db:push
pnpm run db:migrate:dev
pnpm run db:studio

2、远程数据库开发

pnpm run db:generate
pnpm run db:push:prod
pnpm run db:migrate:prod
pnpm run db:studio:prod

解释说明

本地数据库开发流程

1. pnpm run db:touch

  • 作用:初始化或检查本地 D1 数据库连接
  • 实际执行:通过 wrangler 在本地执行 SQL 查询来验证数据库是否可访问
  • 使用场景:项目初始化或确认数据库状态

2. pnpm run db:generate

  • 作用:根据你的 Drizzle schema 文件生成数据库迁移文件
  • 实际执行:drizzle-kit generate 命令
  • 使用场景:当你修改了数据库 schema 定义后需要生成对应的迁移脚本

3. pnpm run db:push

  • 作用:直接将 schema 变更推送到本地数据库(跳过迁移文件)
  • 实际执行:drizzle-kit push 命令
  • 使用场景:开发阶段快速原型设计,不需要保留迁移历史

4. pnpm run db:migrate:dev

  • 作用:在本地环境应用数据库迁移
  • 实际执行:使用 wrangler 将迁移文件应用到本地 D1 数据库
  • 使用场景:执行正式的数据库结构变更

5. pnpm run db:studio

  • 作用:启动 Drizzle Studio 可视化数据库管理界面
  • 实际执行:drizzle-kit studio 命令
  • 使用场景:可视化查看和编辑本地数据库数据

远程数据库开发流程

1. pnpm run db:generate

  • 与本地环境相同,生成迁移文件

2. pnpm run db:push:prod

  • 作用:将 schema 变更推送到生产环境数据库
  • 实际执行:在 NODE_ENV=production 环境下执行 drizzle-kit push
  • 使用场景:直接更新生产数据库结构(谨慎使用)

3. pnpm run db:migrate:prod

  • 作用:在生产环境应用数据库迁移
  • 实际执行:使用 wrangler 将迁移文件应用到远程 D1 数据库
  • 使用场景:正式部署数据库变更到生产环境

4. pnpm run db:studio:prod

  • 作用:连接到生产环境数据库的可视化管理界面
  • 实际执行:在生产环境配置下启动 Drizzle Studio
  • 使用场景:查看或管理生产环境数据

工作流程建议

开发阶段:

  1. 修改 schema 文件
  2. 运行 pnpm run db:generate 生成迁移
  3. 运行 pnpm run db:migrate:dev 应用到本地
  4. 使用 pnpm run db:studio 验证变更

部署阶段:

  1. 确保本地测试完成
  2. 运行 pnpm run db:migrate:prod 应用到生产环境
  3. 必要时使用 pnpm run db:studio:prod 验证部署结果

On this page