Trennung Testdaten und Livedaten
Dieser Commit ist enthalten in:
93
JOURNAL.md
93
JOURNAL.md
@@ -2186,4 +2186,95 @@ docker-compose up -d
|
||||
- `v2_adminpanel/migrate_license_keys.sql` - Migrations-Script (temporär)
|
||||
- `v2_adminpanel/fix_license_keys.sql` - Korrektur-Script (temporär)
|
||||
|
||||
**Status:** ✅ Alle Lizenzschlüssel erfolgreich migriert
|
||||
**Status:** ✅ Alle Lizenzschlüssel erfolgreich migriert
|
||||
|
||||
### 2025-06-09: Test-Flag für Lizenzen implementiert
|
||||
|
||||
**Ziel:**
|
||||
- Klare Trennung zwischen Testdaten und echten Produktivdaten
|
||||
- Testdaten sollen von der Software ignoriert werden können
|
||||
- Bessere Übersicht im Admin Panel
|
||||
|
||||
**Durchgeführte Änderungen:**
|
||||
|
||||
1. **Datenbank-Schema (init.sql):**
|
||||
- Neue Spalte `is_test BOOLEAN DEFAULT FALSE` zur `licenses` Tabelle hinzugefügt
|
||||
- Migration für bestehende Daten: Alle werden als `is_test = TRUE` markiert
|
||||
- Index `idx_licenses_is_test` für bessere Performance
|
||||
|
||||
2. **Backend (app.py):**
|
||||
- Dashboard-Queries filtern Testdaten mit `WHERE is_test = FALSE` aus
|
||||
- Lizenz-Erstellung: Neues Checkbox-Feld für Test-Markierung
|
||||
- Lizenz-Bearbeitung: Test-Status kann geändert werden
|
||||
- Export: Optional mit/ohne Testdaten (`?include_test=true`)
|
||||
- Bulk-Operationen: Nur auf Live-Daten anwendbar
|
||||
- Neue Filter in Lizenzliste: "🧪 Testdaten" und "🚀 Live-Daten"
|
||||
|
||||
3. **Frontend Templates:**
|
||||
- **index.html**: Checkbox "Als Testdaten markieren" bei Lizenzerstellung
|
||||
- **edit_license.html**: Checkbox zum Ändern des Test-Status
|
||||
- **licenses.html**: Badge 🧪 für Testdaten, neue Filteroptionen
|
||||
- **dashboard.html**: Info-Box zeigt Anzahl der Testdaten
|
||||
- **batch_form.html**: Option für Batch-Test-Lizenzen
|
||||
|
||||
4. **Audit-Log Integration:**
|
||||
- `is_test` Feld wird bei CREATE/UPDATE geloggt
|
||||
- Nachvollziehbarkeit von Test/Live-Status-Änderungen
|
||||
|
||||
**Technische Details:**
|
||||
- Testdaten werden in allen Statistiken ausgefiltert
|
||||
- License Server API wird Lizenzen mit `is_test = TRUE` ignorieren
|
||||
- Resource Pool bleibt unverändert (kann Test- und Live-Ressourcen verwalten)
|
||||
|
||||
**Migration der bestehenden Daten:**
|
||||
```sql
|
||||
UPDATE licenses SET is_test = TRUE; -- Alle aktuellen Daten sind Testdaten
|
||||
```
|
||||
|
||||
**Status:** ✅ Implementiert
|
||||
|
||||
### 2025-06-09: Test-Flag für Kunden und Resource Pools erweitert
|
||||
|
||||
**Ziel:**
|
||||
- Konsistentes Test-Daten-Management über alle Entitäten
|
||||
- Kunden und Resource Pools können ebenfalls als Testdaten markiert werden
|
||||
- Automatische Verknüpfung: Test-Kunde → Test-Lizenzen → Test-Ressourcen
|
||||
|
||||
**Durchgeführte Änderungen:**
|
||||
|
||||
1. **Datenbank-Schema erweitert:**
|
||||
- `customers.is_test BOOLEAN DEFAULT FALSE` hinzugefügt
|
||||
- `resource_pools.is_test BOOLEAN DEFAULT FALSE` hinzugefügt
|
||||
- Indizes für bessere Performance erstellt
|
||||
- Migrations in init.sql integriert
|
||||
|
||||
2. **Backend (app.py) - Erweiterte Logik:**
|
||||
- Dashboard: Separate Zähler für Test-Kunden und Test-Ressourcen
|
||||
- Kunde-Erstellung: Erbt Test-Status von Lizenz
|
||||
- Test-Kunde erzwingt Test-Lizenzen
|
||||
- Resource-Zuweisung: Test-Lizenzen bekommen nur Test-Ressourcen
|
||||
- Customer-Management mit is_test Filter
|
||||
|
||||
3. **Frontend Updates:**
|
||||
- **customers.html**: 🧪 Badge für Test-Kunden
|
||||
- **edit_customer.html**: Checkbox für Test-Status
|
||||
- **dashboard.html**: Erweiterte Test-Statistik (Lizenzen, Kunden, Ressourcen)
|
||||
|
||||
4. **Geschäftslogik:**
|
||||
- Wenn neuer Kunde bei Test-Lizenz erstellt wird → automatisch Test-Kunde
|
||||
- Wenn Test-Kunde gewählt wird → Lizenz automatisch als Test markiert
|
||||
- Resource Pool Allocation prüft Test-Status für korrekte Zuweisung
|
||||
|
||||
**Migration der bestehenden Daten:**
|
||||
```sql
|
||||
UPDATE customers SET is_test = TRUE; -- 5 Kunden
|
||||
UPDATE resource_pools SET is_test = TRUE; -- 20 Ressourcen
|
||||
```
|
||||
|
||||
**Technische Details:**
|
||||
- Konsistente Test/Live-Trennung über alle Ebenen
|
||||
- Dashboard-Statistiken zeigen nur Live-Daten
|
||||
- Test-Ressourcen werden nur Test-Lizenzen zugewiesen
|
||||
- Alle bestehenden Daten sind jetzt als Test markiert
|
||||
|
||||
**Status:** ✅ Vollständig implementiert
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren