# 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+ 生效;若使用低版本,请在应用层保留同等校验逻辑。