数据库

数据库

NextDevTpl 使用 PostgreSQL 和 Drizzle ORM。生成器按所选模块组合 Schema 分组, 未选模块的表不会进入生成项目。

主要文件

路径作用
src/db/schema/authcreditssubscriptionsupportmail 拆分的表结构
src/db/schema/index.ts当前生成项目选中的 Schema 出口
src/db/index.ts数据库 client
drizzle.config.tsDrizzle 配置
drizzle/生成的迁移和 snapshot
src/test/utils/db.ts测试数据库 helpers

开发流程

新本地数据库:

pnpm db:push

需要评审和部署的 schema 变更:

pnpm db:generate
pnpm db:migrate

查看本地数据:

pnpm db:studio

push 和 migration 的区别

命令使用场景
pnpm db:push本地初始化或快速迭代
pnpm db:generate修改了 src/db/schema/,需要生成迁移文件
pnpm db:migrate执行已提交的迁移

schema 修改 checklist

  1. 修改 src/db/schema/<分组>.ts,新模块使用独立分组。
  2. 更新读写该表的 feature service/action。
  3. 根据环境选择 push 或 migration。
  4. src/test 补测试。
  5. 运行 pnpm typecheck 和相关测试。

常见表区域

区域使用方
用户和 sessionBetter Auth
积分和交易Credits ledger 和购买流程
订阅支付和套餐查询
工单用户工单和后台处理
Newsletter邮件订阅与退订

本页目录