-- LOW-02: Migrasi data freeTimeDays (legacy) ke freeTimeTpp dan freeTimeGudang
--
-- Latar belakang: REV-4 memisahkan free time menjadi dua field (freeTimeTpp &
-- freeTimeGudang) menggantikan freeTimeDays. Klien yang dibuat sebelum REV-4
-- masih punya freeTimeDays terisi tapi freeTimeTpp/freeTimeGudang masih NULL.
-- Tanpa migrasi ini, logika bisnis (hitungStorage) menggunakan default hardcoded
-- (1 hari TPP, 5 hari Gudang) alih-alih nilai kustom per klien.
--
-- Aturan migrasi:
--   - Jika freeTimeTpp NULL DAN freeTimeDays ada → isi freeTimeTpp dari freeTimeDays
--   - Jika freeTimeGudang NULL DAN freeTimeDays ada → isi freeTimeGudang dari freeTimeDays
--   - Tidak menimpa nilai yang sudah diset secara eksplisit

UPDATE "klien"
SET
  "freeTimeTpp"    = CASE
    WHEN "freeTimeTpp"    IS NULL AND "freeTimeDays" IS NOT NULL THEN "freeTimeDays"
    ELSE "freeTimeTpp"
  END,
  "freeTimeGudang" = CASE
    WHEN "freeTimeGudang" IS NULL AND "freeTimeDays" IS NOT NULL THEN "freeTimeDays"
    ELSE "freeTimeGudang"
  END
WHERE "freeTimeDays" IS NOT NULL
  AND ("freeTimeTpp" IS NULL OR "freeTimeGudang" IS NULL);
