-- =====================================================================
-- SIMAP — Jenis kartu ditulis dengan nama pembacanya
--
--   mysql -u root -p simap_db < database/15_jenis_kartu_pembaca.sql
--
-- Semula kolom ini berisi nama teknis jenis kartunya: EM4100 dan MIFARE.
-- Istilah itu benar, tetapi yang perlu diketahui operator sekolah bukan
-- nama standar kartunya, melainkan pembaca mana yang bisa membacanya.
--
-- Karena itu nilainya diganti menjadi RDM6300 dan RC522: begitu melihat
-- daftar kartu, operator langsung tahu kartu ini terbaca di gerbang yang
-- mana — tanpa perlu mengingat bahwa EM4100 berarti 125 kHz dan Mifare
-- berarti 13,56 MHz.
-- =====================================================================

SET NAMES utf8mb4;

ALTER TABLE rfid_kartu
  MODIFY jenis ENUM('EM4100','MIFARE','LAIN','RDM6300','RC522')
         NOT NULL DEFAULT 'RDM6300';

UPDATE rfid_kartu SET jenis = 'RDM6300' WHERE jenis = 'EM4100';
UPDATE rfid_kartu SET jenis = 'RC522'   WHERE jenis = 'MIFARE';

ALTER TABLE rfid_kartu
  MODIFY jenis ENUM('RDM6300','RC522','LAIN') NOT NULL DEFAULT 'RDM6300'
         COMMENT 'pembaca yang dapat membaca kartu ini';

ALTER TABLE rfid_log
  MODIFY jenis_kartu ENUM('EM4100','MIFARE','LAIN','RDM6300','RC522') NULL;

UPDATE rfid_log SET jenis_kartu = 'RDM6300' WHERE jenis_kartu = 'EM4100';
UPDATE rfid_log SET jenis_kartu = 'RC522'   WHERE jenis_kartu = 'MIFARE';

ALTER TABLE rfid_log
  MODIFY jenis_kartu ENUM('RDM6300','RC522','LAIN') NULL;

SELECT 'jenis kartu memakai nama pembaca' AS info,
       (SELECT COUNT(*) FROM rfid_kartu WHERE jenis = 'RDM6300') AS rdm6300,
       (SELECT COUNT(*) FROM rfid_kartu WHERE jenis = 'RC522') AS rc522;
