From 0b3254526e652ffbcb8ed0ae3ec23fedf2ebaa55 Mon Sep 17 00:00:00 2001 From: Monarch055 Date: Thu, 11 Jun 2026 09:55:59 +0700 Subject: [PATCH] fix: revert db to plain mysql image, remove *.sql from gitignore --- .gitignore | 4 +-- docker-compose.yaml | 4 +-- docker/db/init.sql | 37 ++++++++++++++++++++++++++++ parsil-tanah/schema_jalan_parsil.sql | 22 +++++++++++++++++ 4 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 docker/db/init.sql create mode 100644 parsil-tanah/schema_jalan_parsil.sql diff --git a/.gitignore b/.gitignore index c41600d..deca38f 100644 --- a/.gitignore +++ b/.gitignore @@ -47,8 +47,8 @@ sistem-km-next/*.md sistem-km-next/Laporan sistem-km-next/sistem-km-old -# general databases dumps -*.sql +# general databases dumps (keep specific dump files out, but allow schema files) +# *.sql <-- removed: init.sql must be committed for Docker build context # local docker compose override config docker-compose.override.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml index b208cd1..46f3ed4 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -37,9 +37,7 @@ services: # 3. MySQL Database Service db: - build: - context: . - dockerfile: ./docker/db/Dockerfile + image: mysql:8.0 container_name: gis_db command: --default-authentication-plugin=mysql_native_password # No host port mapping - DB is only accessible internally via gis-network diff --git a/docker/db/init.sql b/docker/db/init.sql new file mode 100644 index 0000000..12254f0 --- /dev/null +++ b/docker/db/init.sql @@ -0,0 +1,37 @@ +-- Create database if it does not exist +CREATE DATABASE IF NOT EXISTS spbu_db; +USE spbu_db; + +-- 1. Create tb_jalan table (for road coordinates and metadata) +CREATE TABLE IF NOT EXISTS tb_jalan ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_jalan VARCHAR(255) NOT NULL, + status_jalan ENUM('Jalan Nasional', 'Jalan Provinsi', 'Jalan Kabupaten') NOT NULL, + panjang_meter DOUBLE NOT NULL DEFAULT 0, + koordinat JSON NOT NULL, + created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +-- 2. Create tb_parsil table (for land coordinates and ownership metadata) +CREATE TABLE IF NOT EXISTS tb_parsil ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_pemilik VARCHAR(255) NOT NULL, + status_kepemilikan ENUM('SHM', 'HGB', 'HGU', 'HP') NOT NULL, + luas_m2 DOUBLE NOT NULL DEFAULT 0, + koordinat JSON NOT NULL, + created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +-- 3. Create SPBU table (for gas station coordinates and metadata) +CREATE TABLE IF NOT EXISTS SPBU ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama VARCHAR(255) NOT NULL, + nomor VARCHAR(255) NOT NULL, + status VARCHAR(255) NOT NULL, + Latitude DOUBLE NOT NULL, + Longitude DOUBLE NOT NULL, + created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); diff --git a/parsil-tanah/schema_jalan_parsil.sql b/parsil-tanah/schema_jalan_parsil.sql new file mode 100644 index 0000000..e995d4d --- /dev/null +++ b/parsil-tanah/schema_jalan_parsil.sql @@ -0,0 +1,22 @@ +-- Run this in your `spbu_db` database. +-- If your MySQL version does not support JSON columns, change `koordinat JSON` to `koordinat TEXT`. + +CREATE TABLE IF NOT EXISTS tb_jalan ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_jalan VARCHAR(255) NOT NULL, + status_jalan ENUM('Jalan Nasional','Jalan Provinsi','Jalan Kabupaten') NOT NULL, + panjang_meter DOUBLE NOT NULL DEFAULT 0, + koordinat JSON NOT NULL, + created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +CREATE TABLE IF NOT EXISTS tb_parsil ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_pemilik VARCHAR(255) NOT NULL, + status_kepemilikan ENUM('SHM','HGB','HGU','HP') NOT NULL, + luas_m2 DOUBLE NOT NULL DEFAULT 0, + koordinat JSON NOT NULL, + created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +);