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
+2 -1
View File
@@ -8,7 +8,8 @@ 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',
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,
+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();
}