1.6 KiB
1.6 KiB
LSFX Mock Server ccdi_account_info 异常账户字段补迁移后端实施文档
背景
lsfx-mock-server上传接口/watson/api/project/remoteUploadSplitFile在写入ccdi_account_info时使用了is_self_account、trans_risk_level字段。- 当前开发库中的
ccdi_account_info为历史表结构,不包含这两列,导致AbnormalAccountBaselineService.apply(...)执行 upsert 时依次抛出Unknown column 'is_self_account' in 'field list'、Unknown column 'trans_risk_level' in 'field list',上传接口直接返回 500。
本次修改
- 新增增量脚本
sql/migration/2026-04-15-sync-ccdi-account-info-abnormal-account-columns.sql。 - 脚本以最短路径为已有
ccdi_account_info表补齐异常账户同步当前必需的字段,并保持可重复执行:- 使用
information_schema.columns判断字段是否已存在 - 通过
PREPARE / EXECUTE仅在缺列时执行ALTER TABLE - 补齐
is_self_account与trans_risk_level - 列位置与当前写库 SQL 保持一致
- 使用
- 新增回归测试
lsfx-mock-server/tests/test_schema_migration_scripts.py,锁定该增量脚本必须存在且包含两条补列语句。
验证
python3 -m pytest /Users/wkc/Desktop/ccdi/ccdi/lsfx-mock-server/tests/test_schema_migration_scripts.py -q- 使用
bin/mysql_utf8_exec.sh执行增量脚本后,复查SHOW COLUMNS FROM ccdi_account_info,确认存在is_self_account、trans_risk_level字段。
影响范围
- 仅影响
lsfx-mock-server依赖的ccdi_account_info历史表结构补齐。 - 不修改接口协议,不改动前端。