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

74 Zeilen
2.5 KiB
Markdown

# Verbleibende Datenbankfeld-Inkonsistenzen
## Status der Bereinigung
### ✅ Vollständig behoben:
1. **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)
2. **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:
1. **API-Routes korrigiert**:
- JOINs eingefügt um license_key über license_id zu erhalten
- `first_seen as registration_date` Aliase hinzugefügt
- INSERT nutzt jetzt `license_id` statt `license_key`
2. **Export-Routes korrigiert**:
- Letzte `device_id` Referenzen zu `hardware_id` geändert
3. **Session-Routes korrigiert**:
- Statistik-Queries nutzen jetzt korrekte Feldnamen
### 📋 Noch zu erledigen:
1. **Datenbank-Migration ausführen**:
```sql
-- Sessions Kompatibilitäts-View
psql -f create_compatibility_views.sql
-- Device Registrations Fixes
psql -f fix_device_registrations.sql
```
2. **Fehlende Spalten hinzufügen** (optional):
```sql
ALTER TABLE device_registrations
ADD COLUMN device_type VARCHAR(50) DEFAULT 'unknown';
```
3. **Doppelte Spalten entfernen** (nach erfolgreichen Tests):
```sql
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.