fix: 备份覆盖补全(动作库/系统配置入清单)+ 覆盖自检与未登记表告警;发布流程/红线文档更新
问题(2026-09-10 用户反馈):动作库"没有备份"。实测导出 zip 里 agent_action 数据其实在 (导出是 users.db 全库快照),但清单/预览没列它 → 看起来像没备份。同类还有 app_meta。 修复(core/system_backup.py): - SUMMARY_TABLES 补 agent_action(动作库) 与 app_meta(系统配置) + 中文标签; - 导出侧**覆盖自检**:登记表若在快照缺失 → manifest.coverage_missing + 日志告警; - 导入侧**反向自检**:备份含未登记表 → 预览告警提示登记(extra_tables); - 顶部注释写明新增持久化表必须登记(红线)。 其余: - monitor.html:数据备份面板文案改为明列全部业务表 + 指引(预览见表行数 / 新增表须登记); - doc/DEPLOY.md §3.5:新增「备份覆盖清单(红线)」小节(含清单与两侧自检说明); - doc/DEVELOPMENT.md:§5.6 增「备份覆盖红线」;§6 发布流程重写为分支流程 (本机建分支 → 用户确认 → 合 dev → dev 整体就绪 → 合 main → 220 部署,附部署命令); - doc/ARCHITECTURE.md §3.6:补备份覆盖登记提示。 实测:导出清单 12 表(含动作库 3 行、系统配置 8 行),coverage_missing 空;上传预览同样显示、 extra_tables 空。
This commit is contained in:
+29
-7
@@ -231,20 +231,42 @@ tasks/<app>/
|
||||
| MCP 工具 | [MCP.md](MCP.md) 与 [MCP_DESIGN.md](MCP_DESIGN.md) |
|
||||
| 对外接入 / 数字员工知识库 | [staffdeck/KNOWLEDGE_BASE.md](staffdeck/KNOWLEDGE_BASE.md) 与 [staffdeck/JOB_SPEC.md](staffdeck/JOB_SPEC.md) |
|
||||
|
||||
> **备份覆盖红线(2026-09-10 新增)**:**新增任何持久化表**(业务数据)时,必须同步把它登记进
|
||||
> `core/system_backup.py` 的 `SUMMARY_TABLES`(并在 `TABLE_LABELS` 给中文名)+ 更新
|
||||
> [DEPLOY.md](DEPLOY.md) §3.5 的覆盖清单。理由:清单漏登记 → 导出预览看不到该表 → 会被误判为
|
||||
> "没有备份"(动作库 `agent_action` 就踩过)。导出侧有覆盖自检、导入侧有未登记表反向告警。
|
||||
|
||||
注:STF_REMOVAL.md 是历史迁移记录,不改写。
|
||||
|
||||
---
|
||||
|
||||
## 6. 发布流程
|
||||
## 6. 发布流程(团队约定,2026-09-10 更新)
|
||||
|
||||
详见 **[doc/DEPLOY.md](DEPLOY.md)**。摘要:
|
||||
**每个改动都走分支,确认后再并 dev;dev 整体就绪后才并 main 上生产。**
|
||||
|
||||
1. dev 开发测试完成
|
||||
2. 负责人确认 → 合并到 main
|
||||
3. 负责人确认 → 生产 220 `git pull`
|
||||
4. 重启 python-app 容器生效
|
||||
```
|
||||
① 本机新建分支 fix/xxx 或 feat/xxx(从 dev 切出)
|
||||
② 分支上开发 + 自测 本机跑通(服务/接口/页面)
|
||||
③ 交负责人确认 ★ 未经确认不合 dev
|
||||
④ 合并到 dev 确认通过后(fast-forward 或 merge)
|
||||
⑤ dev 整体就绪 dev 上功能齐全、验证完毕
|
||||
⑥ 合并到 main ★ 负责人确认后
|
||||
⑦ 生产 220 部署 git pull → 重启 python-app 容器 → 验证
|
||||
```
|
||||
|
||||
**发布前检查**:生产容器 adb key、依赖、数据库迁移。
|
||||
**生产 220 部署(目录 `/mnt/data/openstf/auto_control`,容器 `python-app` 挂到 `/app`)**:
|
||||
|
||||
```bash
|
||||
cd /mnt/data/openstf/auto_control
|
||||
git fetch origin && git checkout main && git pull --ff-only origin main
|
||||
docker restart python-app # 入口 scripts/start.sh:依赖守卫 → 拉起 MCP → exec web_server
|
||||
# 验证:curl -s http://127.0.0.1:18050/api/health ; ss -ltnp | grep -E ':(18050|8033|20242)'
|
||||
```
|
||||
|
||||
**发布前检查**:生产容器 adb key、依赖(新增依赖看 `requirements.txt`)、数据库迁移(`create_all` 自动补新表)、
|
||||
以及"新增持久化表是否已登记进备份覆盖清单"(见 §5.6 红线)。
|
||||
|
||||
**数据迁移**:用平台自带「系统 → 数据备份导出/导入」;导入后需**重启容器**才生效(见 [DEPLOY.md](DEPLOY.md) §3.5)。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user