=== PHASE 4 FORENSIC VERIFY ===
could not find driver (Connection: mysql, Host: 127.0.0.1, Port: 3306, Database: grzicofn_sis, SQL: select exists (select 1 from information_schema.tables where table_schema = schema() and table_name = 'finance_settings' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
Illuminate\Database\Connection->runQueryCallback(string, array, object(Closure))Illuminate\Database\Connection->runQueryCallback(string, array, object(Closure))Illuminate\Database\Connection->run(string, array, object(Closure))Illuminate\Database\Connection->select(string, array, boolean)Illuminate\Database\Connection->selectOne(string, array, boolean)Illuminate\Database\Connection->scalar(string)Illuminate\Database\Schema\Builder->hasTable(string)Illuminate\Support\Facades\Facade::__callStatic(string, array)71 'finance_refunds', 'payment_plans', 'payment_plan_installments', 'minimum_payment_rules',
72 'student_clearances', 'result_release_holds', 'payment_transactions', 'payment_webhooks',
73 'finance_waivers', 'finance_penalties', 'student_scholarships', 'finance_ledger_entries',
74];
75foreach ($tables as $t) {
76 $check('database', "Table {$t}", Schema::hasTable($t));
77}
78
79$softDeleteTables = [
80 'fee_categories', 'fee_heads', 'fee_templates', 'fee_structures', 'course_fees',
81 'discounts', 'scholarships', 'bursaries', 'finance_sponsors', 'student_accounts',
82 'finance_invoices', 'finance_payments', 'finance_receipts', 'finance_credit_notes',
83 'finance_debit_notes', 'finance_refunds', 'payment_plans', 'minimum_payment_rules',
84 'student_clearances', 'finance_waivers', 'finance_penalties',
85];
86foreach ($softDeleteTables as $t) {
87 if (! Schema::hasTable($t)) {
88