3.3 KiB
3.3 KiB
生产上线初始化 SQL 生成实施记录
保存路径确认
- 生产初始化 SQL:
sql/ccdi_prod_init_20260428.sql - 实施记录:
docs/reports/implementation/2026-04-28-production-init-sql-implementation.md
修改内容
- 新增
sql/ccdi_prod_init_20260428.sql,用于生产空库初始化。 - SQL 内容包含当前
ccdi库最终态的 57 张表结构。 - SQL 必要数据范围:
- 若依基础配置、部门、岗位、用户、角色、菜单、角色菜单、字典、定时任务、公告。
- CCDI 默认模型参数,仅包含
ccdi_model_param.project_id = 0的系统默认参数。 - 流水打标规则
ccdi_bank_tag_rule。
- SQL 不包含运行期业务数据:
- 项目、员工、流水、导入记录、风险结果、采购事项、实体库、中介库、操作日志、登录日志等数据均保持空表。
- 将导出结构中的非规范排序规则统一修正为
utf8mb4_general_ci,未保留utf8mb4_0900_ai_ci。 - 针对生产执行时报错
Specified key was too long; max key length is 767 bytes,按生产要求删除旧库 767 bytes 限制下会超长的索引定义,保留字段长度、表结构和必要初始化数据不变。 - 删除的超长索引范围:
- Quartz 表中的长字符复合主键和依赖这些长字符复合键的外键索引。
ccdi_account_info.idx_ccdi_account_info_account_no。ccdi_asset_info.idx_family_person。ccdi_bank_statement.uk_bank_statement_dedup。ccdi_bank_statement.idx_batch_id_account。ccdi_bank_statement.c4c_bank_statement_stg_batch_id_IDX。ccdi_bank_statement_tag_result.uk_ccdi_bank_tag_object_hit。ccdi_enterprise_base_info.idx_enterprise_name。ccdi_evidence.idx_ccdi_evidence_source。ccdi_model_param.uk_project_model_param。ccdi_project.idx_project_name。
验证情况
- 使用本机临时 MySQL 实例导入
sql/ccdi_prod_init_20260428.sql验证通过。 - 导入后验证结果:
- 表数量:57。
- 非
utf8mb4_general_ci表数量:0。 - 基础数据行数:
sys_config:8。sys_dept:10。sys_dict_type:26。sys_dict_data:98。sys_menu:166。sys_role:2。sys_role_menu:134。sys_user:3。sys_job:3。sys_notice:2。ccdi_bank_tag_rule:35。ccdi_model_param:17,且全部为project_id = 0。
- 业务数据抽查为空:
ccdi_project:0。ccdi_base_staff:0。ccdi_bank_statement:0。ccdi_file_upload_record:0。ccdi_purchase_transaction:0。
- 测试完成后已关闭本机临时 MySQL 实例。
- 生产索引长度修复后,再次计算脚本内所有剩余索引长度,确认超过 767 bytes 的索引数量为 0。
- 删除超长索引后,再次使用本机临时 MySQL 实例导入验证通过:
- 表数量:57。
- 非
utf8mb4_general_ci表数量:0。 ccdi_model_param:17。ccdi_bank_tag_rule:35。sys_menu:166。ccdi_project:0。ccdi_bank_statement:0。
执行说明
- 目标生产库需为空库。
- 目标库字符集和排序规则建议使用:
CREATE DATABASE ccdi DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 导入时需使用
utf8mb4会话字符集。