-- Tabel history file CAD (terhubung dengan denah_gedung_negara)
-- Jalankan script ini di MySQL untuk membuat tabel dan mengisi data awal dari file_cad yang sudah ada.

-- 1. Buat tabel history_file_cad
-- 1. Buat tabel history_file_cad
-- denah_gedung_negara_id = INT (signed) agar sama dengan denah_gedung_negara.id
CREATE TABLE IF NOT EXISTS `history_file_cad` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `denah_gedung_negara_id` int(11) NOT NULL,
  `nama_file` varchar(255) NOT NULL COMMENT 'Nama asli file upload',
  `file_path` varchar(255) NOT NULL COMMENT 'Path file di storage (nama file simpan)',
  `tahun` smallint(4) NOT NULL COMMENT 'Tahun, contoh 2026',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `history_file_cad_denah_gedung_negara_id_foreign` (`denah_gedung_negara_id`),
  CONSTRAINT `history_file_cad_denah_gedung_negara_id_foreign` FOREIGN KEY (`denah_gedung_negara_id`) REFERENCES `denah_gedung_negara` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- 2. Copy data existing: dari kolom file_cad denah_gedung_negara ke history_file_cad
-- (hanya baris yang file_cad-nya tidak null/kosong)
INSERT INTO `history_file_cad` (`denah_gedung_negara_id`, `nama_file`, `file_path`, `tahun`, `created_at`, `updated_at`)
SELECT 
  `id`,
  COALESCE(`file_cad`, '') AS `nama_file`,
  COALESCE(`file_cad`, '') AS `file_path`,
  YEAR(COALESCE(`updated_at`, `created_at`, NOW())) AS `tahun`,
  COALESCE(`updated_at`, `created_at`, NOW()) AS `created_at`,
  NOW() AS `updated_at`
FROM `denah_gedung_negara`
WHERE `file_cad` IS NOT NULL AND TRIM(`file_cad`) != '';
