Files
WebGIS/migrasi_internal.php
T

49 lines
1.9 KiB
PHP

<?php
// Kredensial ROOT internal Coolify
$host = "b84c4osgw4kcw0wc8o8cg8cg";
$user = "root";
$pass = "yg7eDOyhmHwJaR93A1SdPawY3533dFd8GlIVnVezQiV3IWR5DDc7ApQeIkzKneGL";
$conn = new mysqli($host, $user, $pass);
if ($conn->connect_error) {
die("❌ Gagal koneksi internal server: " . $conn->connect_error);
}
// Pengaturan daftar database dan file SQL-nya
$daftar_migrasi = [
'webgis_db' => 'database_utama.sql',
'webgis_db_pertemuan1' => 'pertemuan1.sql',
'webgis_db_pertemuan2' => 'pertemuan2.sql'
];
echo "<h2>⚙️ Memulai Proses Migrasi Database Otomatis...</h2><hr>";
foreach ($daftar_migrasi as $db_name => $sql_file) {
if (!file_exists($sql_file)) {
echo "⚠️ File <b>$sql_file</b> tidak ditemukan di folder proyek, dilewati.<br>";
continue;
}
// 1. Buat database baru di server jika belum ada
$conn->query("CREATE DATABASE IF NOT EXISTS `$db_name` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;");
$conn->select_db($db_name);
// 2. Baca seluruh isi query di dalam file SQL
$sql_content = file_get_contents($sql_file);
// 3. Eksekusi semua query secara massal (multi_query)
if ($conn->multi_query($sql_content)) {
// Bersihkan data buffer hasil query agar bisa lanjut ke loop berikutnya
do {
if ($result = $conn->store_result()) {
$result->free();
}
} while ($conn->more_results() && $conn->next_result());
echo "✅ Database <b>$db_name</b> berhasil dibuat dan seluruh data dari file <u>$sql_file</u> sukses diimpor!<br>";
} else {
echo "❌ Gagal mengimpor database $db_name: " . $conn->error . "<br>";
}
}
echo "<br><hr><p style='color:red; font-weight:bold;'>⚠️ PENTING: Jika semua database sudah sukses sukses tertulis '✅', SEGERA HAPUS file 'migrasi_internal.php' beserta ketiga file '.sql' tadi dari VS Code Anda, lalu lakukan Commit & Push ulang demi keamanan database server Anda!</p>";