← back to Mfr Recovery 2026 08 23

zoffany_mfr_recovery_dryrun.sql

21 lines

-- DRY RUN: Zoffany mfr_sku recovery via handle→dw_sku→zoffany_catalog join
-- Ticket: TK-10677 (sub-work of TK-10794)
-- Recovers 24 ACTIVE Zoffany products with null mfr_sku via LOCAL JOIN (no scrape needed)
-- Reversible: undo = UPDATE shopify_products SET mfr_sku='' WHERE id IN (<these 24 ids>)
-- No externality: local dw_unified mirror write only (Shopify write stays gated per TK rules)
-- Blast radius: 24 rows

BEGIN;

-- Simulate the update (SELECT version)
SELECT sp.id, sp.title, sp.handle,
       upper(regexp_replace(sp.handle, '.*-(dwzf-\d+)$', '\1')) as extracted_dw_sku,
       zc.mfr_sku as new_mfr_sku
FROM shopify_products sp
JOIN zoffany_catalog zc ON zc.dw_sku = upper(regexp_replace(sp.handle, '.*-(dwzf-\d+)$', '\1'))
WHERE sp.vendor = 'Zoffany'
  AND sp.status = 'ACTIVE'
  AND (sp.mfr_sku IS NULL OR sp.mfr_sku = '');

ROLLBACK;