Blame | Last modification | View Log | RSS feed
-- Migration: Add outlet_name to fofo.fofo_store and backfill from user.address-- Run during low-traffic window (fofo_store is heavily queried, ALTER takes metadata lock)-- Step 1: Add columnALTER TABLE fofo.fofo_store ADD COLUMN outlet_name VARCHAR(255) DEFAULT NULL AFTER gst_number;-- Step 2: Backfill from address.name via retailer_registered_address-- Uses MAX(rra.address_id) to handle the 3 stores with multiple address entriesUPDATE fofo.fofo_store fsJOIN (SELECT rra.retailer_id, a.nameFROM dtr.retailer_registered_address rraJOIN user.address a ON a.id = rra.address_idWHERE rra.address_id = (SELECT MAX(rra2.address_id)FROM dtr.retailer_registered_address rra2WHERE rra2.retailer_id = rra.retailer_id)) src ON src.retailer_id = fs.idSET fs.outlet_name = src.name;-- Step 3: VerifySELECT COUNT(*) AS total, SUM(outlet_name IS NOT NULL) AS migrated FROM fofo.fofo_store;