From 5c5620236e9e03f182a9b3ad9f5c5d8ee8bbe1f4 Mon Sep 17 00:00:00 2001 From: a2a-cloud Date: Sun, 19 Jul 2026 19:57:18 +0000 Subject: [PATCH] a2a-source-edit: write db/migrations/001_app_records.sql --- db/migrations/001_app_records.sql | 33 ++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/db/migrations/001_app_records.sql b/db/migrations/001_app_records.sql index 9317315..4aa64ec 100644 --- a/db/migrations/001_app_records.sql +++ b/db/migrations/001_app_records.sql @@ -1,11 +1,34 @@ -CREATE TABLE IF NOT EXISTS app_records ( +CREATE TABLE IF NOT EXISTS sales_dashboards ( id BIGSERIAL PRIMARY KEY, tenant_key TEXT NOT NULL, - record_kind TEXT NOT NULL, + dashboard_id TEXT NOT NULL, + dashboard_name TEXT NOT NULL, + segment TEXT NOT NULL, + period_label TEXT NOT NULL, + pipeline_total_usd NUMERIC(14, 2) NOT NULL DEFAULT 0, + exception_count INTEGER NOT NULL DEFAULT 0, payload JSONB NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), - updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() + UNIQUE (tenant_key, dashboard_id) ); -CREATE INDEX IF NOT EXISTS app_records_tenant_kind_idx - ON app_records (tenant_key, record_kind, created_at DESC); +CREATE INDEX IF NOT EXISTS sales_dashboards_tenant_created_idx + ON sales_dashboards (tenant_key, created_at DESC); + +CREATE INDEX IF NOT EXISTS sales_dashboards_tenant_segment_idx + ON sales_dashboards (tenant_key, segment, created_at DESC); + +CREATE TABLE IF NOT EXISTS execution_receipts ( + id BIGSERIAL PRIMARY KEY, + tenant_key TEXT NOT NULL, + receipt_id TEXT NOT NULL, + dashboard_id TEXT NOT NULL, + skill_name TEXT NOT NULL, + status TEXT NOT NULL, + payload JSONB NOT NULL, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + UNIQUE (tenant_key, receipt_id) +); + +CREATE INDEX IF NOT EXISTS execution_receipts_tenant_dashboard_idx + ON execution_receipts (tenant_key, dashboard_id, created_at DESC);