fix: add alamat column patch in import_db.php and fix spbu schema

This commit is contained in:
2026-06-10 20:58:58 +07:00
parent 47c2085626
commit 857afc54d0
2 changed files with 86 additions and 71 deletions
+69 -68
View File
@@ -1,68 +1,69 @@
CREATE DATABASE IF NOT EXISTS webgis CREATE DATABASE IF NOT EXISTS webgis
CHARACTER SET utf8mb4 CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci; COLLATE utf8mb4_unicode_ci;
USE webgis; USE webgis;
CREATE TABLE IF NOT EXISTS spbu ( CREATE TABLE IF NOT EXISTS spbu (
id INT AUTO_INCREMENT PRIMARY KEY, id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL, nama VARCHAR(200) NOT NULL,
no VARCHAR(60) NOT NULL, no VARCHAR(60) NOT NULL,
status ENUM('Ya','Tidak') NOT NULL DEFAULT 'Tidak', status VARCHAR(50) NOT NULL DEFAULT 'Tidak Buka 24 Jam',
lat DECIMAL(10,7) NOT NULL, alamat TEXT NOT NULL DEFAULT '',
lng DECIMAL(10,7) NOT NULL, lat DECIMAL(10,7) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, lng DECIMAL(10,7) NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS jalan (
id INT AUTO_INCREMENT PRIMARY KEY, CREATE TABLE IF NOT EXISTS jalan (
nama VARCHAR(200) NOT NULL, id INT AUTO_INCREMENT PRIMARY KEY,
status ENUM('Nasional','Provinsi','Kabupaten') NOT NULL DEFAULT 'Kabupaten', nama VARCHAR(200) NOT NULL,
panjang DECIMAL(12,2) NOT NULL DEFAULT 0, status ENUM('Nasional','Provinsi','Kabupaten') NOT NULL DEFAULT 'Kabupaten',
koordinat LONGTEXT NOT NULL, panjang DECIMAL(12,2) NOT NULL DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, koordinat LONGTEXT NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS parsil (
id INT AUTO_INCREMENT PRIMARY KEY, CREATE TABLE IF NOT EXISTS parsil (
nama VARCHAR(200) NOT NULL, id INT AUTO_INCREMENT PRIMARY KEY,
pemilik VARCHAR(200) NOT NULL, nama VARCHAR(200) NOT NULL,
status ENUM('SHM','HGB','Sewa','Lainnya') NOT NULL DEFAULT 'SHM', pemilik VARCHAR(200) NOT NULL,
luas DECIMAL(14,2) NOT NULL DEFAULT 0, status ENUM('SHM','HGB','Sewa','Lainnya') NOT NULL DEFAULT 'SHM',
koordinat LONGTEXT NOT NULL, luas DECIMAL(14,2) NOT NULL DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, koordinat LONGTEXT NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS kemiskinan (
id INT AUTO_INCREMENT PRIMARY KEY, CREATE TABLE IF NOT EXISTS kemiskinan (
nama_kk VARCHAR(200) NOT NULL, id INT AUTO_INCREMENT PRIMARY KEY,
jumlah_kk INT NOT NULL DEFAULT 1, nama_kk VARCHAR(200) NOT NULL,
alamat TEXT NOT NULL, jumlah_kk INT NOT NULL DEFAULT 1,
lat DECIMAL(10,7) NOT NULL, alamat TEXT NOT NULL,
lng DECIMAL(10,7) NOT NULL, lat DECIMAL(10,7) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, lng DECIMAL(10,7) NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS masjid (
id INT AUTO_INCREMENT PRIMARY KEY, CREATE TABLE IF NOT EXISTS masjid (
nama_masjid VARCHAR(200) NOT NULL, id INT AUTO_INCREMENT PRIMARY KEY,
pic_masjid VARCHAR(200) NOT NULL, nama_masjid VARCHAR(200) NOT NULL,
alamat_masjid TEXT NOT NULL, pic_masjid VARCHAR(200) NOT NULL,
radius INT NOT NULL DEFAULT 500, alamat_masjid TEXT NOT NULL,
lat DECIMAL(10,7) NOT NULL, radius INT NOT NULL DEFAULT 500,
lng DECIMAL(10,7) NOT NULL, lat DECIMAL(10,7) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, lng DECIMAL(10,7) NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
INSERT INTO `spbu` (`nama`, `no`, `status`, `lat`, `lng`) VALUES ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
('SPBU Ahmad Yani', '64.781.01', 'Ya', -0.043513, 109.336423), INSERT INTO `spbu` (`nama`, `no`, `status`, `lat`, `lng`) VALUES
('SPBU Komyos Sudarso', '64.781.18', 'Tidak', -0.015243, 109.317540), ('SPBU Ahmad Yani', '64.781.01', 'Ya', -0.043513, 109.336423),
('SPBU Kapuas Indah', '64.781.14', 'Ya', -0.027581, 109.360541), ('SPBU Komyos Sudarso', '64.781.18', 'Tidak', -0.015243, 109.317540),
('SPBU Imam Bonjol', '64.781.19', 'Tidak', -0.038180, 109.349692), ('SPBU Kapuas Indah', '64.781.14', 'Ya', -0.027581, 109.360541),
('SPBU Gajah Mada', '64.781.11', 'Ya', -0.032159, 109.343513), ('SPBU Imam Bonjol', '64.781.19', 'Tidak', -0.038180, 109.349692),
('SPBU Sungai Jawi', '64.781.05', 'Tidak', -0.021589, 109.320491), ('SPBU Gajah Mada', '64.781.11', 'Ya', -0.032159, 109.343513),
('SPBU Siantan', '64.781.12', 'Ya', 0.007519, 109.336492); ('SPBU Sungai Jawi', '64.781.05', 'Tidak', -0.021589, 109.320491),
('SPBU Siantan', '64.781.12', 'Ya', 0.007519, 109.336492);
+17 -3
View File
@@ -1,5 +1,5 @@
<?php <?php
// Script untuk otomatis setup database jika menggunakan Nixpacks // Script untuk otomatis setup database
error_reporting(E_ALL); error_reporting(E_ALL);
ini_set('display_errors', 1); ini_set('display_errors', 1);
@@ -21,7 +21,6 @@ echo "<h2>1. Setup Database WEBGIS</h2>";
$sql_webgis = file_get_contents(__DIR__ . '/WEBGIS/01/api/setup_webgis.sql'); $sql_webgis = file_get_contents(__DIR__ . '/WEBGIS/01/api/setup_webgis.sql');
if ($conn->multi_query($sql_webgis)) { if ($conn->multi_query($sql_webgis)) {
do { do {
// clear results
if ($res = $conn->store_result()) { if ($res = $conn->store_result()) {
$res->free(); $res->free();
} }
@@ -31,6 +30,22 @@ if ($conn->multi_query($sql_webgis)) {
echo "<p>❌ Error import WEBGIS: " . $conn->error . "</p>"; echo "<p>❌ Error import WEBGIS: " . $conn->error . "</p>";
} }
// Tunggu multi_query selesai
while ($conn->more_results() && $conn->next_result());
// Patch: Tambah kolom 'alamat' ke tabel spbu jika belum ada
$conn->select_db("webgis");
$check = $conn->query("SHOW COLUMNS FROM spbu LIKE 'alamat'");
if ($check && $check->num_rows === 0) {
$conn->query("ALTER TABLE spbu ADD COLUMN alamat TEXT NOT NULL DEFAULT '' AFTER status");
echo "<p>✅ Kolom 'alamat' ditambahkan ke tabel spbu!</p>";
} else {
echo "<p>✅ Kolom 'alamat' sudah ada di tabel spbu.</p>";
}
// Patch: Fix kolom 'status' jika masih ENUM('Ya','Tidak')
$conn->query("ALTER TABLE spbu MODIFY COLUMN status VARCHAR(50) NOT NULL DEFAULT 'Tidak Buka 24 Jam'");
// 2. Setup KEMISKINAN_IBADAH // 2. Setup KEMISKINAN_IBADAH
echo "<h2>2. Setup Database Kemiskinan & Ibadah</h2>"; echo "<h2>2. Setup Database Kemiskinan & Ibadah</h2>";
$conn->query("CREATE DATABASE IF NOT EXISTS kemiskinan_ibadah CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"); $conn->query("CREATE DATABASE IF NOT EXISTS kemiskinan_ibadah CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;");
@@ -39,7 +54,6 @@ $conn->select_db("kemiskinan_ibadah");
$sql_webtugas = file_get_contents(__DIR__ . '/webtugas/01/api/setup_webtugas.sql'); $sql_webtugas = file_get_contents(__DIR__ . '/webtugas/01/api/setup_webtugas.sql');
if ($conn->multi_query($sql_webtugas)) { if ($conn->multi_query($sql_webtugas)) {
do { do {
// clear results
if ($res = $conn->store_result()) { if ($res = $conn->store_result()) {
$res->free(); $res->free();
} }