-- =====================================================================
-- 0021_candidate_name.sql — kolom NAMA NYATA untuk kandidat (mini-ATS F11).
--
-- Sebelumnya nama kandidat hanya tersimpan di kolom `data` (JSON, $.full_name).
-- ObjectRegistry butuh kolom nyata (name = full_name) agar link universal +
-- autocomplete bekerja TANPA membaca JSON di query. Menambah kolom
-- full_name + backfill dari JSON yang sudah ada.
--
-- Uji dulu di DB uji, lalu terapkan live via bin/migrate.php (JANGAN matikan
-- server/MySQL live 8123). Idempoten-aman: guard "IF NOT EXISTS" tidak
-- tersedia utk ADD COLUMN di MariaDB lama, jadi migrator menjalankan sekali.
-- =====================================================================

ALTER TABLE hr_candidates
    ADD COLUMN full_name VARCHAR(120) NULL COMMENT 'nama nyata kandidat (backfill dari data JSON) — dipakai ObjectRegistry' AFTER vacancy_id,
    ADD KEY idx_hr_candidates_name (property_id, full_name);

-- Backfill dari data JSON ($.full_name) untuk baris yang sudah ada.
UPDATE hr_candidates
   SET full_name = JSON_UNQUOTE(JSON_EXTRACT(data, '$.full_name'))
 WHERE full_name IS NULL
   AND JSON_EXTRACT(data, '$.full_name') IS NOT NULL;
