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 "
⚙️ Memulai Proses Migrasi Database Otomatis...
";
foreach ($daftar_migrasi as $db_name => $sql_file) {
if (!file_exists($sql_file)) {
echo "⚠️ File $sql_file tidak ditemukan di folder proyek, dilewati.
";
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 $db_name berhasil dibuat dan seluruh data dari file $sql_file sukses diimpor!
";
} else {
echo "❌ Gagal mengimpor database $db_name: " . $conn->error . "
";
}
}
echo "
⚠️ 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!
";