Dateien
Hetzner-Backup/v2_adminpanel/FIELD_FIXES_SUMMARY.md
2025-06-18 19:40:14 +02:00

2.3 KiB

Zusammenfassung der Datenbankfeld-Korrekturen

Durchgeführte Änderungen

1. Automatische Fixes (35 Ersetzungen)

Das Script fix_database_fields.py hat folgende Dateien korrigiert:

  • routes/session_routes.py - 16 Fixes
  • routes/api_routes.py - 10 Fixes
  • routes/export_routes.py - 5 Fixes
  • routes/batch_routes.py - 1 Fix
  • routes/customer_routes.py - 1 Fix
  • models.py - 2 Fixes

2. Manuelle Nachkorrekturen

  • api_routes.py:
    • Zeile 275: device_idhardware_id in SQL-Parameter
    • Zeile 301: device_idhardware_id in Audit-Log
  • batch_routes.py:
    • Zeile 212: SQL "active = %s""is_active = %s"

3. Erstellte Kompatibilitäts-View

File: create_compatibility_views.sql

  • Erstellt eine sessions_compat View mit Aliasen für alte Feldnamen
  • Ermöglicht sanfte Migration ohne Breaking Changes
  • Inkludiert INSERT/UPDATE Trigger für bidirektionale Kompatibilität

Korrigierte Feldnamen

Alte Bezeichnung Neue Bezeichnung Betroffene Tabelle
device_id hardware_id sessions
active is_active sessions, licenses
login_time started_at sessions
last_activity last_heartbeat sessions
logout_time ended_at sessions
start_time started_at sessions

Nächste Schritte

  1. Datenbank-Migration ausführen:

    psql -U postgres -d accountforge -f create_compatibility_views.sql
    
  2. Anwendung testen:

    • Sessions-Verwaltung
    • Lizenz-Status-Änderungen
    • Export-Funktionen
    • Batch-Updates
    • Device-Registrierung
  3. Nach erfolgreichem Test:

    • Doppelte Spalten aus sessions-Tabelle entfernen
    • Kompatibilitäts-View entfernen
    • Code auf direkte Tabellenzugriffe umstellen

Backup-Dateien

Alle geänderten Dateien haben .backup Kopien:

  • routes/session_routes.py.backup
  • routes/api_routes.py.backup
  • routes/export_routes.py.backup
  • routes/batch_routes.py.backup
  • routes/customer_routes.py.backup
  • models.py.backup

Wichtige Hinweise

  • Die sessions-Tabelle hat noch immer doppelte Spalten in der DB
  • Die Kompatibilitäts-View sollte zuerst erstellt werden
  • Alle Änderungen sind rückgängig machbar über die .backup Dateien
  • Der Status-Toggle-Bug sollte jetzt behoben sein