mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-23 14:55:42 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e34da7385 | |||
| e781115390 |
+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