This repository has been archived on 2026-10-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
NeteaseUrl/auth_system
snowy-yang bd3a4ac70b fix: 统一 core/auth_system 的数据目录解析,消除脑裂隐患
为什么:`core/db.py` 认 SITE_DATA_DIR、`auth_system/db.py` 写死 Path('data'),
而两处指向的是**同一个** data/site.db。web/main.py 的文档字符串还宣称
「数据目录可由 SITE_DATA_DIR 覆盖」——只有 core 侧做到了。

后果:只要运维真的设置 SITE_DATA_DIR,站点库(用户/账本/卡密)与
core 侧读的设置/公告就会落到两个不同文件,且**不会报错**——
表现为「设置改了不生效」「公告消失」这类极难排查的诡异现象。
全仓 grep 确认该变量当前只出现在 core/db.py 与 web/main.py 两处,
没有任何测试或部署在用,所以是纯隐性隐患。

顺带修一个实测到的坑:`os.environ.get('SITE_DATA_DIR', 'data')` 的默认值
只在变量**缺失**时生效,`SITE_DATA_DIR=`(空串,compose/K8s 里很常见)
会让 Path('') 退化成当前工作目录,数据库静默落到 CWD。改用 `or 'data'`。

验证:四种取值(未设置 / 空串 / 绝对路径 / 相对路径)下
core.DATA_DIR == auth_system.DATA_DIR 且 DB_PATH 相同,全部一致。
2026-09-26 14:15:58 +08:00
..