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