本文定义 DGJ 版本涉及数据库、配置中心、OA、Redis、脚本和数据修复时的统一发布清单。具体版本的字段、配置值和执行结果应追加到同一篇版本 runbook,不把上线动作分散在聊天或多个专项文档中。
1. 发布前信息
- 版本号、需求名称、目标环境和计划时间。
- 涉及项目、数据库 schema、表、字段、索引和数据量级。
- 配置中心项目、namespace、key、变更目的和回滚值。
- Redis key/缓存刷新、一次性脚本、数据回填、菜单权限和 OA 模板变更。
- 服务重启顺序、依赖服务、验证接口和负责人。
2. DDL 执行原则
- 先查询
information_schema.COLUMNS/STATISTICS/TABLES确认当前事实。 - 明确 schema,不因同名表存在于其他库就扩大执行范围。
- DDL 尽量幂等;字段或索引已存在时不重复执行。
- 评估锁表、全表扫描、默认值回填和大表执行时间。
- 执行后读回字段类型、可空、默认值、注释和索引。
- 生产执行需要单独风险确认和回滚方案。
3. 配置与 OA
- 记录配置项目、namespace、key 和业务用途,敏感值只保存在配置中心或私有凭据仓。
- OA 提交模板和回调可处理模板是两个不同控制点,必须一起验证。
- OA 提交字段按表单公开名称还是内部字段 ID 传递,要以接口和当前模板为准。
- 存在旧模板在途单时,明确兼容窗口和清理时间。
4. 执行记录模板
| 类型 | 对象 | 执行前 | 动作 | 执行后 | 回滚 |
|---|---|---|---|---|---|
| DDL | schema.table.field | 不存在/旧定义 | 新增或修改 | 字段定义读回 | 反向 DDL 或保留兼容 |
| 配置 | project/namespace/key | 旧口径 | 发布新值 | 服务读取正常 | 恢复旧值 |
| 数据 | 脚本或 SQL | 影响行数 | 分批执行 | 数量和业务抽查 | 备份/反向脚本 |
| 服务 | 服务名 | 当前版本 | 重启/发布 | 健康检查通过 | 回滚镜像/版本 |
5. 发布后验证
- 数据库结构、配置读取和服务健康检查通过。
- 新旧数据场景、状态流转、MQ/OA/支付回调和幂等回归通过。
- 日志没有新增持续错误,核心业务指标没有异常。
- runbook 中记录实际执行结果、未执行项和剩余风险。
6. 安全边界
- 网站不记录密码、Token、Cookie、内网地址、完整配置值或生产客户数据。
- 只写凭据 key 和配置 key;真实值从受控系统读取。
- SQL 示例必须使用占位符,生产执行命令不进入公开文档。