跳转到正文

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

初始化数据 ​

用途与命令 ​

初始化脚本用于开发和预发布的测试资料,入口为 db/scripts/seed.ts,数据文件在 db/seeds/。

sh
bun db:seed
bun db:seed:staging

执行前核对目标库。项目没有生产初始化命令;真实参考数据需要可审查的一次性迁移或明确的管理流程,不能把演示账号导入客户库。

幂等不是自动保证 ​

现有用户初始化使用冲突忽略。只有数据存在稳定唯一键时,onConflictDoNothing() 才能防止重跑重复;每次随机生成新主键且没有其他唯一约束仍会插入新数据。

新增初始化函数时,先定义稳定唯一字段,再按依赖顺序执行:用户、组织、成员、业务数据。不要使用真实邮箱或真实用户文件作为样例。

演示账号与可登录账号 ​

表里有用户不代表已经具备可用密码身份或有效会话。需要通过认证流程创建凭据,不能直接把明文密码写入身份表。本机完整预览的隔离演示账号也不随复制新站分发。

排查 ​

缺表先检查迁移;唯一冲突检查数据键;外键冲突检查执行顺序;无法登录检查认证身份而非只看用户行。开发测试优先使用 @repo/db/testing 的进程内数据库,减少污染真实数据库。

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