yeg
2026-09-15 621b51974f9baae62f81f523fa2ac8741dd304a5
refs
用户 yeg <1347747024@qq.com>
星期二, 九月 15, 2026 22:37 +0800
提交者 yeg <1347747024@qq.com>
星期二, 九月 15, 2026 22:37 +0800
提交621b51974f9baae62f81f523fa2ac8741dd304a5
目录 bee87563efef5217bdc8f7830a0d0a49d645cb7c 目录 | zip | gz
parent 5664368e6a90c6a0a9a09be711b47f84d2a63f1c 查看 | 对比
fix(merchant): 开发库补齐进件进度表,初始化器增加建表路径

V144 为存量商户微信开通进度新建了 merchant_onboarding_progress 与 merchant_onboarding_attempt,
但开发库 spring.flyway.enabled=false,而 MerchantOnboardingSchemaInitializer 只有加列路径、
没有建表路径:这两张表在开发库永远不存在,GET /api/merchant/onboarding/status 的第一个请求
就以 `Table 'talent_card.merchant_onboarding_progress' doesn't exist` 500。测试库由 Flyway
建表,既有测试全绿,看不出这个缺口。

- 初始化器增加建表路径,建表语句逐字对齐 V144;等锁上限与"失败只记日志不影响启动"的策略
与加列保持一致,任何 Flyway 关闭的部署重启即自愈。
- 新增 MerchantOnboardingSchemaInitializerTests:断言迁移新建的进件表必须在初始化器登记、
且两侧列名一致。修复前为红(to contain ["merchant_onboarding_attempt",
"merchant_onboarding_progress"] but could not find)。
- 开发库按 docs/agents/testing.md 只补缺失 DDL、未删表:ApplyV144ToDevDatabase 直接读 V144
迁移文件加 if not exists 后执行,避免手抄 DDL 走样;ProbeOnboardingProgress 复现并验证
接口读取路径(修复前 FAIL、修复后 GREEN);VerifyInitializerDdl 在一次性 schema 里确认
初始化器携带的 DDL 可执行且与 V144 的列名与类型一致。

验证:全量后端测试 194 项,仅 docs/agents/testing.md 列的 3 项基线失败,无新增;接口由 500
变为 401(未登录)。
4个文件已添加
2个文件已修改
590 ■■■■■ 已修改文件
.scratch/merchant-wechat-onboarding/ApplyV144ToDevDatabase.java 38 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/merchant-wechat-onboarding/ProbeOnboardingProgress.java 106 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/merchant-wechat-onboarding/VerifyInitializerDdl.java 90 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/merchant-wechat-onboarding/evidence-2026-09-15.md 198 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantOnboardingSchemaInitializer.java 69 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/merchant/MerchantOnboardingSchemaInitializerTests.java 89 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史