Install Database UAS SIG"; 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); // Untuk Coolify normal user: database sudah dibuat lewat Initial Database, // jadi baris CREATE DATABASE dan USE database dihapus dari dump. $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); // Hindari duplikasi akun admin kalau installer terbuka ulang. $sql = str_replace( "INSERT INTO users (nama_lengkap, username, email, password, role) VALUES", "INSERT IGNORE INTO users (nama_lengkap, username, email, password, role) VALUES", $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.
Import gagal: " . htmlspecialchars($conn->error) . "
"; } $conn->close(); ?>