Files
2026-06-12 17:46:11 +00:00

80 lines
3.6 KiB
SQL

-- ============================================================
-- 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');