mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-23 14:55:42 +00:00
Merge branch 'fix/location-flock' into 'development'
add migration for normalize wrong location pullet cikaum See merge request mbugroup/lti-api!557
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
||||
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;
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
BEGIN;
|
||||
|
||||
-- Konsolidasi 3 lokasi "Pullet Cikaum" jadi 1.
|
||||
-- Pindahkan semua data di loc 18 (Pullet Cikaum 1) & 25 (Pullet Cikaum 2) ke loc 2 (Pullet Cikaum).
|
||||
-- Urutan wajib: semua UPDATE child harus selesai SEBELUM soft-delete locations,
|
||||
-- karena trigger trg_soft_delete_fk_locations akan RAISE EXCEPTION untuk FK
|
||||
-- RESTRICT (project_flocks, kandangs, kandang_groups, expenses) atau SET NULL
|
||||
-- untuk warehouses kalau masih ada child yang reference.
|
||||
|
||||
-- 1. project_flocks (PF 25, 30, 31)
|
||||
UPDATE project_flocks SET location_id = 2, updated_at = NOW()
|
||||
WHERE location_id IN (18, 25);
|
||||
|
||||
-- 2. kandangs (K9, K72, K117, K10, K73, K116)
|
||||
UPDATE kandangs SET location_id = 2, updated_at = NOW()
|
||||
WHERE location_id IN (18, 25);
|
||||
|
||||
-- 3. kandang_groups (KG 26, 68, 27, 67)
|
||||
UPDATE kandang_groups SET location_id = 2, updated_at = NOW()
|
||||
WHERE location_id IN (18, 25);
|
||||
|
||||
-- 4. warehouses (W3, W27, W145, W146, W152, W153)
|
||||
UPDATE warehouses SET location_id = 2, updated_at = NOW()
|
||||
WHERE location_id IN (18, 25);
|
||||
|
||||
-- 5. expenses (23 row BOP)
|
||||
UPDATE expenses SET location_id = 2, updated_at = NOW()
|
||||
WHERE location_id IN (18, 25);
|
||||
|
||||
-- 6. Soft-delete locations 18 & 25 (kosong, aman karena semua child sudah pindah)
|
||||
UPDATE locations SET deleted_at = NOW()
|
||||
WHERE id IN (18, 25) AND deleted_at IS NULL;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user