68 lines
1.8 KiB
PHP
68 lines
1.8 KiB
PHP
|
|
<?php
|
||
|
|
/**
|
||
|
|
* Verify QRIS Migration
|
||
|
|
*/
|
||
|
|
|
||
|
|
require __DIR__ . '/vendor/autoload.php';
|
||
|
|
|
||
|
|
// Load environment variables
|
||
|
|
if (file_exists(__DIR__ . '/.env')) {
|
||
|
|
$lines = file(__DIR__ . '/.env', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||
|
|
foreach ($lines as $line) {
|
||
|
|
if (strpos(trim($line), '#') === 0) continue;
|
||
|
|
if (strpos($line, '=') !== false) {
|
||
|
|
list($key, $value) = explode('=', $line, 2);
|
||
|
|
$_ENV[trim($key)] = trim($value);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
use App\Config\Database;
|
||
|
|
|
||
|
|
try {
|
||
|
|
$db = Database::getInstance();
|
||
|
|
|
||
|
|
echo "📋 Verifikasi Struktur Tabel pembayaran (Field QRIS):\n\n";
|
||
|
|
|
||
|
|
$sql = "SHOW COLUMNS FROM pembayaran WHERE Field LIKE 'qris%'";
|
||
|
|
$columns = $db->fetchAll($sql);
|
||
|
|
|
||
|
|
if (empty($columns)) {
|
||
|
|
echo "❌ Tidak ada field QRIS ditemukan!\n";
|
||
|
|
exit(1);
|
||
|
|
}
|
||
|
|
|
||
|
|
foreach ($columns as $col) {
|
||
|
|
echo "✅ {$col->Field} ({$col->Type})";
|
||
|
|
if ($col->Null === 'YES') {
|
||
|
|
echo " [NULL]";
|
||
|
|
}
|
||
|
|
if ($col->Default !== null) {
|
||
|
|
echo " [DEFAULT: {$col->Default}]";
|
||
|
|
}
|
||
|
|
echo "\n";
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "\n📊 Index QRIS:\n\n";
|
||
|
|
$sql = "SHOW INDEXES FROM pembayaran WHERE Key_name LIKE 'idx_qris%'";
|
||
|
|
$indexes = $db->fetchAll($sql);
|
||
|
|
|
||
|
|
if (empty($indexes)) {
|
||
|
|
echo "⚠️ Tidak ada index QRIS ditemukan!\n";
|
||
|
|
} else {
|
||
|
|
$seen = [];
|
||
|
|
foreach ($indexes as $idx) {
|
||
|
|
if (!in_array($idx->Key_name, $seen)) {
|
||
|
|
echo "✅ {$idx->Key_name} on {$idx->Column_name}\n";
|
||
|
|
$seen[] = $idx->Key_name;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "\n🎉 Verifikasi selesai! Semua field QRIS sudah ada.\n";
|
||
|
|
|
||
|
|
} catch (\Exception $e) {
|
||
|
|
echo "❌ Error: " . $e->getMessage() . "\n";
|
||
|
|
exit(1);
|
||
|
|
}
|