-- ============================================================
-- Migration: Tipe Periode Payroll & Komponen
-- Date: 2026-05-08
-- ============================================================

-- 1. Tambah kolom tipe_periode ke tb_komponen_gaji
--    SEMUA  = aktif di semua jenis periode
--    REGULER = hanya aktif di periode gaji reguler bulanan
--    THR     = hanya aktif di periode THR
ALTER TABLE `tb_komponen_gaji`
  ADD COLUMN `tipe_periode` ENUM('SEMUA','REGULER','THR') NOT NULL DEFAULT 'SEMUA'
  AFTER `formula_expression`;

-- 2. Tambah kolom tipe_periode ke tb_payroll_periode
ALTER TABLE `tb_payroll_periode`
  ADD COLUMN `tipe_periode` ENUM('REGULER','THR') NOT NULL DEFAULT 'REGULER'
  AFTER `kode_periode`;

-- 3. Unique constraint (bulan, tahun) perlu menyertakan tipe_periode
--    supaya REGULER dan THR bisa ada di bulan/tahun yang sama
ALTER TABLE `tb_payroll_periode`
  DROP INDEX `uq_payroll_periode_bulan_tahun`,
  ADD  UNIQUE KEY `uq_payroll_periode_bulan_tahun_tipe` (`bulan`, `tahun`, `tipe_periode`);
