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
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE webgis;
CREATE TABLE IF NOT EXISTS spbu (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL,
no VARCHAR(60) NOT NULL,
status ENUM('Ya','Tidak') NOT NULL DEFAULT 'Tidak',
lat DECIMAL(10,7) NOT NULL,
lng DECIMAL(10,7) NOT NULL,
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 jalan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL,
status ENUM('Nasional','Provinsi','Kabupaten') NOT NULL DEFAULT 'Kabupaten',
panjang DECIMAL(12,2) NOT NULL DEFAULT 0,
koordinat LONGTEXT NOT NULL,
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 parsil (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL,
pemilik VARCHAR(200) NOT NULL,
status ENUM('SHM','HGB','Sewa','Lainnya') NOT NULL DEFAULT 'SHM',
luas DECIMAL(14,2) NOT NULL DEFAULT 0,
koordinat LONGTEXT NOT NULL,
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 kemiskinan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_kk VARCHAR(200) NOT NULL,
jumlah_kk INT NOT NULL DEFAULT 1,
alamat TEXT NOT NULL,
lat DECIMAL(10,7) NOT NULL,
lng DECIMAL(10,7) NOT NULL,
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 masjid (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_masjid VARCHAR(200) NOT NULL,
pic_masjid VARCHAR(200) NOT NULL,
alamat_masjid TEXT NOT NULL,
radius INT NOT NULL DEFAULT 500,
lat DECIMAL(10,7) NOT NULL,
lng DECIMAL(10,7) 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` (`nama`, `no`, `status`, `lat`, `lng`) VALUES
('SPBU Ahmad Yani', '64.781.01', 'Ya', -0.043513, 109.336423),
('SPBU Komyos Sudarso', '64.781.18', 'Tidak', -0.015243, 109.317540),
('SPBU Kapuas Indah', '64.781.14', 'Ya', -0.027581, 109.360541),
('SPBU Imam Bonjol', '64.781.19', 'Tidak', -0.038180, 109.349692),
('SPBU Gajah Mada', '64.781.11', 'Ya', -0.032159, 109.343513),
('SPBU Sungai Jawi', '64.781.05', 'Tidak', -0.021589, 109.320491),
('SPBU Siantan', '64.781.12', 'Ya', 0.007519, 109.336492);
CREATE DATABASE IF NOT EXISTS webgis
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE webgis;
CREATE TABLE IF NOT EXISTS spbu (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL,
no VARCHAR(60) NOT NULL,
status VARCHAR(50) NOT NULL DEFAULT 'Tidak Buka 24 Jam',
alamat TEXT NOT NULL DEFAULT '',
lat DECIMAL(10,7) NOT NULL,
lng DECIMAL(10,7) NOT NULL,
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 jalan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL,
status ENUM('Nasional','Provinsi','Kabupaten') NOT NULL DEFAULT 'Kabupaten',
panjang DECIMAL(12,2) NOT NULL DEFAULT 0,
koordinat LONGTEXT NOT NULL,
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 parsil (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(200) NOT NULL,
pemilik VARCHAR(200) NOT NULL,
status ENUM('SHM','HGB','Sewa','Lainnya') NOT NULL DEFAULT 'SHM',
luas DECIMAL(14,2) NOT NULL DEFAULT 0,
koordinat LONGTEXT NOT NULL,
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 kemiskinan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_kk VARCHAR(200) NOT NULL,
jumlah_kk INT NOT NULL DEFAULT 1,
alamat TEXT NOT NULL,
lat DECIMAL(10,7) NOT NULL,
lng DECIMAL(10,7) NOT NULL,
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 masjid (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_masjid VARCHAR(200) NOT NULL,
pic_masjid VARCHAR(200) NOT NULL,
alamat_masjid TEXT NOT NULL,
radius INT NOT NULL DEFAULT 500,
lat DECIMAL(10,7) NOT NULL,
lng DECIMAL(10,7) 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` (`nama`, `no`, `status`, `lat`, `lng`) VALUES
('SPBU Ahmad Yani', '64.781.01', 'Ya', -0.043513, 109.336423),
('SPBU Komyos Sudarso', '64.781.18', 'Tidak', -0.015243, 109.317540),
('SPBU Kapuas Indah', '64.781.14', 'Ya', -0.027581, 109.360541),
('SPBU Imam Bonjol', '64.781.19', 'Tidak', -0.038180, 109.349692),
('SPBU Gajah Mada', '64.781.11', 'Ya', -0.032159, 109.343513),
('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
// Script untuk otomatis setup database jika menggunakan Nixpacks
// Script untuk otomatis setup database
error_reporting(E_ALL);
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');
if ($conn->multi_query($sql_webgis)) {
do {
// clear results
if ($res = $conn->store_result()) {
$res->free();
}
@@ -31,6 +30,22 @@ if ($conn->multi_query($sql_webgis)) {
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
echo "<h2>2. Setup Database Kemiskinan & Ibadah</h2>";
$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');
if ($conn->multi_query($sql_webtugas)) {
do {
// clear results
if ($res = $conn->store_result()) {
$res->free();
}