Blame | Last modification | View Log | RSS feed
-- Revert vendor catalog pricing written by price drops (2026-09-15)---- WHY-- r37622 made price drops auto-approve their DP/MOP into vendor_catalog_pricing (applyPriceDrop). Decision-- 2026-09-15: price drops write only price_drop + tag_listing; vendor_catalog_pricing must not be touched.-- Five price drops on 2026-09-15 12:48-12:57 (catalogs 1026119, 1026063, 1026064, 1026163, 1026164) created 30-- APPROVED logs (ids 66817-66846) and moved each vendor's current DP/MOP/effected_on. TP was never changed and no-- existing approval was rejected.---- WHAT-- Restore DP, MOP and effected_on of each affected vendor_catalog_pricing row from that vendor's previous APPROVED-- log, but only while the row still holds the price-drop values; then delete the 30 logs. Backed up first.USE inventory;CREATE TABLE inventory._bak_vcpl_price_drop_20260915 ASSELECT l.* FROM inventory.vendor_catalog_pricing_log l WHERE l.id BETWEEN 66817 AND 66846;CREATE TABLE inventory._bak_vcp_price_drop_20260915 ASSELECT p.* FROM inventory.vendor_catalog_pricing pJOIN inventory._bak_vcpl_price_drop_20260915 b ON b.vendor_id = p.vendor_id AND b.catalog_id = p.catalog_id;SELECT (SELECT COUNT(*) FROM inventory._bak_vcpl_price_drop_20260915) AS logs_backed_up,(SELECT COUNT(*) FROM inventory._bak_vcp_price_drop_20260915) AS pricing_backed_up;START TRANSACTION;UPDATE inventory.vendor_catalog_pricing pJOIN inventory._bak_vcpl_price_drop_20260915 bON b.vendor_id = p.vendor_id AND b.catalog_id = p.catalog_idAND p.effected_on = b.effected_on AND ABS(p.dealer_price - b.dealer_price) < 0.01JOIN inventory.vendor_catalog_pricing_log prev ON prev.id = (SELECT l2.id FROM inventory.vendor_catalog_pricing_log l2WHERE l2.vendor_id = p.vendor_id AND l2.catalog_id = p.catalog_id AND l2.status = 'APPROVED'AND l2.id NOT BETWEEN 66817 AND 66846ORDER BY l2.effected_on DESC, l2.id DESC LIMIT 1)SET p.dealer_price = prev.dealer_price,p.mop = prev.mop,p.effected_on = prev.effected_on;DELETE l FROM inventory.vendor_catalog_pricing_log lJOIN inventory._bak_vcpl_price_drop_20260915 b ON b.id = l.id;COMMIT;-- Verify: logs_left = 0, still_price_drop_values = 0SELECT (SELECT COUNT(*) FROM inventory.vendor_catalog_pricing_log WHERE id BETWEEN 66817 AND 66846) AS logs_left,(SELECT COUNT(*) FROM inventory.vendor_catalog_pricing pJOIN inventory._bak_vcpl_price_drop_20260915 bON b.vendor_id = p.vendor_id AND b.catalog_id = p.catalog_id AND p.effected_on = b.effected_on) AS still_price_drop_values;-- Rollback:-- INSERT INTO inventory.vendor_catalog_pricing_log SELECT * FROM inventory._bak_vcpl_price_drop_20260915;-- UPDATE inventory.vendor_catalog_pricing p JOIN inventory._bak_vcp_price_drop_20260915 b-- ON b.vendor_id = p.vendor_id AND b.catalog_id = p.catalog_id-- SET p.dealer_price = b.dealer_price, p.mop = b.mop, p.effected_on = b.effected_on;