010_listing_scoring_v4.sql 927 B

123456789101112131415
  1. ALTER TABLE voc.listing_score_result
  2. ADD COLUMN IF NOT EXISTS known_overall_score numeric(6,2),
  3. ADD COLUMN IF NOT EXISTS known_overall_max_score numeric(6,2),
  4. ADD COLUMN IF NOT EXISTS score_kind text NOT NULL DEFAULT 'rules'
  5. CHECK (score_kind IN ('rules', 'hybrid_ai')),
  6. ADD COLUMN IF NOT EXISTS ai_status text NOT NULL DEFAULT 'not_requested'
  7. CHECK (ai_status IN ('not_requested', 'pending', 'completed', 'failed', 'budget_exceeded')),
  8. ADD COLUMN IF NOT EXISTS compliance_status text NOT NULL DEFAULT 'normal'
  9. CHECK (compliance_status IN ('normal', 'warning', 'needs_review', 'blocked'));
  10. CREATE INDEX IF NOT EXISTS listing_score_effective_idx
  11. ON voc.listing_score_result (workspace_id, product_id, source_hash, score_kind, ai_status, created_at DESC, id DESC);
  12. CREATE INDEX IF NOT EXISTS listing_score_compliance_idx
  13. ON voc.listing_score_result (workspace_id, compliance_status, created_at DESC);