-- Migration tambahan untuk database sedia ada `newdb`.
USE `newdb`;

-- Mempercepatkan paparan dan semakan notifikasi penyewa.
ALTER TABLE `notifikasi`
  ADD INDEX `idx_notifikasi_penyewa_tarikh` (`id_penyewa`, `tarikh`);

-- Pastikan rekod notifikasi terpadam apabila penyewa dipadam.
ALTER TABLE `notifikasi`
  ADD CONSTRAINT `notifikasi_ibfk_penyewa`
  FOREIGN KEY (`id_penyewa`) REFERENCES `penyewa` (`id_penyewa`) ON DELETE CASCADE;

CREATE TABLE IF NOT EXISTS `email_queue` (
  `id` int NOT NULL AUTO_INCREMENT, `recipient` varchar(190) NOT NULL, `subject` varchar(255) NOT NULL,
  `body` text NOT NULL, `status` enum('pending','sent','failed') NOT NULL DEFAULT 'pending',
  `attempts` tinyint NOT NULL DEFAULT 0, `last_error` text NULL, `sent_at` datetime NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_email_status` (`status`,`attempts`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
