- 新增 reminder_sent 字段到服药记录表,用于标记提醒发送状态 - 添加数据库索引优化未发送提醒记录的查询性能 - 提醒检查频率从 5 分钟优化至 1 分钟,提升及时性 - 添加主进程检测机制,避免多进程环境下重复发送提醒 - 增强错误处理和发送结果统计功能
11 lines
590 B
SQL
11 lines
590 B
SQL
-- 为 t_medication_records 表添加 reminder_sent 字段
|
|
-- 用于标记该条服药记录是否已经发送了提醒通知
|
|
|
|
ALTER TABLE `t_medication_records`
|
|
ADD COLUMN `reminder_sent` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已发送提醒' AFTER `deleted`;
|
|
|
|
-- 为已存在的记录设置默认值
|
|
UPDATE `t_medication_records` SET `reminder_sent` = 0 WHERE `reminder_sent` IS NULL;
|
|
|
|
-- 添加索引以优化查询性能(查询未发送提醒的记录)
|
|
CREATE INDEX `idx_reminder_sent_status_scheduled` ON `t_medication_records` (`reminder_sent`, `status`, `scheduled_time`); |