-- ============================================================ -- database.sql - WebGIS Pemetaan Kemiskinan Freya -- Versi deploy Coolify -- Tidak memakai CREATE DATABASE / USE agar mengikuti Initial Database Coolify. -- Akan me-reset tabel utama aplikasi. -- ============================================================ SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS bantuan; DROP TABLE IF EXISTS keluarga_miskin; DROP TABLE IF EXISTS rumah_ibadah; DROP TABLE IF EXISTS users; SET FOREIGN_KEY_CHECKS = 1; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100) NOT NULL, username VARCHAR(80) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, role ENUM('admin','pengurus','pengguna') NOT NULL DEFAULT 'pengguna', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE rumah_ibadah ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(150) NOT NULL, jenis VARCHAR(80) DEFAULT NULL, alamat TEXT DEFAULT NULL, ketua VARCHAR(120) DEFAULT NULL, no_hp VARCHAR(30) DEFAULT NULL, lat DOUBLE NOT NULL DEFAULT 0, lng DOUBLE NOT NULL DEFAULT 0, radius INT NOT NULL DEFAULT 500, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE keluarga_miskin ( id INT AUTO_INCREMENT PRIMARY KEY, nik VARCHAR(30) DEFAULT NULL, nama VARCHAR(150) NOT NULL, alamat TEXT DEFAULT NULL, penghasilan_kategori VARCHAR(80) DEFAULT NULL, prioritas VARCHAR(50) DEFAULT NULL, lat DOUBLE NOT NULL DEFAULT 0, lng DOUBLE NOT NULL DEFAULT 0, status_bantuan ENUM('belum','proses','sudah') NOT NULL DEFAULT 'belum', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE bantuan ( id INT AUTO_INCREMENT PRIMARY KEY, keluarga_id INT NOT NULL, jenis VARCHAR(80) NOT NULL, jumlah VARCHAR(100) DEFAULT NULL, keterangan TEXT DEFAULT NULL, status ENUM('pending','disetujui','diserahkan','ditolak') NOT NULL DEFAULT 'pending', status_aktif ENUM('aktif','selesai') NOT NULL DEFAULT 'aktif', tanggal TIMESTAMP DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_bantuan_keluarga FOREIGN KEY (keluarga_id) REFERENCES keluarga_miskin(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO users (nama, username, password, role) VALUES ('Administrator', 'admin', 'password', 'admin'), ('Pengurus Rumah Ibadah', 'pengurus', 'password', 'pengurus'), ('Pengguna Keluarga', 'pengguna', 'password', 'pengguna'); INSERT INTO rumah_ibadah (nama, jenis, alamat, ketua, no_hp, lat, lng, radius) VALUES ('Masjid Raya Mujahidin', 'Masjid', 'Jl. Jenderal Ahmad Yani, Pontianak', 'Pengurus Demo', '081234567890', -0.0554, 109.3465, 800), ('Masjid Jami Sultan Syarif Abdurrahman', 'Masjid', 'Pontianak Timur', 'Pengurus Demo', '081234567891', -0.0239, 109.3446, 800); INSERT INTO keluarga_miskin (nik, nama, alamat, penghasilan_kategori, prioritas, lat, lng, status_bantuan) VALUES ('6171010101010001', 'Budi Santoso', 'Pontianak Kota', 'rendah', 'sedang', -0.0412, 109.3210, 'belum'), ('6171010101010002', 'Siti Aminah', 'Pontianak Selatan', 'rendah', 'tinggi', -0.0550, 109.3450, 'belum'), ('6171010101010003', 'Rahmat Hidayat', 'Pontianak Utara', 'sedang', 'sedang', -0.0060, 109.3300, 'proses'); INSERT INTO bantuan (keluarga_id, jenis, jumlah, keterangan, status, status_aktif) VALUES (3, 'barang', '1 paket sembako', 'Data dummy untuk testing', 'pending', 'aktif');