3.0 KiB
3.0 KiB
%%{init: {
"theme": "default",
"themeVariables": {
"fontFamily": "Microsoft YaHei, PingFang SC, Noto Sans SC, SimHei, sans-serif"
}
}}%%
flowchart TD
A["① 特战队:导出现场数据库表结构基线<br/>db-operator export-structure"]
B["② 特战队:创建临时 MySQL,导入结构基线<br/>db-operator import-structure"]
subgraph LOOP["③ 研发人员:升级迭代循环(可能多轮)"]
C1["③-a 重置临时库到基线状态<br/>db-operator reset-database"]
C2["③-b 执行增量升级脚本<br/>db-operator run-upgrade"]
C3["③-c 验证升级结果<br/>db-operator verify-upgrade"]
D{"验证是否通过?"}
C4["③-d 修改 migration 脚本"]
C1 --> C2 --> C3 --> D
D -- 否 --> C4 --> C1
end
E["④ 研发人员:比对升级前后结构差异(可选)<br/>db-operator diff-schema"]
F["⑤ 研发人员:打包全部交付物<br/>db-operator pack"]
G["交付包传递给特战队"]
H["⑥ 特战队:在现场数据库执行增量升级脚本<br/>db-operator run-upgrade"]
I["⑦ 特战队:执行验证并生成现场成功证明<br/>db-operator verify-upgrade"]
A --> B --> C1
D -- 是 --> E --> F --> G --> H --> I
%%{init: {
"theme": "default",
"themeVariables": {
"fontFamily": "Microsoft YaHei, PingFang SC, Noto Sans SC, SimHei, sans-serif"
}
}}%%
flowchart TB
%% =========================
%% 时间顺序:自上而下
%% =========================
subgraph T0["阶段一:特战队提供"]
direction TB
A["1. 导出现场数据库表结构基线<br/>命令:db-operator export-structure"]
B["2. 创建临时 MySQL 并导入结构基线<br/>命令:db-operator import-structure"]
A --> B
end
subgraph T1["阶段二:研发人员提供升级SQL"]
direction TB
C1["3.1 重置临时库到基线状态<br/>命令:db-operator reset-database"]
C2["3.2 执行增量升级脚本<br/>命令:db-operator run-upgrade"]
C3["3.3 验证升级结果<br/>命令:db-operator verify-upgrade"]
D{"是否满足转交条件?"}
C4["3.4 修改 migration 脚本"]
E["3.5 比对升级前后结构差异(可选)<br/>命令:db-operator diff-schema"]
F["3.6 打包交付物并移交特战队<br/>命令:db-operator pack"]
C1 --> C2 --> C3 --> D
D -- 否 --> C4 --> C1
D -- 是 --> E --> F
end
subgraph S["研发转交标准"]
direction TB
S1["提供run-upgrade命令执行成功截图"]
S2["提供diff-schema结构差异执行结果截图"]
S1 --> S2
end
subgraph T2["阶段三:特战队执行升级"]
direction TB
G["4. 接收研发交付包"]
H["5. 生产数据库执行升级脚本<br/>命令:db-operator run-upgrade"]
I["6. 验证并生成成功证明<br/>命令:db-operator verify-upgrade"]
G --> H --> I
end
B --> C1
F -- 满足 --> S
S --> G