Files
baiyue-firstleg/output/local-schema-repair/验收记录.md
T
2026-10-20 11:33:20 +08:00

35 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 本地头程与尾程结构修复
时间: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 读取验证,未完成所有页面的人工视觉验收,也未重新执行全量业务流。
## 保留事项
1. 已有尾程历史单据的 16 个新必填业务字段无法从结构本身推导真实值,按可空字段补齐,历史行保留 NULL,未伪造来源快照、清单摘要或实收数量。后续推进这些历史单据前需核对真实资料;这部分并非完整 NOT NULL 约束对齐。
2. `ll_inbound_plan.uk_ll_inbound_plan_source_order` 唯一索引因历史重复来源建索引失败(Duplicate entry)。原记录完整保留;其他缺失索引已建立。对应错误与复查见 `index-repair.json`、`schema-verification.json`。
3. 当前本地验收账号读取预约工作台汇总、船期渠道、船期模板返回 A0403 / Access denied。这三项是权限阻断,未改动账号授权,不能记作页面验收通过。详细结果见 `http-smoke.json`。
服务日志:`firstleg-runtime.log`、`lastleg-runtime.log`;两个标准错误日志均为空。