Files
UAS_WEBGIS_DeranggaArayAbim…/database/init.sql
T
2026-06-10 19:41:20 +07:00

128 lines
5.4 KiB
SQL

-- ============================================================
-- Combined DB init for Docker
-- Runs automatically on first `docker compose up`
-- Creates: sig_spbu, sig_mapping, sig_bansos
-- ============================================================
-- ============================================================
-- sig-01: WebGIS SPBU
-- ============================================================
CREATE DATABASE IF NOT EXISTS sig_spbu
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE sig_spbu;
CREATE TABLE IF NOT EXISTS spbu (
id INT AUTO_INCREMENT PRIMARY KEY,
kode VARCHAR(50) NOT NULL UNIQUE,
nama VARCHAR(255) NOT NULL,
is_24jam TINYINT(1) NOT NULL DEFAULT 0,
latitude DECIMAL(10, 8) NOT NULL,
longitude DECIMAL(11, 8) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO spbu (kode, nama, is_24jam, latitude, longitude) VALUES
('61.701.01', 'SPBU Pertamina Ahmad Yani', 1, -0.02830, 109.34150),
('61.701.02', 'SPBU Pertamina Gajah Mada', 0, -0.01970, 109.33490),
('61.701.03', 'SPBU Pertamina Tanjungpura', 1, -0.03480, 109.33170),
('61.701.04', 'SPBU Pertamina Imam Bonjol', 0, -0.05680, 109.34670),
('61.701.05', 'SPBU Pertamina Soekarno-Hatta', 1, -0.06510, 109.35540),
('61.701.06', 'SPBU Pertamina Sultan Syarif Abdurrahman',0, -0.01330, 109.32890),
('61.701.07', 'SPBU Pertamina Sei Raya Dalam', 1, -0.09420, 109.36800);
-- ============================================================
-- sig-02: SIG Mapping Tanah & Jalan
-- ============================================================
CREATE DATABASE IF NOT EXISTS sig_mapping
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE sig_mapping;
CREATE TABLE IF NOT EXISTS tanah (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(150) NOT NULL,
pemilik VARCHAR(150) NULL,
kategori VARCHAR(80) NULL,
deskripsi TEXT NULL,
luas DOUBLE NOT NULL DEFAULT 0,
keliling DOUBLE NOT NULL DEFAULT 0,
warna VARCHAR(20) NOT NULL DEFAULT '#22c55e',
geojson JSON NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS jalan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(150) NOT NULL,
jenis VARCHAR(50) NULL,
kategori VARCHAR(80) NULL,
deskripsi TEXT NULL,
panjang DOUBLE NOT NULL DEFAULT 0,
warna VARCHAR(20) NOT NULL DEFAULT '#ef4444',
geojson JSON NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB;
-- ============================================================
-- sig-03: WebGIS BanSos
-- ============================================================
CREATE DATABASE IF NOT EXISTS sig_bansos
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE sig_bansos;
CREATE TABLE IF NOT EXISTS religious_centers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
address TEXT,
kas DECIMAL(15,2) DEFAULT 0,
latitude DOUBLE NOT NULL,
longitude DOUBLE NOT NULL,
radius INT DEFAULT 300,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS houses (
id INT AUTO_INCREMENT PRIMARY KEY,
latitude DOUBLE NOT NULL,
longitude DOUBLE NOT NULL,
address TEXT,
rt VARCHAR(10) DEFAULT '',
rw VARCHAR(10) DEFAULT '',
kelurahan VARCHAR(100) DEFAULT '',
status_miskin ENUM('sangat_miskin','miskin','tidak_miskin','') DEFAULT '',
jumlah_anggota INT DEFAULT 0,
anggota JSON,
aid_status ENUM('helped','not_helped','outside') DEFAULT 'outside',
has_data TINYINT(1) DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS laporan (
id INT AUTO_INCREMENT PRIMARY KEY,
pelapor VARCHAR(150) DEFAULT 'Anonim',
deskripsi TEXT NOT NULL,
lokasi VARCHAR(255) DEFAULT '',
foto_base64 MEDIUMTEXT,
status ENUM('baru','ditangani','selesai') DEFAULT 'baru',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS aid_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
house_id INT NOT NULL,
religious_center_id INT DEFAULT 0,
status ENUM('helped','reverted') NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (house_id) REFERENCES houses(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;