跳转到正文

English core guides · 历史记录保留中文

数据模型 ​

表的职责 ​

模型保存内容
user用户资料与邮箱验证状态
identity认证身份,Better Auth 的 account 模型映射到此表
session会话及活动组织
verification邮箱验证、验证码等验证信息
organization、member组织资料、用户成员关系及角色
invitation组织邀请,投递流程尚未完整接入
passkey通行密钥公钥和凭据资料
subscriptionStripe 插件同步的订阅状态
toolRun用户工具保存结果、输入指纹和请求 ID
creditAccount、creditLedger当前积分余额和事件流水

具体列、索引和关系以 db/schema/*.ts 为准。某列存在不代表已经有界面或写入流程,例如邀请扩展时间字段需要单独核对。

命名与标识 ​

TypeScript 字段用驼峰,数据库通过 snake_case 转换。实体使用固定前缀加 16 位 CUID2,例如 usr_...、org_...,生成器在 db/schema/id.ts。用户密钥使用 key_,签发请求记录使用 kis_;都保留 16 位 CUID2。前缀方便排查,不承担权限判断。

日期使用带时区时间戳;关键列设非空、外键、唯一约束和索引,不只依赖前端校验。引用用户的数据按模型定义设置删除行为。

订阅与组织范围 ​

订阅的 referenceId 可以指向用户或组织,没有单一外键可替代业务归属检查。读取前从会话选择范围,再实时核对组织成员。

工具记录和积分当前按用户隔离。toolRun 的用户与请求 ID 唯一约束防止重复保存;积分事件的用户与事件键唯一约束防止重复发放,余额有非负约束。

新增或改列 ​

修改 db/schema/ 并补齐导出与关系,然后生成迁移、审查 SQL,再应用到隔离开发库。新增 Better Auth 字段还要同步插件配置;不要只改表然后期待插件自动读写。

涉及上线数据时分阶段增加新列、迁移数据、切换代码、最后清理旧列。详见 新增数据表 和 数据库迁移。

供语言模型读取:llms.txt · llms-full.txt
采用 MIT 许可证。