80 lines
3.6 KiB
SQL
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');
|