Files
geo/server/migrations/20260529143000_add_media_supply_resource_detail_fields.up.sql
T

18 lines
1.0 KiB
SQL
Raw Normal View History

ALTER TABLE supplier_media_resources
ADD COLUMN IF NOT EXISTS resource_url TEXT,
ADD COLUMN IF NOT EXISTS baidu_weight INT,
ADD COLUMN IF NOT EXISTS resource_remark TEXT;
UPDATE supplier_media_resources
SET resource_url = NULLIF(BTRIM(COALESCE(raw_json->>'meitianli', raw_json->>'resource_url', raw_json->>'url', raw_json->>'site_url', raw_json->>'link')), ''),
baidu_weight = CASE
WHEN BTRIM(COALESCE(raw_json->>'meitiquanzhong', raw_json->>'baidu_weight', raw_json->>'weight', raw_json->>'quanzhong')) ~ '^[0-9]+$'
THEN BTRIM(COALESCE(raw_json->>'meitiquanzhong', raw_json->>'baidu_weight', raw_json->>'weight', raw_json->>'quanzhong'))::INT
ELSE NULL
END,
resource_remark = NULLIF(BTRIM(COALESCE(raw_json->>'meitibeizhu', raw_json->>'remark', raw_json->>'beizhu', raw_json->>'note', raw_json->>'description')), '')
WHERE resource_url IS NULL OR baidu_weight IS NULL OR resource_remark IS NULL;
CREATE INDEX IF NOT EXISTS idx_supplier_media_resources_remark
ON supplier_media_resources (supplier, resource_remark);