BEGIN; -- Rollback konsolidasi: kembalikan data ke loc 18 / 25 sesuai snapshot pre-migration. -- Order: un-soft-delete locations dulu agar FK tidak gagal saat UPDATE child. -- 1. Un-soft-delete locations UPDATE locations SET deleted_at = NULL WHERE id IN (18, 25); -- 2. project_flocks: PF 30 -> 18, PF 25 & 31 -> 25 UPDATE project_flocks SET location_id = 18, updated_at = NOW() WHERE id = 30; UPDATE project_flocks SET location_id = 25, updated_at = NOW() WHERE id IN (25, 31); -- 3. kandangs: K9, K72, K117 -> 18; K10, K73, K116 -> 25 UPDATE kandangs SET location_id = 18, updated_at = NOW() WHERE id IN (9, 72, 117); UPDATE kandangs SET location_id = 25, updated_at = NOW() WHERE id IN (10, 73, 116); -- 4. kandang_groups: KG 26, 68 -> 18; KG 27, 67 -> 25 UPDATE kandang_groups SET location_id = 18, updated_at = NOW() WHERE id IN (26, 68); UPDATE kandang_groups SET location_id = 25, updated_at = NOW() WHERE id IN (27, 67); -- 5. warehouses: W27, W145, W152 -> 18; W3, W146, W153 -> 25 UPDATE warehouses SET location_id = 18, updated_at = NOW() WHERE id IN (27, 145, 152); UPDATE warehouses SET location_id = 25, updated_at = NOW() WHERE id IN (3, 146, 153); -- 6. expenses: list eksplisit per location UPDATE expenses SET location_id = 18, updated_at = NOW() WHERE id IN (36, 345, 500, 501, 502, 503, 504, 505, 506, 507, 508); UPDATE expenses SET location_id = 25, updated_at = NOW() WHERE id IN (9, 37, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518); COMMIT;