WuYongJie
|
8d8419a124
|
fix(store-accounts): 放宽 passwordConfigured 密文判定正则并同步契约文档
20260908120000 追加的 passwordConfigured 在生产 958 行全部为 false,
与 DBA 基线 957 true / 1 false 不符。
视图的 FROM 子查询本身就取自 public."StoreAccount",EXISTS 又按
credential.id = original.id 自连接同一行,id 必然命中;唯一失配点是密文正则。
该正则只接受 URL-safe base64([A-Za-z0-9_-])且长度固定,标准 base64 的
+ / = 填充会让整体失配,而 Node 的 base64url 解码器对填充宽容,
所以"可解密"与"正则失配"可以同时成立。
本迁移只重写视图定义,不读写任何数据:
- 用 replace 换字符集片段(避开 pg_get_viewdef 的反斜杠转义差异)
- 幂等,未接入该视图或缺少该列则跳过
- 列名/列序/列类型/行数/ACL 均不变,空值、空串与明文仍判定为 false
已在本地 PostgreSQL 17 复现并验证:带填充密文由 false 变 true,
base64url 保持 true,空值/空串/明文垃圾值仍为 false,ACL 与数据无变化。
同步更新 finance-store-account-password-reveal.md 中已过时的
"生产 passwordConfigured 尚未落库" 结论与验收记录。
|
2026-09-09 11:15:22 +08:00 |
|