00 / 00

数据库

Drizzle ORM、数据模型和数据库管理

会员专属文章

概览

项目使用 Drizzle ORM 连接 PostgreSQL 数据库。

ORM(对象关系映射,就是一个帮你自动写 SQL 的工具):你不用手写 SQL 语句,直接在代码里调用 db.user.findMany() 这样的方法就能操作数据库。

  • Schema 文件: products/muse/packages/db/src/schema
  • Drizzle 配置: products/muse/packages/db/drizzle.config.ts
  • Migration 目录: products/muse/packages/db/migrations

为什么默认使用 PostgreSQL

01MVP Start 把 PostgreSQL 作为长期主库,不跟随部署平台变化。无论 Web 服务部署在 Zeabur Docker、自有服务器 Docker,还是 Cloudflare Workers,默认都连接 PostgreSQL。

这样做有几个实际好处:

  • 不绑定某个云厂商:PostgreSQL 可以放在 Zeabur、Supabase、Neon、自建服务器或其他云厂商
  • 适合长期运营:账号、支付、订单、后台、积分、AI 任务和内容系统会持续增长,PostgreSQL 的事务、索引、迁移和备份能力更稳
  • 国内国外共用一套代码:国内部署可以使用自有服务器或 Zeabur,海外部署可以使用 Cloudflare Workers + PostgreSQL,不需要拆两套数据层
  • 避免后续迁移成本:项目做大后再从轻量数据库迁移到 PostgreSQL,通常比一开始统一 PostgreSQL 更麻烦

Cloudflare D1 对轻量网站完全可行,尤其适合 Cloudflare-first 的小项目。但模板默认面向可长期运营的产品,所以不把 D1 作为主线数据库。未来如果需要 D1,应做成单独 adapter 或 variant,而不是和默认 PostgreSQL schema 混在一起。

会员专属文章试读

试读结束,开通会员后继续阅读

完整内容还有更多实操细节、踩坑记录和可直接复用的清单。开通会员就能继续看。

支付成功后回到文档即可阅读全文。

这篇文档有问题?