Files
ProjectAGiPrompt/24-版本升级标准流程/2-增量升级流程图.md
2026-04-29 09:46:36 +08:00

3.0 KiB
Raw Blame History

%%{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