← back to Mfr Recovery 2026 08 23

novasuede_mfr_recovery_APPLY.sql

31 lines

-- ⚠️ STALE — DO NOT RUN (verified 2026-08-24 TK-10677): only 1 of these is still recoverable
-- current truth: 12 Novasuede ACTIVE null-mfr, 1 recoverable (novasuede™-mist-luxury-suede-copy). Re-derive before any apply.

-- APPLY (not dry-run): Novasuede mfr_sku recovery — 14 products (of 22; 8 not in catalog)
-- Ticket: TK-10677 / TK-10794
-- Approved: <APPROVAL_DATE>
-- Reversible undo: UPDATE shopify_products SET mfr_sku='' WHERE id IN (50993313,50993298,50993283,50993295,50993310,50993289,50993292,50993301,50992851,50993316,52966810,50993307,50993286,50993280)
-- NOTE: dw_unified mirror write ONLY. Shopify write stays gated.

BEGIN;

WITH stripped AS (
  SELECT 
    id,
    regexp_replace(handle, '-luxury-suede.*|(-fabric-wallcovering)', '', 'g') as stripped_handle
  FROM shopify_products 
  WHERE vendor = 'Novasuede'
    AND status = 'ACTIVE'
    AND (mfr_sku IS NULL OR mfr_sku = '')
)
UPDATE shopify_products sp
SET mfr_sku = nc.mfr_sku
FROM stripped s
JOIN novasuede_catalog nc ON nc.mfr_sku = s.stripped_handle
WHERE sp.id = s.id;

SELECT count(*) as rows_updated FROM shopify_products
WHERE vendor = 'Novasuede' AND status = 'ACTIVE' AND mfr_sku IS NOT NULL AND mfr_sku != '';

COMMIT;