-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.sql
More file actions
47 lines (43 loc) · 1.38 KB
/
Copy pathschema.sql
File metadata and controls
47 lines (43 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
CREATE TABLE IF NOT EXISTS analytics_snapshots (
id SERIAL PRIMARY KEY,
snapshot_date DATE NOT NULL,
metric_key VARCHAR(128) NOT NULL,
metric_value JSONB NOT NULL,
source VARCHAR(64) NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW(),
UNIQUE(snapshot_date, metric_key)
);
CREATE TABLE IF NOT EXISTS outreach_daily (
id SERIAL PRIMARY KEY,
snapshot_date DATE NOT NULL UNIQUE,
delivered INTEGER DEFAULT 0,
opened INTEGER DEFAULT 0,
replied INTEGER DEFAULT 0,
bounced INTEGER DEFAULT 0,
spam_blocked INTEGER DEFAULT 0,
contacts_active INTEGER DEFAULT 0,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS platform_daily (
id SERIAL PRIMARY KEY,
snapshot_date DATE NOT NULL UNIQUE,
containers_running INTEGER,
total_receipts INTEGER,
action_receipts INTEGER,
autonomy_rate_pct NUMERIC(5,2),
incidents_resolved INTEGER,
avg_mttr_minutes NUMERIC(6,2),
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS notification_log (
id SERIAL PRIMARY KEY,
category VARCHAR(64) NOT NULL,
title VARCHAR(255) NOT NULL,
body TEXT,
severity VARCHAR(16) DEFAULT 'info',
source VARCHAR(64),
read BOOLEAN DEFAULT false,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_analytics_date ON analytics_snapshots(snapshot_date DESC);
CREATE INDEX IF NOT EXISTS idx_notif_unread ON notification_log(read, created_at DESC);