Files
ewoooc/migrations/039_create_competitor_match_reviews.sql
OoO 756b01af66
All checks were successful
CD Pipeline / deploy (push) Successful in 1m7s
補齊 PChome 比價人工覆核閉環
2026-05-20 10:00:58 +08:00

53 lines
2.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- Migration 039: 競品比對人工覆核決策表
-- MOMO PRO — PChome match human-in-the-loop review
-- 2026-05-20 台北
-- =============================================================================
-- 說明:
-- competitor_match_attempts 保存 matcher / feeder 每一次嘗試;
-- competitor_match_reviews 保存人工對最佳候選的處置結果。
-- 只有 review_action='accept_identity' 才會由服務層寫入 competitor_prices
-- reject_identity / unit_price_required 只關閉覆核與保存決策,不污染正式價差。
-- =============================================================================
CREATE TABLE IF NOT EXISTS competitor_match_reviews (
id BIGSERIAL PRIMARY KEY,
sku VARCHAR(50) NOT NULL,
source VARCHAR(30) NOT NULL DEFAULT 'pchome',
review_action VARCHAR(40) NOT NULL,
review_reason TEXT,
reviewer_identity VARCHAR(120),
momo_product_id INTEGER,
momo_product_name TEXT,
momo_price NUMERIC(10,2),
candidate_product_id VARCHAR(100),
candidate_product_name TEXT,
candidate_price NUMERIC(10,2),
candidate_match_score NUMERIC(4,3),
candidate_diagnostic TEXT,
resulting_attempt_status VARCHAR(40),
reviewed_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_comp_match_reviews_sku_source_time
ON competitor_match_reviews (sku, source, reviewed_at DESC);
CREATE INDEX IF NOT EXISTS idx_comp_match_reviews_action_time
ON competitor_match_reviews (review_action, reviewed_at DESC);
CREATE INDEX IF NOT EXISTS idx_comp_match_reviews_candidate
ON competitor_match_reviews (candidate_product_id);
GRANT ALL PRIVILEGES ON competitor_match_reviews TO momo;
GRANT USAGE, SELECT ON SEQUENCE competitor_match_reviews_id_seq TO momo;
DO $$
BEGIN
RAISE NOTICE '✅ Migration 039 完成 — competitor_match_reviews 人工覆核決策表已建立';
END $$;