Fix daily_summary dan hourly_summary aggregation, tambah fallback logic untuk dashboard, update validator untuk camera dan location type
This commit is contained in:
80
bin/test_db_connection.php
Normal file
80
bin/test_db_connection.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* Script untuk test koneksi database
|
||||
* Usage: php bin/test_db_connection.php
|
||||
*/
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
use App\Config\AppConfig;
|
||||
use App\Support\Database;
|
||||
|
||||
// Load environment variables
|
||||
AppConfig::loadEnv(__DIR__ . '/..');
|
||||
|
||||
echo "=== Test Koneksi Database ===\n\n";
|
||||
|
||||
// Get database connection
|
||||
$dbHost = AppConfig::get('DB_HOST', 'localhost');
|
||||
$dbName = AppConfig::get('DB_NAME', '');
|
||||
$dbUser = AppConfig::get('DB_USER', '');
|
||||
$dbPass = AppConfig::get('DB_PASS', '');
|
||||
|
||||
echo "Konfigurasi Database:\n";
|
||||
echo " Host: {$dbHost}\n";
|
||||
echo " Database: {$dbName}\n";
|
||||
echo " User: {$dbUser}\n";
|
||||
echo " Password: " . (empty($dbPass) ? '(kosong)' : str_repeat('*', strlen($dbPass))) . "\n\n";
|
||||
|
||||
if (empty($dbName) || empty($dbUser)) {
|
||||
echo "❌ Error: Database credentials tidak lengkap di .env\n";
|
||||
echo " Pastikan DB_NAME dan DB_USER sudah di-set\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
try {
|
||||
echo "Mencoba koneksi ke database...\n";
|
||||
$db = Database::getConnection($dbHost, $dbName, $dbUser, $dbPass);
|
||||
|
||||
echo "✅ Koneksi database BERHASIL!\n\n";
|
||||
|
||||
// Test query sederhana
|
||||
echo "Test query sederhana...\n";
|
||||
$stmt = $db->query("SELECT VERSION() as version, DATABASE() as current_db, NOW() as server_time");
|
||||
$result = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
echo " MySQL Version: {$result['version']}\n";
|
||||
echo " Current Database: {$result['current_db']}\n";
|
||||
echo " Server Time: {$result['server_time']}\n\n";
|
||||
|
||||
// Cek tabel yang ada
|
||||
echo "Mengecek tabel yang ada...\n";
|
||||
$stmt = $db->query("SHOW TABLES");
|
||||
$tables = $stmt->fetchAll(PDO::FETCH_COLUMN);
|
||||
|
||||
if (empty($tables)) {
|
||||
echo " ⚠️ Tidak ada tabel di database ini\n";
|
||||
} else {
|
||||
echo " ✅ Ditemukan " . count($tables) . " tabel:\n";
|
||||
foreach ($tables as $table) {
|
||||
echo " - {$table}\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "\n=== Test Selesai ===\n";
|
||||
|
||||
} catch (\PDOException $e) {
|
||||
echo "❌ Error: Koneksi database GAGAL!\n";
|
||||
echo " Pesan Error: " . $e->getMessage() . "\n";
|
||||
echo "\nKemungkinan penyebab:\n";
|
||||
echo " 1. Database server tidak berjalan\n";
|
||||
echo " 2. Host/Port salah\n";
|
||||
echo " 3. Username/Password salah\n";
|
||||
echo " 4. Database tidak ada\n";
|
||||
echo " 5. User tidak punya akses ke database\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user