45 lines
2.0 KiB
SQL
45 lines
2.0 KiB
SQL
-- laporan_migration.sql
|
|
-- Jalankan script ini di phpMyAdmin untuk database "bansos_gis"
|
|
-- Fitur: Pelaporan Warga oleh Kontributor & Koordinator
|
|
|
|
-- Tambah kolom no_telp ke tabel users jika belum ada
|
|
ALTER TABLE `users`
|
|
ADD COLUMN IF NOT EXISTS `no_telp` VARCHAR(20) NULL DEFAULT NULL
|
|
COMMENT 'Nomor telepon/WA pengguna';
|
|
|
|
-- Buat tabel laporan_warga
|
|
CREATE TABLE IF NOT EXISTS `laporan_warga` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`rumah_warga_id` INT(11) NOT NULL COMMENT 'Warga yang dilaporkan',
|
|
`pelapor_id` INT(11) NOT NULL COMMENT 'User yang membuat laporan',
|
|
`koordinator_ibadah_id` INT(11) NULL DEFAULT NULL COMMENT 'Rumah ibadah pelapor (jika koordinator)',
|
|
`jenis_laporan` ENUM(
|
|
'data_tidak_sesuai',
|
|
'warga_mampu',
|
|
'warga_pindah',
|
|
'warga_meninggal',
|
|
'data_ganda',
|
|
'lainnya'
|
|
) NOT NULL DEFAULT 'data_tidak_sesuai' COMMENT 'Jenis ketidaksesuaian yang dilaporkan',
|
|
`deskripsi` TEXT NOT NULL COMMENT 'Penjelasan detail dari pelapor',
|
|
`prioritas` ENUM('rendah', 'sedang', 'tinggi') NOT NULL DEFAULT 'sedang',
|
|
`status` ENUM(
|
|
'pending',
|
|
'ditinjau',
|
|
'diproses',
|
|
'selesai',
|
|
'ditolak'
|
|
) NOT NULL DEFAULT 'pending' COMMENT 'Status penanganan laporan',
|
|
`catatan_admin` TEXT NULL DEFAULT NULL COMMENT 'Catatan atau keputusan admin',
|
|
`ditugaskan_ke` VARCHAR(150) NULL DEFAULT NULL COMMENT 'Nama petugas yang ditugaskan cek lapangan',
|
|
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),
|
|
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `fk_laporan_warga` (`rumah_warga_id`),
|
|
KEY `fk_laporan_pelapor` (`pelapor_id`),
|
|
KEY `idx_laporan_status` (`status`),
|
|
KEY `idx_laporan_prioritas` (`prioritas`),
|
|
CONSTRAINT `fk_laporan_warga` FOREIGN KEY (`rumah_warga_id`) REFERENCES `rumah_warga` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_laporan_pelapor` FOREIGN KEY (`pelapor_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|