docs(sql): 完成 #19 过期模块数据库脚本与校验

This commit is contained in:
root
2026-03-04 18:29:48 +08:00
parent cc16b342d7
commit e1b5382004
2 changed files with 31 additions and 2 deletions
@@ -0,0 +1,26 @@
# Expiry DDL 验证报告(2026-03-04
## 结论
- `expiry_items``expiry_user_settings` 两张表结构已齐备。
- 索引覆盖了用户维度的核心查询路径。
- 已补充关键约束,降低脏数据进入数据库的风险。
## 本次补充项
1. `expiry_items` 增加 `CHECK` 约束:
- `category IN ('food', 'medicine', 'cosmetic', 'other')`
- `quantity > 0`
- `status IN ('normal', 'used', 'discarded')`
2. `expiry_user_settings.remind_days` 默认值改为:
- `JSON_ARRAY(7,3,1)`
## 校验命令
```sql
SHOW CREATE TABLE expiry_items;
SHOW CREATE TABLE expiry_user_settings;
SHOW INDEX FROM expiry_items;
SHOW INDEX FROM expiry_user_settings;
```
## 兼容性说明
- `CHECK` 约束在 MySQL 8.0+ 生效;若使用低版本,请在应用层保留同等校验逻辑。