docs/sql/gen_config_export_all.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
"""重新生成 docs/sql/config_export_all_20260928.sql(全量重生成,替换 0918 版)。
"""重新生成 docs/sql/config_export_all_20260930.sql(全量重生成,替换 0929 版)。
阶段一:当前源库 ruoyi-vue-pro 全库 416 张表 CREATE TABLE + 6 类配置数据(mysqldump 字面量)。
阶段二:沿用 0918 文件的跨库身份/菜单/OAuth2 补导段(逐字复用)。
阶段一:当前源库 ruoyi-vue-pro 全库 CREATE TABLE + 6 类配置数据(mysqldump 字面量)。
阶段二:沿用 0929 文件的跨库身份/菜单/OAuth2 补导段(逐字复用)。
"""
import re
import subprocess
@@ -13,9 +13,9 @@
USER = "root"
PWD = "1234"
BASE_DIR = r"D:\develop\XingRuan\MOM\mom-pro2-after\docs\sql"
SRC_0918 = BASE_DIR + r"\config_export_all_20260918.sql"
OUT = BASE_DIR + r"\config_export_all_20260928.sql"
BASE_DIR = r"D:\develop\XingRuan\MOM-LXWT\mom-pro2-after\docs\sql"
SRC_PREV = BASE_DIR + r"\config_export_all_20260929.sql"
OUT = BASE_DIR + r"\config_export_all_20260930.sql"
MYSQL = MYSQL_BIN + r"\mysql.exe"
MYSQLDUMP = MYSQL_BIN + r"\mysqldump.exe"
@@ -181,36 +181,40 @@
def load_stage2_block():
    with open(SRC_0918, encoding="utf-8") as f:
    with open(SRC_PREV, encoding="utf-8") as f:
        lines = f.read().splitlines()
    for i, line in enumerate(lines):
        if "阶段二:补导身份" in line:
            start = i - 1  # 上方 =============== 横线
            return "\n".join(lines[start:]).rstrip() + "\n"
    raise RuntimeError("0918 文件未找到阶段二段落")
    raise RuntimeError("0929 文件未找到阶段二段落")
HEADER = """-- =======================================================================
-- 文件:config_export_all_20260928.sql
-- 文件:config_export_all_20260930.sql
-- 用途:ruoyi-vue-pro「全库表结构 + 6 类配置数据」导出,供同结构全新库初始化
--       阶段一:全库 {n_tables} 张表 CREATE TABLE + 6 类配置数据(字面量,自包含,不依赖源库在线)
--       阶段二:跨库补导 菜单/角色/用户/OAuth2 等身份数据(执行期从源库拷贝)
-- 来源库:ruoyi-vue-pro
-- 基线:2026-09-18 版(419 张表)→ 本次为**全量重生成**(不再基于旧文件打补丁):
--       直接按当前源库最新状态重导,一次性覆盖 0918 之后全部结构与配置漂移。
-- 本次变更(相对 0918,2026-09-28):
--   ① 表结构:419 → {n_tables} 张
--      - 删除 6 张历史备份表(bpm_bak_20260904_bytearray/category/deployment/model/procdef/procinfo,源库已无)
--      + 新增 3 张表(after_sale_problem、after_sale_visit、bpm_process_auto_approve_config,仅结构,源库无数据)
--      + 10 张表 DDL 与 0918 不同,以当前源库为准(after_sale_ticket、mes_qc_indicator、mes_qc_indicator_result_detail、
--        mes_qc_ipqc、mes_qc_iqc、mes_qc_oqc、mes_qc_rqc、mes_qc_template、mes_qc_template_indicator、mes_wm_return_issue_line)
--   ② 配置数据以当前源库为准重导(下列为 0918 声明值 → 本次导出值):
--      - system_dict_type 241→{n_dicttype}、system_dict_data 1157→{n_dictdata}(含 hrm_holiday_type 节假日类型等新增字典)
--      - system_company_config 0→1、bi_chart_config 36→37、bi_warehouse_coordinate 1→2、ai_api_key 1→3、bpm_user_group 3→4
--      - bpm_business_attach 11→4、bpm_category 22→15、bpm_form 4→3、bpm_process_listener 1→0(源库已删除的行不再导出)
-- 基线:2026-09-29 版(417 张表)→ 本次为**全量重生成**(不再基于旧文件打补丁):
--       直接按当前源库最新状态重导,一次性覆盖 0929 之后全部结构与配置漂移。
-- 本次变更(相对 0929,2026-09-30):
--   ① 表数量不变({n_tables} 张),无新增/删除表。
--   ② 5 张出库单明细行增加 3 列(出库单行支持「主单位 + 辅单位(结合型号换算)」录入):
--      mes_wm_misc_issue_line(杂项出库)、mes_wm_outsource_issue_line(外协发料)、
--      mes_wm_product_issue_line(生产领料)、mes_wm_product_sales_line(销售出库)、
--      mes_wm_return_vendor_line(采购退货):
--      item_model_id(物料型号编号)、enter_unit_measure_id(录入单位编号)、
--      enter_quantity(录入数量,按录入单位计);
--      quantity 保持为「物料主单位口径的出库数量」,库存与库存流水口径不变。
--   ③ hrm_attendance_holiday 增加 2 列(考勤节假日配置由「单日」改为「时间段」录入):
--      start_date(开始日期)、end_date(结束日期);原 date 列保留不动,
--      后端保存时仍写入开始日期,仅作存量兼容,业务判断改用 start_date/end_date。
--   ④ 配置数据以当前源库为准重导:
--      - system_dict_type {n_dicttype}、system_dict_data {n_dictdata}
--      - 协同流程定义按源库当前**激活**集合重导({n_procdef} 个流程定义 + 对应部署/字节资源 + 设计态模型)
--   ③ 菜单/权限节点(节假日配置 6014/60141-60145、各模块导入按钮 1075311/1075417-1075420 等)由阶段二
--      跨库全量拷贝自动携带,无需改动本文件数据段;在此登记以说明本版文件确实覆盖这些变更。
--   ⑤ 菜单/权限节点由阶段二跨库全量拷贝自动携带,无需改动本文件数据段。
--      本次未新增菜单/权限点(节假日配置菜单及其按钮权限此前已入库,随阶段二自动携带)。
-- 验证:{verify}
-- 范围:全库 BASE TABLE 共 {n_tables} 张,全部输出 CREATE TABLE;
--       仅以下配置类表带数据(INSERT),其余业务/系统/运行历史表只保留空表结构: