MuseMVP 文档
数据库

数据库配置

从开发数据库开始,查看数据,再为上线准备独立生产库。

Web Cloudflare 使用 D1,通过 DB 绑定访问。先准备本地开发数据库,再为生产创建远端 D1。

开始前准备

在仓库根目录安装依赖。首次设置使用全新开发数据库。已有自定义数据库时,先阅读 更新已有项目,再执行迁移。

本地 D1

pnpm muse:init --yes --app cloudflare
pnpm db:seed:d1
pnpm dev:cf

本地 D1 通过 Wrangler 的 DB 绑定使用,不需要 DATABASE_URL 或 Postgres 服务。远端资源创建、名称/ID 配置和迁移见 Cloudflare 部署。

确认结果

  • 初始化与对应 seed 命令完成,没有数据库错误。
  • 开发用户可以登录,保存的账号修改刷新后仍存在。
  • Workers 数据保存在本地 D1,与远端生产数据分开。

常见问题

问题处理方式
缺少 D1 绑定检查 Workers Wrangler 的 DB;增加 DATABASE_URL 不能解决 D1 问题
已有生产数据先备份并设计增量迁移,不重放新安装基线

开始新增业务表时

Schema 位于 packages/db/src/schema-d1.ts。生成对应 数据库迁移。共享查询在 packages/db/src/queries/,首个参数为 db,应用包装层绑定 driver。组件不直接访问数据库。

D1 不支持交互式 transaction();使用已支持的 batch() 路径,并测试原子性与失败行为。

本页目录