fix database configuration for Coolify

This commit is contained in:
Anderi Saputra
2026-06-10 17:30:26 +07:00
parent adec71e763
commit 46f02da04a
6 changed files with 103 additions and 36 deletions
+20 -11
View File
@@ -1,18 +1,27 @@
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "db_kemiskinan";
mysqli_report(MYSQLI_REPORT_OFF);
// 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]));
$host = getenv('KEMISKINAN_DB_HOST') ?: (getenv('DB_HOST') ?: '127.0.0.1');
$port = (int) (getenv('KEMISKINAN_DB_PORT') ?: (getenv('DB_PORT') ?: 3306));
$user = getenv('KEMISKINAN_DB_USER') ?: (getenv('DB_USER') ?: 'root');
$pass = getenv('KEMISKINAN_DB_PASSWORD');
$pass = $pass !== false ? $pass : (getenv('DB_PASSWORD') ?: '');
$dbname = getenv('KEMISKINAN_DB_NAME') ?: 'db_kemiskinan';
$conn = new mysqli($host, $user, $pass, '', $port);
if ($conn->connect_errno) {
http_response_code(500);
die('Koneksi database Kemiskinan gagal. Periksa environment variable database di Coolify.');
}
// Create database if not exist
$conn->query("CREATE DATABASE IF NOT EXISTS `$dbname`");
$conn->select_db($dbname);
if (!$conn->select_db($dbname)) {
if (!$conn->query("CREATE DATABASE IF NOT EXISTS `$dbname`") || !$conn->select_db($dbname)) {
http_response_code(500);
die("Database Kemiskinan belum tersedia. Buat database `$dbname` atau gunakan akun yang memiliki izin CREATE DATABASE.");
}
}
$conn->set_charset('utf8mb4');
// Auto-create tables if not exist
$conn->query("CREATE TABLE IF NOT EXISTS tb_admin (
+12 -7
View File
@@ -1,24 +1,29 @@
<?php
$host = "localhost";
$user = "root";
$pass = "";
mysqli_report(MYSQLI_REPORT_OFF);
$host = getenv('KEMISKINAN_DB_HOST') ?: (getenv('DB_HOST') ?: '127.0.0.1');
$port = (int) (getenv('KEMISKINAN_DB_PORT') ?: (getenv('DB_PORT') ?: 3306));
$user = getenv('KEMISKINAN_DB_USER') ?: (getenv('DB_USER') ?: 'root');
$pass = getenv('KEMISKINAN_DB_PASSWORD');
$pass = $pass !== false ? $pass : (getenv('DB_PASSWORD') ?: '');
$dbname = getenv('KEMISKINAN_DB_NAME') ?: 'db_kemiskinan';
// Koneksi tanpa DB dulu untuk buat DB jika belum ada
$conn = new mysqli($host, $user, $pass);
$conn = new mysqli($host, $user, $pass, '', $port);
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
// 1. Buat Database
$sql_db = "CREATE DATABASE IF NOT EXISTS db_kemiskinan";
$sql_db = "CREATE DATABASE IF NOT EXISTS `$dbname`";
if ($conn->query($sql_db) === TRUE) {
echo "Database db_kemiskinan siap.<br>";
echo "Database $dbname siap.<br>";
} else {
echo "Error membuat database: " . $conn->error . "<br>";
}
// Gunakan database tersebut
$conn->select_db("db_kemiskinan");
$conn->select_db($dbname);
// 2. Buat Tabel tb_admin
$sql_admin = "CREATE TABLE IF NOT EXISTS tb_admin (