| 123456789101112131415 |
- ALTER TABLE voc.listing_score_result
- ADD COLUMN IF NOT EXISTS known_overall_score numeric(6,2),
- ADD COLUMN IF NOT EXISTS known_overall_max_score numeric(6,2),
- ADD COLUMN IF NOT EXISTS score_kind text NOT NULL DEFAULT 'rules'
- CHECK (score_kind IN ('rules', 'hybrid_ai')),
- ADD COLUMN IF NOT EXISTS ai_status text NOT NULL DEFAULT 'not_requested'
- CHECK (ai_status IN ('not_requested', 'pending', 'completed', 'failed', 'budget_exceeded')),
- ADD COLUMN IF NOT EXISTS compliance_status text NOT NULL DEFAULT 'normal'
- CHECK (compliance_status IN ('normal', 'warning', 'needs_review', 'blocked'));
- CREATE INDEX IF NOT EXISTS listing_score_effective_idx
- ON voc.listing_score_result (workspace_id, product_id, source_hash, score_kind, ai_status, created_at DESC, id DESC);
- CREATE INDEX IF NOT EXISTS listing_score_compliance_idx
- ON voc.listing_score_result (workspace_id, compliance_status, created_at DESC);
|