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 混在一起。
这篇文档有问题?