Install Database Tugas SIG Tiara"; echo "

Target koneksi: " . htmlspecialchars($host) . ":" . htmlspecialchars((string)$port) . ", database: " . htmlspecialchars($db) . ", user: " . htmlspecialchars($user) . "

"; $conn = new mysqli($host, $user, $pass, $db, $port); if ($conn->connect_error) { die("

Koneksi gagal: " . htmlspecialchars($conn->connect_error) . "

"); } $sqlFile = __DIR__ . "/database.sql"; if (!file_exists($sqlFile)) { die("

File SQL tidak ditemukan: " . htmlspecialchars($sqlFile) . "

"); } $sql = file_get_contents($sqlFile); // Coolify normal user biasanya tidak butuh/ tidak punya izin CREATE DATABASE. // Database sudah dibuat dari field Initial Database, jadi baris CREATE DATABASE dan USE diabaikan. $sql = preg_replace('/CREATE\\s+DATABASE\\s+IF\\s+NOT\\s+EXISTS\\s+`?[^`\\s;]+`?.*?;/is', '', $sql); $sql = preg_replace('/USE\\s+`?[^`\\s;]+`?\\s*;/is', '', $sql); // Jika dump hasil copy menjadi komentar seperti "-- 1.\nTABEL ... CREATE TABLE", // buang label teks agar SQL tidak error. $sql = preg_replace('/--\\s*\\d+\\.\\s*TABEL[^\\n]*\\n/is', '', $sql); $sql = preg_replace('/\\bTABEL\\s+(PENGGUNA|RUMAH|BENCANA|DATA)[^;]*?(CREATE\\s+TABLE)/is', '$2', $sql); if ($conn->multi_query($sql)) { do { if ($result = $conn->store_result()) { $result->free(); } } while ($conn->more_results() && $conn->next_result()); if ($conn->errno) { echo "

Ada error saat import: " . htmlspecialchars($conn->error) . "

"; } else { echo "

Database berhasil diimport.

"; echo "

Setelah ini, hapus file install_database.php dari repo lalu redeploy.

"; } } else { echo "

Import gagal: " . htmlspecialchars($conn->error) . "

"; } $conn->close(); ?>