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(未登录)。