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
+5 -2
View File
@@ -16,10 +16,13 @@ CREATE TABLE IF NOT EXISTS expiry_items (
quantity INT DEFAULT 1 COMMENT '数量',
location VARCHAR(50) DEFAULT NULL COMMENT '存放位置(可选)',
remark VARCHAR(255) DEFAULT NULL COMMENT '备注(可选)',
status VARCHAR(20) DEFAULT 'normal' COMMENT '状态:normal/used/expired/discarded',
status VARCHAR(20) DEFAULT 'normal' COMMENT '状态:normal/used/discardedexpiring/expired 由业务动态计算)',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at TIMESTAMP NULL DEFAULT NULL COMMENT '软删除时间',
CONSTRAINT chk_expiry_category CHECK (category IN ('food', 'medicine', 'cosmetic', 'other')),
CONSTRAINT chk_expiry_quantity CHECK (quantity > 0),
CONSTRAINT chk_expiry_status CHECK (status IN ('normal', 'used', 'discarded')),
-- 索引
INDEX idx_user_expiry (user_id, expiry_date) COMMENT '用户+过期日期索引(最常用查询)',
@@ -34,7 +37,7 @@ CREATE TABLE IF NOT EXISTS expiry_items (
CREATE TABLE IF NOT EXISTS expiry_user_settings (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
user_id BIGINT UNSIGNED NOT NULL UNIQUE COMMENT '用户ID(唯一)',
remind_days JSON DEFAULT '[7,3,1]' COMMENT '提醒天数数组,例如 [7,3,1]',
remind_days JSON DEFAULT (JSON_ARRAY(7,3,1)) COMMENT '提醒天数数组,例如 [7,3,1]',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',