2.9 KiB
本地头程与尾程结构修复
时间:2026-10-19;目标:本机 MySQL 127.0.0.1:3306。
实际改动
| 数据库 | 新建表 | 已有表新增字段 | 已有表新增索引 |
|---|---|---|---|
| baiyue_firstleg | 14 | 6 | 18 |
| baiyue_lastleg | 53 | 97 | 18 |
包含报错表 ll_delivery_facts_changed,头程计费重确认、报关/清关和船期表,以及尾程排车、派送事实、采购和自营统计等缺失结构。
对照当前统一初始化 SQL 的建表定义复查:头程 131 张基线表、尾程 218 张基线表均已存在,基线字段无缺失。保留本地额外表;未执行整库初始化、删除、业务数据回填或远程部署。
执行前后的结构快照为 schema-before.sql、schema-after.sql。actual-changes.json 是实际结构差异;actual-incremental-review.sql 是实际增量审阅记录,已执行,不能在当前库重复执行。DDL 隐式提交,前快照仅用于审阅和恢复设计,不应直接覆盖现有库。
运行验证
重启时沿用原 Java 可执行文件、应用主类和类路径,并加载本地 Nacos、Redis、数据库与服务地址配置。原 IDE 启动的两服务进程已停止,新进程在后台运行:头程 PID 48892(9202)、尾程 PID 64060(9303)。后续需要 IDE 调试时,先停止对应后台进程,避免端口冲突。
两服务均成功输出 Started;健康检查均为 HTTP 200、status UP。从约 20:36 启动至 20:40 的观察窗口内,未发现 ERROR、BadSqlGrammarException、SQLSyntaxErrorException 或预约同步失败;尾程曾出现一次同步耗时告警,complete=true、failed=false。
通过本地统一 Gateway,既有本地验收账号登录成功。尾程订单、整车排车、排车草稿、头程入库单、指定有效客户的履约任务列表五个只读业务接口均返回 HTTP 200 / code 200。未创建、修改或删除业务单据。
这次验证为结构、服务运行和 HTTP 读取验证,未完成所有页面的人工视觉验收,也未重新执行全量业务流。
保留事项
- 已有尾程历史单据的 16 个新必填业务字段无法从结构本身推导真实值,按可空字段补齐,历史行保留 NULL,未伪造来源快照、清单摘要或实收数量。后续推进这些历史单据前需核对真实资料;这部分并非完整 NOT NULL 约束对齐。
ll_inbound_plan.uk_ll_inbound_plan_source_order唯一索引因历史重复来源建索引失败(Duplicate entry)。原记录完整保留;其他缺失索引已建立。对应错误与复查见index-repair.json、schema-verification.json。- 当前本地验收账号读取预约工作台汇总、船期渠道、船期模板返回 A0403 / Access denied。这三项是权限阻断,未改动账号授权,不能记作页面验收通过。详细结果见
http-smoke.json。
服务日志:firstleg-runtime.log、lastleg-runtime.log;两个标准错误日志均为空。