Files
api-wipay/verify_migration.php

68 lines
1.8 KiB
PHP
Raw Permalink Normal View History

<?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);
}