71 Zeilen
2.3 KiB
Markdown
71 Zeilen
2.3 KiB
Markdown
# 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_id` → `hardware_id` in SQL-Parameter
|
|
- Zeile 301: `device_id` → `hardware_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**:
|
|
```bash
|
|
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 |