Upload files to "database"
This commit is contained in:
@@ -0,0 +1,213 @@
|
||||
CREATE DATABASE IF NOT EXISTS sipantas_webgis
|
||||
CHARACTER SET utf8mb4
|
||||
COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
USE sipantas_webgis;
|
||||
|
||||
DROP TABLE IF EXISTS pemberdayaan;
|
||||
DROP TABLE IF EXISTS laporan_musibah;
|
||||
DROP TABLE IF EXISTS keluarga_anggota;
|
||||
DROP TABLE IF EXISTS riwayat_bantuan;
|
||||
DROP TABLE IF EXISTS keluarga;
|
||||
DROP TABLE IF EXISTS users;
|
||||
DROP TABLE IF EXISTS rumah_ibadah;
|
||||
|
||||
CREATE TABLE rumah_ibadah (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama VARCHAR(150) NOT NULL,
|
||||
alamat TEXT NOT NULL,
|
||||
kategori ENUM('Masjid','Gereja','Vihara','Klenteng','Pura','Lainnya') NOT NULL DEFAULT 'Masjid',
|
||||
pengurus VARCHAR(120) NULL,
|
||||
kontak VARCHAR(50) NULL,
|
||||
dana_sosial DECIMAL(15,2) NOT NULL DEFAULT 0,
|
||||
kuota INT NOT NULL DEFAULT 0,
|
||||
radius INT NOT NULL DEFAULT 500,
|
||||
lat DECIMAL(10,7) NOT NULL,
|
||||
lng DECIMAL(10,7) NOT NULL,
|
||||
status ENUM('Aktif','Nonaktif') NOT NULL DEFAULT 'Aktif',
|
||||
created_by INT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE users (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama VARCHAR(120) NOT NULL,
|
||||
email VARCHAR(120) NOT NULL UNIQUE,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
role ENUM('admin','dinas','rumah_ibadah','relawan','masyarakat') NOT NULL,
|
||||
rumah_ibadah_id INT NULL,
|
||||
status_akun ENUM('Menunggu Verifikasi','Aktif','Ditolak') NOT NULL DEFAULT 'Aktif',
|
||||
kontak VARCHAR(50) NULL,
|
||||
alamat TEXT NULL,
|
||||
nama_instansi VARCHAR(160) NULL,
|
||||
kategori_instansi VARCHAR(50) NULL,
|
||||
catatan_pengajuan TEXT NULL,
|
||||
lat DECIMAL(10,7) NULL,
|
||||
lng DECIMAL(10,7) NULL,
|
||||
verified_by INT NULL,
|
||||
verified_at DATETIME NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_users_rumah_ibadah FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id)
|
||||
ON DELETE SET NULL,
|
||||
CONSTRAINT fk_users_verified_by FOREIGN KEY (verified_by) REFERENCES users(id)
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE keluarga (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_kk VARCHAR(150) NOT NULL,
|
||||
alamat TEXT NOT NULL,
|
||||
no_kk VARCHAR(32) NULL,
|
||||
nik VARCHAR(32) NULL,
|
||||
kerentanan ENUM('Miskin Ekstrem','Sangat Miskin','Miskin','Rentan Miskin') NOT NULL DEFAULT 'Miskin',
|
||||
kebutuhan ENUM('Sembako','Biaya Pendidikan','Kesehatan','Tempat Tinggal','Modal Usaha','Lainnya') NOT NULL DEFAULT 'Sembako',
|
||||
status_verifikasi ENUM('Menunggu Verifikasi','Valid','Tidak Valid','Perlu Survei Ulang') NOT NULL DEFAULT 'Menunggu Verifikasi',
|
||||
status_bantuan ENUM('Menunggu Verifikasi','Ditanggung','Blank Spot','Bantuan Pemerintah','Butuh Bantuan Lanjutan','Tidak Valid') NOT NULL DEFAULT 'Menunggu Verifikasi',
|
||||
rumah_ibadah_id INT NULL,
|
||||
catatan TEXT NULL,
|
||||
lat DECIMAL(10,7) NOT NULL,
|
||||
lng DECIMAL(10,7) NOT NULL,
|
||||
created_by INT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_keluarga_rumah_ibadah FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id)
|
||||
ON DELETE SET NULL,
|
||||
CONSTRAINT fk_keluarga_user FOREIGN KEY (created_by) REFERENCES users(id)
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE riwayat_bantuan (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
keluarga_id INT NOT NULL,
|
||||
rumah_ibadah_id INT NULL,
|
||||
tanggal_bantuan DATE NOT NULL,
|
||||
jenis_bantuan VARCHAR(120) NOT NULL,
|
||||
nilai_bantuan DECIMAL(15,2) NOT NULL DEFAULT 0,
|
||||
catatan TEXT NULL,
|
||||
created_by INT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_bantuan_keluarga FOREIGN KEY (keluarga_id) REFERENCES keluarga(id)
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT fk_bantuan_rumah_ibadah FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id)
|
||||
ON DELETE SET NULL,
|
||||
CONSTRAINT fk_bantuan_user FOREIGN KEY (created_by) REFERENCES users(id)
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
|
||||
CREATE TABLE keluarga_anggota (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
keluarga_id INT NOT NULL,
|
||||
nik VARCHAR(32) NULL,
|
||||
nama VARCHAR(150) NOT NULL,
|
||||
hubungan ENUM('Kepala Keluarga','Istri','Suami','Anak','Orang Tua','Mertua','Famili Lain','Lainnya') NOT NULL DEFAULT 'Lainnya',
|
||||
jenis_kelamin ENUM('Laki-laki','Perempuan') NOT NULL DEFAULT 'Laki-laki',
|
||||
tempat_lahir VARCHAR(100) NULL,
|
||||
tanggal_lahir DATE NULL,
|
||||
agama VARCHAR(50) NULL,
|
||||
pendidikan VARCHAR(80) NULL,
|
||||
pekerjaan VARCHAR(120) NULL,
|
||||
status_perkawinan VARCHAR(80) NULL,
|
||||
penghasilan DECIMAL(15,2) NOT NULL DEFAULT 0,
|
||||
mampu_bekerja ENUM('Ya','Tidak') NOT NULL DEFAULT 'Tidak',
|
||||
keahlian TEXT NULL,
|
||||
status_pemberdayaan ENUM('Belum Dinilai','Layak Diberdayakan','Dalam Program','Mandiri','Tidak Layak') NOT NULL DEFAULT 'Belum Dinilai',
|
||||
catatan TEXT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_anggota_keluarga FOREIGN KEY (keluarga_id) REFERENCES keluarga(id)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE laporan_musibah (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
keluarga_id INT NULL,
|
||||
pelapor_id INT NULL,
|
||||
jenis_musibah ENUM('Kebakaran','Banjir','Sakit Mendesak','Kehilangan Pekerjaan','Kematian Tulang Punggung Keluarga','Rumah Rusak','Lainnya') NOT NULL DEFAULT 'Lainnya',
|
||||
tingkat_urgensi ENUM('Rendah','Sedang','Tinggi','Darurat') NOT NULL DEFAULT 'Sedang',
|
||||
tanggal_kejadian DATE NOT NULL,
|
||||
alamat TEXT NOT NULL,
|
||||
lat DECIMAL(10,7) NOT NULL,
|
||||
lng DECIMAL(10,7) NOT NULL,
|
||||
deskripsi TEXT NOT NULL,
|
||||
kebutuhan_mendesak TEXT NULL,
|
||||
status ENUM('Baru','Diverifikasi','Diproses','Ditindaklanjuti','Selesai','Ditolak') NOT NULL DEFAULT 'Baru',
|
||||
tindak_lanjut TEXT NULL,
|
||||
handled_by INT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_musibah_keluarga FOREIGN KEY (keluarga_id) REFERENCES keluarga(id)
|
||||
ON DELETE SET NULL,
|
||||
CONSTRAINT fk_musibah_pelapor FOREIGN KEY (pelapor_id) REFERENCES users(id)
|
||||
ON DELETE SET NULL,
|
||||
CONSTRAINT fk_musibah_handler FOREIGN KEY (handled_by) REFERENCES users(id)
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE pemberdayaan (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
anggota_id INT NOT NULL,
|
||||
keluarga_id INT NOT NULL,
|
||||
jenis_program ENUM('Pelatihan Kerja','Modal Usaha','Pendampingan UMKM','Penempatan Kerja','Bantuan Alat Kerja','Lainnya') NOT NULL DEFAULT 'Pelatihan Kerja',
|
||||
nama_program VARCHAR(160) NOT NULL,
|
||||
penyelenggara VARCHAR(160) NULL,
|
||||
tanggal_mulai DATE NULL,
|
||||
status ENUM('Direkomendasikan','Berjalan','Selesai','Batal','Mandiri') NOT NULL DEFAULT 'Direkomendasikan',
|
||||
catatan TEXT NULL,
|
||||
created_by INT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_pemberdayaan_anggota FOREIGN KEY (anggota_id) REFERENCES keluarga_anggota(id)
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT fk_pemberdayaan_keluarga FOREIGN KEY (keluarga_id) REFERENCES keluarga(id)
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT fk_pemberdayaan_user FOREIGN KEY (created_by) REFERENCES users(id)
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO rumah_ibadah
|
||||
(nama, alamat, kategori, pengurus, kontak, dana_sosial, kuota, radius, lat, lng, status)
|
||||
VALUES
|
||||
('Masjid Al-Ikhlas', 'Pontianak Kota, Kalimantan Barat', 'Masjid', 'Bapak Rahman', '081234567890', 6000000, 4, 900, -0.0265000, 109.3427000, 'Aktif'),
|
||||
('Gereja Kasih Damai', 'Pontianak Barat, Kalimantan Barat', 'Gereja', 'Ibu Maria', '081298765432', 4500000, 3, 700, -0.0345000, 109.3315000, 'Aktif'),
|
||||
('Vihara Metta', 'Pontianak Selatan, Kalimantan Barat', 'Vihara', 'Bapak Steven', '081212121212', 3500000, 2, 600, -0.0455000, 109.3475000, 'Aktif');
|
||||
|
||||
-- Password awal semua akun: 123456
|
||||
-- Hash menggunakan SHA2 untuk memudahkan import data awal.
|
||||
INSERT INTO users (nama, email, password_hash, role, rumah_ibadah_id, status_akun) VALUES
|
||||
('Administrator SIPANTAS', 'admin@sipantas.local', SHA2('123456', 256), 'admin', NULL, 'Aktif'),
|
||||
('Petugas Dinas Sosial', 'dinsos@sipantas.local', SHA2('123456', 256), 'dinas', NULL, 'Aktif'),
|
||||
('Pengurus Masjid Al-Ikhlas', 'masjid@sipantas.local', SHA2('123456', 256), 'rumah_ibadah', 1, 'Aktif'),
|
||||
('Relawan Lapangan', 'relawan@sipantas.local', SHA2('123456', 256), 'relawan', NULL, 'Aktif'),
|
||||
('Warga Masyarakat', 'warga@sipantas.local', SHA2('123456', 256), 'masyarakat', NULL, 'Aktif');
|
||||
|
||||
INSERT INTO keluarga
|
||||
(nama_kk, alamat, no_kk, nik, kerentanan, kebutuhan, status_verifikasi, status_bantuan, lat, lng, catatan)
|
||||
VALUES
|
||||
('Keluarga Bapak Ahmad', 'Gang Sejahtera, Pontianak', '6171xxxxxxxx0001', '6171xxxxxxxx0001', 'Miskin Ekstrem', 'Sembako', 'Valid', 'Menunggu Verifikasi', -0.0282000, 109.3441000, 'Data awal keluarga miskin ekstrem.'),
|
||||
('Keluarga Ibu Siti', 'Jalan Kom Yos Sudarso, Pontianak', '6171xxxxxxxx0002', '6171xxxxxxxx0002', 'Sangat Miskin', 'Biaya Pendidikan', 'Valid', 'Menunggu Verifikasi', -0.0362000, 109.3298000, 'Membutuhkan bantuan biaya sekolah.'),
|
||||
('Keluarga Bapak Joni', 'Pontianak Barat, Kalimantan Barat', '6171xxxxxxxx0003', '6171xxxxxxxx0003', 'Miskin', 'Kesehatan', 'Valid', 'Menunggu Verifikasi', -0.0478000, 109.3575000, 'Jarak cukup jauh dari rumah ibadah aktif.'),
|
||||
('Keluarga Ibu Rina', 'Pontianak Selatan, Kalimantan Barat', '6171xxxxxxxx0004', '6171xxxxxxxx0004', 'Rentan Miskin', 'Modal Usaha', 'Menunggu Verifikasi', 'Menunggu Verifikasi', -0.0462000, 109.3459000, 'Usulan masyarakat, belum diverifikasi.');
|
||||
|
||||
INSERT INTO keluarga_anggota
|
||||
(keluarga_id, nik, nama, hubungan, jenis_kelamin, tempat_lahir, tanggal_lahir, agama, pendidikan, pekerjaan, status_perkawinan, penghasilan, mampu_bekerja, keahlian, status_pemberdayaan, catatan)
|
||||
VALUES
|
||||
(1, '6171xxxxxxxx1001', 'Ahmad', 'Kepala Keluarga', 'Laki-laki', 'Pontianak', '1982-02-12', 'Islam', 'SMA', 'Buruh Harian', 'Kawin', 900000, 'Ya', 'Bangunan, angkut barang', 'Layak Diberdayakan', 'Perlu peluang kerja lebih stabil.'),
|
||||
(1, '6171xxxxxxxx1002', 'Aminah', 'Istri', 'Perempuan', 'Pontianak', '1985-07-04', 'Islam', 'SMP', 'Ibu Rumah Tangga', 'Kawin', 0, 'Ya', 'Memasak, membuat kue', 'Layak Diberdayakan', 'Potensial untuk usaha makanan rumahan.'),
|
||||
(1, '6171xxxxxxxx1003', 'Dani', 'Anak', 'Laki-laki', 'Pontianak', '2012-09-15', 'Islam', 'SD', 'Pelajar', 'Belum Kawin', 0, 'Tidak', '', 'Belum Dinilai', ''),
|
||||
(2, '6171xxxxxxxx2001', 'Siti', 'Kepala Keluarga', 'Perempuan', 'Pontianak', '1988-03-21', 'Islam', 'SMA', 'Penjual Kecil', 'Cerai Hidup', 700000, 'Ya', 'Berjualan, memasak', 'Layak Diberdayakan', 'Butuh modal usaha kecil.'),
|
||||
(2, '6171xxxxxxxx2002', 'Rafa', 'Anak', 'Laki-laki', 'Pontianak', '2010-01-10', 'Islam', 'SMP', 'Pelajar', 'Belum Kawin', 0, 'Tidak', '', 'Belum Dinilai', ''),
|
||||
(3, '6171xxxxxxxx3001', 'Joni', 'Kepala Keluarga', 'Laki-laki', 'Pontianak', '1979-12-05', 'Islam', 'SD', 'Tidak Tetap', 'Kawin', 500000, 'Ya', 'Berkebun, memperbaiki barang sederhana', 'Layak Diberdayakan', 'Perlu pemeriksaan kesehatan sebelum program kerja berat.'),
|
||||
(4, '6171xxxxxxxx4001', 'Rina', 'Kepala Keluarga', 'Perempuan', 'Pontianak', '1990-11-09', 'Islam', 'SMA', 'Tidak Bekerja', 'Kawin', 0, 'Ya', 'Menjahit dasar', 'Belum Dinilai', 'Usulan baru, perlu verifikasi.');
|
||||
|
||||
INSERT INTO laporan_musibah
|
||||
(keluarga_id, pelapor_id, jenis_musibah, tingkat_urgensi, tanggal_kejadian, alamat, lat, lng, deskripsi, kebutuhan_mendesak, status)
|
||||
VALUES
|
||||
(3, 4, 'Sakit Mendesak', 'Tinggi', CURDATE(), 'Pontianak Barat, Kalimantan Barat', -0.0478000, 109.3575000, 'Kepala keluarga membutuhkan bantuan pemeriksaan kesehatan.', 'Transportasi ke fasilitas kesehatan dan bantuan biaya awal.', 'Baru');
|
||||
|
||||
INSERT INTO pemberdayaan
|
||||
(anggota_id, keluarga_id, jenis_program, nama_program, penyelenggara, tanggal_mulai, status, catatan, created_by)
|
||||
VALUES
|
||||
(1, 1, 'Pelatihan Kerja', 'Pelatihan kerja dasar dan penyaluran harian', 'Dinas Sosial', CURDATE(), 'Direkomendasikan', 'Anggota masih produktif dan mampu bekerja.', 2);
|
||||
|
||||
Reference in New Issue
Block a user