62 lines
2.7 KiB
PHP
62 lines
2.7 KiB
PHP
<?php
|
|
error_reporting(E_ALL);
|
|
ini_set('display_errors', 1);
|
|
|
|
function importSqlFile($host, $port, $user, $pass, $dbname, $filepath) {
|
|
echo "<h3>Memulai impor untuk database: <strong>$dbname</strong> dari $filepath...</h3>";
|
|
|
|
// Koneksi ke MySQL
|
|
$conn = @new mysqli($host, $user, $pass, '', $port);
|
|
if ($conn->connect_error) {
|
|
die("<span style='color:red;'>Koneksi ke host $host:$port gagal: " . $conn->connect_error . "</span><br>");
|
|
}
|
|
|
|
// Buat database jika belum ada
|
|
$conn->query("CREATE DATABASE IF NOT EXISTS `$dbname`");
|
|
if (!$conn->select_db($dbname)) {
|
|
die("<span style='color:red;'>Gagal memilih database $dbname: " . $conn->error . "</span><br>");
|
|
}
|
|
|
|
if (!file_exists($filepath)) {
|
|
die("<span style='color:red;'>File SQL $filepath tidak ditemukan.</span><br>");
|
|
}
|
|
|
|
$sql = file_get_contents($filepath);
|
|
|
|
// Jalankan query secara multi-query
|
|
if ($conn->multi_query($sql)) {
|
|
do {
|
|
if ($result = $conn->store_result()) {
|
|
$result->free();
|
|
}
|
|
} while ($conn->next_result());
|
|
echo "<span style='color:green;'>Sukses mengimpor data ke database $dbname!</span><br><br>";
|
|
} else {
|
|
echo "<span style='color:red;'>Gagal mengimpor ke database $dbname: " . $conn->error . "</span><br><br>";
|
|
}
|
|
$conn->close();
|
|
}
|
|
|
|
// 1. Ambil koneksi untuk infrastruktur
|
|
$infra_host = getenv('INFRA_DB_HOST') ?: (getenv('DB_HOST') ?: '127.0.0.1');
|
|
$infra_port = (int) (getenv('INFRA_DB_PORT') ?: (getenv('DB_PORT') ?: 3306));
|
|
$infra_user = getenv('INFRA_DB_USER') ?: (getenv('DB_USER') ?: 'root');
|
|
$infra_pass = getenv('INFRA_DB_PASSWORD');
|
|
$infra_pass = $infra_pass !== false ? $infra_pass : (getenv('DB_PASSWORD') ?: '');
|
|
$infra_dbname = getenv('INFRA_DB_NAME') ?: 'db_infrastruktur';
|
|
|
|
importSqlFile($infra_host, $infra_port, $infra_user, $infra_pass, $infra_dbname, __DIR__ . '/infrastruktur.sql');
|
|
|
|
// 2. Ambil koneksi untuk kemiskinan
|
|
$kemiskinan_host = getenv('KEMISKINAN_DB_HOST') ?: (getenv('DB_HOST') ?: '127.0.0.1');
|
|
$kemiskinan_port = (int) (getenv('KEMISKINAN_DB_PORT') ?: (getenv('DB_PORT') ?: 3306));
|
|
$kemiskinan_user = getenv('KEMISKINAN_DB_USER') ?: (getenv('DB_USER') ?: 'root');
|
|
$kemiskinan_pass = getenv('KEMISKINAN_DB_PASSWORD');
|
|
$kemiskinan_pass = $kemiskinan_pass !== false ? $kemiskinan_pass : (getenv('DB_PASSWORD') ?: '');
|
|
$kemiskinan_dbname = getenv('KEMISKINAN_DB_NAME') ?: 'db_kemiskinan';
|
|
|
|
importSqlFile($kemiskinan_host, $kemiskinan_port, $kemiskinan_user, $kemiskinan_pass, $kemiskinan_dbname, __DIR__ . '/kemiskinan.sql');
|
|
|
|
echo "<h2>Proses selesai! Silakan hapus file ini (import.php) serta file SQL dari Git demi keamanan setelah Anda sukses menjalankannya di server.</h2>";
|
|
?>
|