-- ============================================================ -- 事件通知(邮件 + 企业微信)数据升级包 -- ============================================================ -- 作用: -- 1) 创建 psi_events 紧急事件表(Notify 服务使用,首次触发也会自动建表,这里提前建好) -- 2) 写入 notify_* 通知设置(INSERT IGNORE,重复执行不会重复插入) -- 说明: -- 本文件专供后台「数据库升级」面板(/admin/upgrade)使用; -- 若已通过「数据升级」按钮执行过,这里仍为幂等安全。 -- ============================================================ -- ------------------------------------------- -- 1. 紧急事件表(站内提醒 + 邮件/企业微信推送记录) -- ------------------------------------------- CREATE TABLE IF NOT EXISTS `psi_events` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `sys` VARCHAR(20) NOT NULL DEFAULT 'psi', `type` VARCHAR(40) NOT NULL DEFAULT '', `level` VARCHAR(20) NOT NULL DEFAULT 'urgent', `title` VARCHAR(255) NOT NULL DEFAULT '', `body` TEXT, `url` VARCHAR(255) NOT NULL DEFAULT '', `ref_no` VARCHAR(64) NOT NULL DEFAULT '', `recipients` TEXT, `channels` VARCHAR(255) NOT NULL DEFAULT '["inapp"]', `read_by` TEXT, `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- ------------------------------------------- -- 2. 通知设置(缺则插入) -- ------------------------------------------- INSERT IGNORE INTO `settings` (`skey`,`sval`,`sgroup`) VALUES ('notify_enabled','0','notify'), ('notify_email_enabled','0','notify'), ('notify_email_smtp_host','','notify'), ('notify_email_smtp_port','465','notify'), ('notify_email_smtp_user','','notify'), ('notify_email_smtp_pass','','notify'), ('notify_email_from','','notify'), ('notify_email_to','','notify'), ('notify_wechat_enabled','0','notify'), ('notify_wechat_webhook','','notify'), ('notify_wechat_mention','','notify'), ('notify_lowstock_enabled','1','notify'), ('notify_lowstock_threshold','20','notify');