背景: - 本轮部门管理联调后执行了 pnpm db:reset 清理测试数据,清空本地库, 导致用户手工改过的登录密码被重置回 lingxi2026; - 之前只保证了 ./dev.sh / pnpm dev / pnpm db:init 不会重置数据, db:reset 本身仍可被脚本或助手无提示执行,问题没有真正兜住。 改动: - 新增 scripts/db-reset.mjs:默认拒绝执行并打印影响;只有显式 ALLOW_DB_RESET=1 才调用 prisma migrate reset --force; - package.json 的 db:reset 指向该脚本; - README / AGENTS §6 §11 / e2e README / A1 实施报告同步: 日常迁移补种子只用 pnpm db:init,验证/联调中禁止 db:reset; e2e 会改写 actor 密码,需使用专用账号或独立测试库。 影响面: - 确需清库时多一步显式确认;迁移、启动、单测、int 测试不受影响。 回滚方式: - 回滚本提交即恢复 db:reset 直接执行 prisma migrate reset --force。 验证证据: - pnpm db:reset 无 ALLOW_DB_RESET 时退出码 1,并打印拦截说明; - pnpm format:check / lint 通过;node --check scripts/db-reset.mjs 通过。
This commit is contained in:
1 parent
981757b76c
commit
3e384febf3
6 files changed
+53
-6
No files matched your search
+1
-1
@@ -26,7 +26,7 @@
|
||||
"db:generate": "prisma generate",
|
||||
"db:migrate": "prisma migrate dev",
|
||||
"db:init": "prisma migrate deploy && pnpm db:seed",
|
||||
"db:reset": "prisma migrate reset --force",
|
||||
"db:reset": "node scripts/db-reset.mjs",
|
||||
"db:seed": "tsx prisma/seed.ts",
|
||||
"openapi:export": "tsx --tsconfig apps/api/tsconfig.json apps/api/src/scripts/export-openapi.ts && openapi-typescript openapi/lingxi.openapi.json -o apps/web/src/api/generated/openapi.d.ts && prettier --write apps/web/src/api/generated/openapi.d.ts",
|
||||
"openapi:diff": "node scripts/openapi-diff.mjs",
|
||||
|
||||
Reference in new issue
Block a user