| 123456789101112131415161718192021222324 |
- -- 报警触发/自动解除日志补丁,KingbaseES PostgreSQL 兼容模式。
- -- 已部署 migration_alarm_case_work_order_id.sql、migration_alarm_review.sql、
- -- migration_alarm_operations.sql 的环境只需执行本补丁,不改菜单、不回填历史数据。
- -- 日志字典共用 AlarmLogOperTypeEnum:0=报警触发,1=确认报警,2=误报警,3=报警处理。
- -- 新增、审核、自动解除、人工处理日志由 Java 在业务事务内写入;工单操作仅写 work_order_log。
- -- 日志类型约束收敛另执行 migration_alarm_review_log.sql;确认日志直接包含实际工单号。
- -- 停止相关写入,执行本脚本并同步部署管理端和 zk-api-service 后恢复服务。
- BEGIN;
- LOCK TABLE app_user.alarm_data, app_user.work_order_log IN SHARE ROW EXCLUSIVE MODE;
- COMMENT ON COLUMN app_user.alarm_data.alarm_no IS '报警单号:程序生成 BJyyyyMMddHHmmss + 4位随机数,北京时间,唯一且不回填历史';
- CREATE UNIQUE INDEX IF NOT EXISTS uk_alarm_data_alarm_no ON app_user.alarm_data(alarm_no);
- -- 防止旧数据库赋号机制覆盖程序提供的新格式;不改写已有号码。
- DROP TRIGGER IF EXISTS trg_alarm_number ON app_user.alarm_data;
- DROP FUNCTION IF EXISTS app_user.assign_alarm_number();
- ALTER TABLE app_user.alarm_data ALTER COLUMN alarm_no DROP DEFAULT;
- DROP SEQUENCE IF EXISTS app_user.alarm_no_seq;
- -- 报警日志完全由业务代码写入;删除旧触发器/自定义函数,避免重复日志。
- DROP TRIGGER IF EXISTS trg_alarm_lifecycle_log ON app_user.alarm_data;
- DROP TRIGGER IF EXISTS trg_work_order_alarm_log ON app_user.work_order_log;
- DROP FUNCTION IF EXISTS app_user.record_alarm_lifecycle();
- DROP FUNCTION IF EXISTS app_user.record_alarm_work_order_log();
- COMMIT;
|