63 lines
2.2 KiB
PHP
63 lines
2.2 KiB
PHP
<?php
|
|
$host = "localhost";
|
|
$user = "root";
|
|
$pass = "";
|
|
$dbname = "db_infrastruktur";
|
|
|
|
// Auto-create database if not exists
|
|
$conn = new mysqli($host, $user, $pass);
|
|
if ($conn->connect_error) {
|
|
die(json_encode(['error' => 'Koneksi MySQL gagal: ' . $conn->connect_error]));
|
|
}
|
|
|
|
// Create database if not exist
|
|
$conn->query("CREATE DATABASE IF NOT EXISTS `$dbname`");
|
|
$conn->select_db($dbname);
|
|
|
|
// Auto-create tables if not exist
|
|
$conn->query("CREATE TABLE IF NOT EXISTS tb_admin (
|
|
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
|
username VARCHAR(50) NOT NULL UNIQUE,
|
|
password VARCHAR(255) NOT NULL,
|
|
role VARCHAR(50) NOT NULL DEFAULT 'infrastruktur'
|
|
)");
|
|
|
|
$conn->query("CREATE TABLE IF NOT EXISTS tb_spbu (
|
|
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
|
nama_spbu VARCHAR(150) NOT NULL,
|
|
no_wa VARCHAR(20) DEFAULT NULL,
|
|
buka_24jam ENUM('Ya','Tidak') DEFAULT 'Tidak',
|
|
latitude DECIMAL(11,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
|
|
)");
|
|
|
|
$conn->query("CREATE TABLE IF NOT EXISTS tb_jalan (
|
|
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
|
nama_jalan VARCHAR(200) NOT NULL,
|
|
status_jalan ENUM('Nasional','Provinsi','Kabupaten') NOT NULL,
|
|
panjang_jalan VARCHAR(50) DEFAULT NULL,
|
|
geojson LONGTEXT NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
)");
|
|
|
|
$conn->query("CREATE TABLE IF NOT EXISTS tb_kavling (
|
|
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
|
nama_kavling VARCHAR(200) NOT NULL,
|
|
status_kepemilikan ENUM('SHM','HGB','HGU','HP') NOT NULL,
|
|
luas_tanah VARCHAR(50) DEFAULT NULL,
|
|
geojson LONGTEXT NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
)");
|
|
|
|
// Insert default admin if not exist
|
|
$check = $conn->query("SELECT id FROM tb_admin WHERE username='admin'");
|
|
if ($check && $check->num_rows == 0) {
|
|
$pw = password_hash("password", PASSWORD_DEFAULT);
|
|
$conn->query("INSERT INTO tb_admin (username, password, role) VALUES ('admin', '$pw', 'infrastruktur')");
|
|
}
|
|
?>
|