a2a-source-edit: write db/migrations/001_app_records.sql
This commit is contained in:
@@ -1,11 +1,46 @@
|
|||||||
CREATE TABLE IF NOT EXISTS app_records (
|
CREATE TABLE IF NOT EXISTS dashboard_runs (
|
||||||
id BIGSERIAL PRIMARY KEY,
|
id UUID PRIMARY KEY,
|
||||||
tenant_key TEXT NOT NULL,
|
tenant_key TEXT NOT NULL,
|
||||||
record_kind TEXT NOT NULL,
|
agency_name TEXT NOT NULL,
|
||||||
payload JSONB NOT NULL,
|
window_label TEXT NOT NULL,
|
||||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
min_severity TEXT NOT NULL DEFAULT 'all',
|
||||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
input_hash TEXT NOT NULL,
|
||||||
|
summary TEXT NOT NULL,
|
||||||
|
filters JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||||
|
trends JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||||
|
exceptions JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||||
|
dashboard_rows JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||||
|
artifact_name TEXT NOT NULL,
|
||||||
|
artifact_media_type TEXT NOT NULL,
|
||||||
|
artifact_size_bytes INTEGER NOT NULL DEFAULT 0,
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE INDEX IF NOT EXISTS app_records_tenant_kind_idx
|
CREATE INDEX IF NOT EXISTS dashboard_runs_tenant_created_idx
|
||||||
ON app_records (tenant_key, record_kind, created_at DESC);
|
ON dashboard_runs (tenant_key, created_at DESC);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS dashboard_runs_tenant_hash_idx
|
||||||
|
ON dashboard_runs (tenant_key, input_hash);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS execution_receipts (
|
||||||
|
id UUID PRIMARY KEY,
|
||||||
|
tenant_key TEXT NOT NULL,
|
||||||
|
run_id UUID NOT NULL REFERENCES dashboard_runs(id) ON DELETE CASCADE,
|
||||||
|
skill_name TEXT NOT NULL,
|
||||||
|
status TEXT NOT NULL,
|
||||||
|
input_hash TEXT NOT NULL,
|
||||||
|
result_overview JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS execution_receipts_tenant_created_idx
|
||||||
|
ON execution_receipts (tenant_key, created_at DESC);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS scheduled_rollups (
|
||||||
|
tenant_key TEXT NOT NULL,
|
||||||
|
run_key TEXT NOT NULL,
|
||||||
|
run_id UUID NOT NULL REFERENCES dashboard_runs(id) ON DELETE CASCADE,
|
||||||
|
receipt_id UUID NOT NULL REFERENCES execution_receipts(id) ON DELETE CASCADE,
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
|
PRIMARY KEY (tenant_key, run_key)
|
||||||
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user