fix(account): 补上电竞绑定映射漏掉的 game_not_bound(连生产库才发现的)
把生产库克隆到本地做部署演练时,拉了三列绑定状态的**真实取值全集**,发现 `esports_bind_status` 里存在 `game_not_bound`(生产 26 行),而我的映射表里没有它 —— 会被归成 `unknown`,可它明明在说「没绑定」。 第一版映射只覆盖了文档里举的几个例子。**教训:映射表必须拿真实取值全集核对。** 修法:Python 映射与迁移 `0044` 的 CASE 同步补上 `game_not_bound → unbound` (两者有逐字比对用例,不会分叉),并新增一条用**生产实测取值全集**驱动的用例 (17 + 11 + 9 个取值),以后往这三列加新取值时会被提醒确认语义, 而不是默默变成 `unknown`。 已在生产克隆库上验证:电竞列 unbound 从 0 变成 26(正是那批)。
This commit is contained in:
@@ -87,6 +87,7 @@ def normalise_esports_bind_status(bind) -> None:
|
||||
'esports_qr_created',
|
||||
'esports_role_switching'
|
||||
) THEN 'pending'
|
||||
WHEN esports_bind_status = 'game_not_bound' THEN 'unbound'
|
||||
ELSE 'unknown'
|
||||
END
|
||||
"""
|
||||
|
||||
@@ -105,6 +105,11 @@ LEGACY_ESPORTS_BIND_MAP: dict[str, str] = {
|
||||
"esports_bind_confirming": BIND_PENDING,
|
||||
"esports_qr_created": BIND_PENDING,
|
||||
"esports_role_switching": BIND_PENDING,
|
||||
# ⚠️ 这一条是**连生产库看真实数据**才发现的:电竞列里确实存在
|
||||
# `game_not_bound`(生产 26 行)。漏了它就会被归成 `unknown`,
|
||||
# 而它明明在说「没绑定」。教训:映射表必须拿**真实取值全集**核对,
|
||||
# 不能只看文档里举的几个例子。
|
||||
"game_not_bound": BIND_UNBOUND,
|
||||
}
|
||||
|
||||
LEGACY_XPD_BIND_MAP: dict[str, str] = {
|
||||
|
||||
Reference in New Issue
Block a user