You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
932 B
932 B
Brainstorm Summary
确认的技术方案
采用方案:单表键值对 + 统一配置模块 + JSON fallback
| 组件 | 说明 |
|---|---|
app/models.py |
新增 AppConfig 模型 |
app/config_store.py |
统一配置读写入口 |
app/config_migration.py |
JSON → MySQL 迁移脚本 |
| JSON 文件 | 降级方案,保留原路径 |
关键取舍与风险
| 取舍 | 决策 |
|---|---|
| 单表 vs 多表 | 单表,通过 config_key 区分,未来扩展无需改表 |
| 是否使用 Redis | 不使用,按用户要求仅 MySQL |
| 是否保留文件 | 保留,作为 MySQL 不可用时的降级 |
| 写入策略 | 双写:MySQL 可用时写数据库 + 写文件;MySQL 不可用时只写文件 |
测试策略
- 单元测试:
tests/test_config_store.py覆盖读取、写入、降级 - 迁移测试:验证幂等性
- 回归测试:全部测试套件
Spec Patch
无