#!/usr/bin/env php 0, 'rechnungen' => 0]; $fehler = []; foreach ($rechnungen as $r) { try { Invoice::delete((int)$r['id']); $geloescht['rechnungen']++; } catch (\Throwable $e) { $fehler[] = "Rechnung #{$r['id']}: " . $e->getMessage(); } } foreach ($belege as $b) { $id = (int)$b['id']; // Buchungen zuerst – sonst verweigert Beleg::delete() die Löschung. Database::execute('DELETE FROM bookings WHERE beleg_id = ?', [$id]); Database::execute('UPDATE belege SET locked = 0 WHERE id = ?', [$id]); if (Beleg::delete($id)) { $geloescht['belege']++; } else { $fehler[] = "Beleg #{$id} konnte nicht gelöscht werden."; } } echo "\nGelöscht: {$geloescht['belege']} Beleg(e), {$geloescht['rechnungen']} Rechnung(en).\n"; if ($fehler) { echo "Nicht gelöscht:\n"; foreach ($fehler as $f) { echo " - {$f}\n"; } exit(1); }