背景:开发机每次重启后被反馈需要重新用默认密码登录并强改,排查确认仓库启动链路(dev.sh / pnpm dev / API / worker / db:seed)均不重置密码;只有 db:reset / migrate reset / 重建数据卷会恢复种子密码。A2 收尾时为干净截图执行过 db:reset,是最近一次重置的直接原因。 改动: - 新增 pnpm db:init = prisma migrate deploy + 幂等 seed,作为首次/迁移后的安全初始化;不重置数据、不覆盖已有密码。 - README / dev.sh / AGENTS 命令契约 / SEED.md / A1·A2 实施报告明确:日常启动不需要 DB 命令,db:reset 仅用于清库。 - 实测:对已改密的 admin 执行 db:init 后 password_hash 与 must_change_password 均未变化。 验证:pnpm format:check / pnpm lint 通过;db:init 实际执行通过。
This commit is contained in:
1 parent
7fb458f62f
commit
7824bc7b32
7 files changed
+27
-11
No files matched your search
@@ -77,11 +77,14 @@ docs/ PRD / 技术架构 / 开发计划 / 立项建议 / 工程规范
|
||||
cp .env.example .env.local
|
||||
cp .env.local .env # Prisma CLI 只读取 .env(两者均已 gitignore)
|
||||
pnpm check:dev # 检查本机 PostgreSQL / Redis 是否可用
|
||||
pnpm db:migrate # 首次建表;后续由 Prisma 迁移管理
|
||||
pnpm db:seed # 幂等写入 system_configs 基线
|
||||
pnpm db:init # 首次/迁移后:应用已有迁移 + 幂等种子(不重置数据、不改已有密码)
|
||||
pnpm dev # 并行启动 api(3000) / web(5173) / worker
|
||||
```
|
||||
|
||||
> **日常启动不需要执行任何数据库命令**。`pnpm dev` / `./dev.sh` 都不会迁移、播种或重置数据库,已有账号密码保持不变。
|
||||
> **只有需要清空本地库时才用 `pnpm db:reset`**:它会执行 `prisma migrate reset --force`,重建全部表并重新 seed,admin 等种子账号会回到初始密码 `lingxi2026` 且 `must_change_password=true`(这是“清库”的预期结果,不是启动行为)。
|
||||
> 生产环境部署只用 `prisma migrate deploy`(`db:init` 的第一步),**不执行 seed / reset**;用户密码不会因重启或发布被重置。
|
||||
|
||||
也可以使用一键脚本(自动检测并释放端口、带健康检查,启动后默认跟随日志):
|
||||
|
||||
```bash
|
||||
|
||||
Reference in new issue
Block a user