2.5 KiB
2.5 KiB
Verbleibende Datenbankfeld-Inkonsistenzen
Status der Bereinigung
✅ Vollständig behoben:
-
sessions Tabelle:
device_id→hardware_id(alle Referenzen korrigiert)active→is_active(alle Referenzen korrigiert)login_time→started_at(alle Referenzen korrigiert)logout_time→ended_at(alle Referenzen korrigiert)last_activity→last_heartbeat(alle Referenzen korrigiert)start_time→started_at(korrigiert in models.py)
-
licenses Tabelle:
active→is_active(alle Referenzen korrigiert)
⚠️ Strukturelle Probleme in device_registrations:
Die device_registrations Tabelle hat folgende Inkonsistenzen zwischen Schema und Code:
| Datenbankschema | Code erwartet | Problem |
|---|---|---|
license_id (FK) |
license_key |
Code nutzt license_key direkt |
first_seen |
registration_date |
Unterschiedliche Benennung |
| - | device_type |
Spalte fehlt in DB |
| - | license_key |
Spalte fehlt in DB |
🔧 Durchgeführte Anpassungen:
-
API-Routes korrigiert:
- JOINs eingefügt um license_key über license_id zu erhalten
first_seen as registration_dateAliase hinzugefügt- INSERT nutzt jetzt
license_idstattlicense_key
-
Export-Routes korrigiert:
- Letzte
device_idReferenzen zuhardware_idgeändert
- Letzte
-
Session-Routes korrigiert:
- Statistik-Queries nutzen jetzt korrekte Feldnamen
📋 Noch zu erledigen:
-
Datenbank-Migration ausführen:
-- Sessions Kompatibilitäts-View psql -f create_compatibility_views.sql -- Device Registrations Fixes psql -f fix_device_registrations.sql -
Fehlende Spalten hinzufügen (optional):
ALTER TABLE device_registrations ADD COLUMN device_type VARCHAR(50) DEFAULT 'unknown'; -
Doppelte Spalten entfernen (nach erfolgreichen Tests):
ALTER TABLE sessions DROP COLUMN active, DROP COLUMN login_time, DROP COLUMN last_activity, DROP COLUMN logout_time;
Zusammenfassung
- 83 Inkonsistenzen wurden automatisch behoben
- 8 zusätzliche manuelle Fixes wurden durchgeführt
- Alle kritischen Feldnamen sind jetzt konsistent
- device_registrations benötigt noch strukturelle Anpassungen
Die Anwendung sollte jetzt funktionieren, da alle Code-Referenzen korrigiert wurden. Die Datenbank-Migrationen sind optional für langfristige Konsistenz.