35 lines
1.3 KiB
SQL
35 lines
1.3 KiB
SQL
-- Additive QuoteJudge v1 schema. Keep this compatible with older app_records-only deployments.
|
|
CREATE TABLE IF NOT EXISTS quote_judge_comparisons (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
tenant_key TEXT NOT NULL,
|
|
comparison_id TEXT NOT NULL,
|
|
recommendation_vendor TEXT NOT NULL,
|
|
result_json JSONB NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
UNIQUE (tenant_key, comparison_id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS quote_judge_comparisons_tenant_updated_idx
|
|
ON quote_judge_comparisons (tenant_key, updated_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS quote_judge_comparisons_recommendation_idx
|
|
ON quote_judge_comparisons (tenant_key, recommendation_vendor);
|
|
|
|
CREATE TABLE IF NOT EXISTS quote_judge_receipts (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
tenant_key TEXT NOT NULL,
|
|
comparison_id TEXT,
|
|
skill_name TEXT NOT NULL,
|
|
receipt_json JSONB NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS quote_judge_receipts_tenant_idx
|
|
ON quote_judge_receipts (tenant_key, created_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS quote_judge_receipts_comparison_idx
|
|
ON quote_judge_receipts (tenant_key, comparison_id, created_at DESC);
|
|
|
|
ALTER TABLE app_records ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW();
|