48 lines
1.6 KiB
PHP
48 lines
1.6 KiB
PHP
<?php
|
|
$host = getenv('DB_HOST') ?: '127.0.0.1';
|
|
$user = getenv('DB_USER') ?: 'root';
|
|
$pass = getenv('DB_PASS') ?: '';
|
|
$name = getenv('DB_NAME') ?: 'db_webgis';
|
|
$port = (int)(getenv('DB_PORT') ?: 3306);
|
|
$conn = mysqli_connect($host, $user, $pass, $name, $port);
|
|
if (!$conn) {
|
|
die(json_encode(['status' => 'error', 'message' => 'Koneksi database gagal: ' . mysqli_connect_error()]));
|
|
}
|
|
mysqli_set_charset($conn, 'utf8mb4');
|
|
|
|
if (!isset($GLOBALS['tugas_setup'])) {
|
|
$GLOBALS['tugas_setup'] = true;
|
|
$conn->query("CREATE TABLE IF NOT EXISTS spbu (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL,
|
|
nomor VARCHAR(50),
|
|
status_24jam ENUM('Ya','Tidak') DEFAULT 'Tidak',
|
|
lat DECIMAL(10,7) NOT NULL,
|
|
lng DECIMAL(10,7) NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
$conn->query("CREATE TABLE IF NOT EXISTS jalan (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama_jalan VARCHAR(255) NOT NULL,
|
|
status_jalan VARCHAR(100),
|
|
panjang_m DECIMAL(10,2),
|
|
geojson TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
$conn->query("CREATE TABLE IF NOT EXISTS persil (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nomor_persil VARCHAR(100),
|
|
status_milik VARCHAR(100),
|
|
luas_m2 DECIMAL(10,2),
|
|
geojson TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
$conn->query("CREATE TABLE IF NOT EXISTS wilayah (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255),
|
|
tipe VARCHAR(100),
|
|
geojson TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
}
|