-- Database UAS WebGIS Kemiskinan Tania
-- Cocok untuk Coolify. Database dibuat dari Initial Database, jadi tidak perlu CREATE DATABASE.

SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS bantuan;
DROP TABLE IF EXISTS penduduk_miskin;
DROP TABLE IF EXISTS rumah_ibadah;
DROP TABLE IF EXISTS admin;
SET FOREIGN_KEY_CHECKS = 1;

CREATE TABLE admin (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(100) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    nama_lengkap VARCHAR(150) DEFAULT 'Administrator',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE rumah_ibadah (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama_rumah_ibadah VARCHAR(150) NOT NULL,
    alamat TEXT,
    lat DOUBLE NOT NULL,
    lng DOUBLE NOT NULL,
    jenis_rumah_ibadah ENUM('masjid','gereja') DEFAULT 'masjid',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE penduduk_miskin (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(150) NOT NULL,
    nik VARCHAR(30) DEFAULT NULL,
    alamat TEXT,
    pekerjaan VARCHAR(100) DEFAULT NULL,
    penghasilan INT DEFAULT 0,
    jumlah_anggota_keluarga INT DEFAULT 1,
    jumlah_tanggungan INT DEFAULT 0,
    kategori_kemiskinan ENUM('Miskin','Miskin Ekstrem','Hampir Miskin') DEFAULT 'Miskin',
    status_bantuan ENUM('Belum','Pernah','Sedang') DEFAULT 'Belum',
    keterangan TEXT,
    foto VARCHAR(255) DEFAULT NULL,
    lat DOUBLE NOT NULL,
    lng DOUBLE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE bantuan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    penduduk_id INT NULL,
    jenis_bantuan VARCHAR(100) NOT NULL,
    jumlah_bantuan VARCHAR(100) DEFAULT NULL,
    tanggal_bantuan DATE NOT NULL,
    keterangan TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    CONSTRAINT fk_bantuan_penduduk
        FOREIGN KEY (penduduk_id) REFERENCES penduduk_miskin(id)
        ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO admin (username, password, nama_lengkap) VALUES
('admin', 'password', 'Administrator');

INSERT INTO rumah_ibadah (nama_rumah_ibadah, alamat, lat, lng, jenis_rumah_ibadah) VALUES
('Masjid Raya Mujahidin', 'Jl. Jenderal Ahmad Yani, Pontianak', -0.042338, 109.343906, 'masjid'),
('Masjid Jami Sultan Syarif Abdurrahman', 'Kampung Beting, Pontianak Timur', -0.021844, 109.351909, 'masjid'),
('Gereja Katedral Santo Yosef', 'Jl. Pattimura, Pontianak', -0.027104, 109.342337, 'gereja'),
('Gereja HKBP Pontianak', 'Pontianak Kota', -0.033862, 109.333546, 'gereja');

INSERT INTO penduduk_miskin
(nama, nik, alamat, pekerjaan, penghasilan, jumlah_anggota_keluarga, jumlah_tanggungan, kategori_kemiskinan, status_bantuan, keterangan, foto, lat, lng) VALUES
('Ahmad Supriadi', '6171010101010001', 'Pontianak Kota', 'Buruh Harian', 900000, 5, 3, 'Miskin', 'Belum', 'Membutuhkan bantuan sembako', '', -0.030500, 109.336200),
('Siti Aminah', '6171010101010002', 'Pontianak Barat', 'Ibu Rumah Tangga', 650000, 4, 2, 'Miskin Ekstrem', 'Sedang', 'Prioritas bantuan pangan', '', -0.025800, 109.315900),
('Budi Santoso', '6171010101010003', 'Pontianak Timur', 'Nelayan', 1100000, 6, 4, 'Hampir Miskin', 'Pernah', 'Butuh bantuan modal usaha', '', -0.018900, 109.366800);

INSERT INTO bantuan (penduduk_id, jenis_bantuan, jumlah_bantuan, tanggal_bantuan, keterangan) VALUES
(2, 'Sembako', '1 paket', CURDATE(), 'Bantuan awal'),
(3, 'Uang Tunai', 'Rp 300.000', CURDATE(), 'Bantuan sosial');
