数据库

数据库

NextDevTpl 使用 PostgreSQL 和 Drizzle ORM。schema 是认证、积分、支付、工单和用户数据的事实来源。

主要文件

路径作用
src/db/schema.ts表结构定义
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.ts,需要生成迁移文件
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 和购买流程
订阅支付和套餐查询
工单用户工单和后台处理
存储记录上传和安全测试

本页目录