diff --git a/changelogs-v2/2026-09/21_8064_共用关系成员失去占用后关系会自动收缩-修复-管理后台.md b/changelogs-v2/2026-09/21_8064_共用关系成员失去占用后关系会自动收缩-修复-管理后台.md index 1df8150a..ba426358 100644 --- a/changelogs-v2/2026-09/21_8064_共用关系成员失去占用后关系会自动收缩-修复-管理后台.md +++ b/changelogs-v2/2026-09/21_8064_共用关系成员失去占用后关系会自动收缩-修复-管理后台.md @@ -127,7 +127,12 @@ if (!context.dualWrite()) { - **取消派单**对在途行的行为(仍落 `exception`、仍保留占用,#6152 定案不变)。 - **整团解除**的审计原因(PR #8077 专门保证它不被夺走)。 - 占用账本(`fleet_resource_occupancy_*`)的灰度形态——**仍维持 `LEGACY`,本次修复没有切换它**,这正是本次修复的设计目标:不靠切形态也能让收缩跑起来。 -- **存量数据**:⚠️ **未收敛**。工单 #8064 AC-5 的存量收敛尚未执行(成文时实测孤儿关系 **7** 条,判据为"有 alive 成员但该成员已不占用本资源的 ACTIVE 关系")。本次修复**只对修复上线之后发生的释放动作生效**,历史遗留的不一致关系仍需单独收敛,完成后本文件会追加说明。 +- **存量数据**:已通过 internal 端点执行收敛(2026-09-21 22:27:47 UTC,不是 SQL 直改)。结果: + - 摘除成员 **10 行**:`left_at = 2026-09-21 22:27:47`、`leave_reason = AUTO_OCCUPANCY_RELEASE` + - 整体释放关系 **4 条**:`status = RELEASED`、`release_reason = AUTO_SINGLE_MEMBER`、`released_at = 2026-09-21 22:27:47` + - 摘除成员后仍保持 ACTIVE 的关系 **2 条**(**非残留**:它们各有 3 个成员,摘掉 1 个后剩 2 个,按收缩规则"剩余 < 2 时解除"不触发) + + ⚠️ 本轮收敛是**点名执行**(传入显式 ID 名单),不是全库扫。若名单外仍有同类历史数据,前端在界面上仍可能遇到"有成员、但该成员已不占用该资源"的关系——**展示逻辑该兜的还得兜**,别假设这类数据在库里已绝迹。 ## 七、相关历史 PR