-- Jalankan sekali pada database aplikasi aktif. Tabel lama tidak diubah.
CREATE TABLE IF NOT EXISTS pengingat_pengaturan (
 id TINYINT UNSIGNED NOT NULL PRIMARY KEY,
 aktif TINYINT(1) NOT NULL DEFAULT 1,
 menit_sebelum INT NOT NULL DEFAULT 10,
 tepat_mulai TINYINT(1) NOT NULL DEFAULT 1,
 pengingat_pulang TINYINT(1) NOT NULL DEFAULT 1,
 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT IGNORE INTO pengingat_pengaturan(id,aktif,menit_sebelum,tepat_mulai,pengingat_pulang) VALUES(1,1,10,1,1);
CREATE TABLE IF NOT EXISTS notifikasi_pengingat (
 id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
 guru_key VARCHAR(100) NOT NULL,
 tanggal DATE NOT NULL,
 jenis VARCHAR(25) NOT NULL,
 judul VARCHAR(200) NOT NULL,
 isi TEXT NOT NULL,
 waktu_kirim DATETIME NOT NULL,
 dibaca_at DATETIME DEFAULT NULL,
 UNIQUE KEY uniq_guru_hari_jenis (guru_key,tanggal,jenis),
 KEY idx_guru_date (guru_key,waktu_kirim)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS langganan_push (
 endpoint_hash CHAR(64) PRIMARY KEY,
 guru_key VARCHAR(100) NOT NULL,
 subscription_json TEXT NOT NULL,
 updated_at DATETIME NOT NULL,
 KEY idx_guru (guru_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
