feat(supply-api): persist audit alerts
This commit is contained in:
41
supply-api/sql/postgresql/audit_alerts_v1.sql
Normal file
41
supply-api/sql/postgresql/audit_alerts_v1.sql
Normal file
@@ -0,0 +1,41 @@
|
||||
-- 审计告警持久化表
|
||||
-- 用途:为 /api/v1/audit/alerts 提供 PostgreSQL-backed 存储,避免 HTTP 层固定回退到内存实现。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS audit_alerts (
|
||||
alert_id TEXT PRIMARY KEY,
|
||||
alert_name TEXT NOT NULL DEFAULT '',
|
||||
alert_type TEXT NOT NULL,
|
||||
alert_level TEXT NOT NULL,
|
||||
tenant_id BIGINT NOT NULL,
|
||||
supplier_id BIGINT,
|
||||
title TEXT NOT NULL,
|
||||
message TEXT NOT NULL DEFAULT '',
|
||||
description TEXT NOT NULL DEFAULT '',
|
||||
event_id TEXT,
|
||||
event_ids JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
trigger_condition TEXT NOT NULL DEFAULT '',
|
||||
threshold DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
current_value DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
status TEXT NOT NULL,
|
||||
resolved_at TIMESTAMPTZ,
|
||||
resolved_by TEXT,
|
||||
resolve_note TEXT,
|
||||
notify_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
notify_channels JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
created_at TIMESTAMPTZ NOT NULL,
|
||||
updated_at TIMESTAMPTZ NOT NULL,
|
||||
first_seen_at TIMESTAMPTZ NOT NULL,
|
||||
last_seen_at TIMESTAMPTZ NOT NULL,
|
||||
metadata JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
tags JSONB NOT NULL DEFAULT '[]'::jsonb
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_alerts_tenant_status_created_at
|
||||
ON audit_alerts (tenant_id, status, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_alerts_tenant_type_level
|
||||
ON audit_alerts (tenant_id, alert_type, alert_level);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_alerts_supplier_created_at
|
||||
ON audit_alerts (supplier_id, created_at DESC)
|
||||
WHERE supplier_id IS NOT NULL;
|
||||
Reference in New Issue
Block a user