3.2 KiB
3.2 KiB
Datenbank-Konfiguration MYP Platform
Übersicht
Die MYP Platform verwendet ausschließlich eine SQLite-Datenbank:
database/myp.db
Konfiguration
Haupt-Konfiguration
- Datei:
config/settings.py
- Variable:
DATABASE_PATH = os.path.join(BASE_DIR, "database", "myp.db")
- Engine: SQLite mit WAL-Modus (Write-Ahead Logging)
Sichergestellte Konsistenz
Alle folgenden Dateien wurden korrigiert, um ausschließlich database/myp.db
zu verwenden:
✅ Konfigurationsdateien
config/settings.py
- Haupt-Konfigurationconfig/app_config.py
- Alternative Flask-Konfiguration (korrigiert)
✅ Model- und Datenbankdateien
models.py
- Hauptmodelle und Engine-Konfigurationdatabase/db_manager.py
- Datenbank-Manager
✅ Utilities und Tools
utils/migrate_db.py
- Datenbank-Migration (Legacy-Fallbacks entfernt)utils/quick_fix.py
- Schnelle Reparatur-Tools (korrigiert)utils/debug_drucker_erkennung.py
- Debug-Tools (korrigiert)utils/database_utils.py
- Backup und Wartungutils/database_cleanup.py
- Cleanup-Managerutils/database_schema_migration.py
- Schema-Migration
Entfernte/Korrigierte Inkonsistenzen
🗑️ Gelöschte Dateien
database/production.db
(leer, 0KB) - entfernt
🔧 Korrigierte Fallbacks
- Entfernt: Referenzen zu
app.db
,database.db
,data/myp_platform.db
- Korrigiert: Tabellennamen von
printer
zuprinters
- Vereinheitlicht: Alle Import-Pfade verwenden
config.settings.DATABASE_PATH
Verwendung
Datenbank initialisieren
from models import init_db
init_db()
Session verwenden
from models import get_cached_session
with get_cached_session() as session:
# Datenbankoperationen
pass
Backup erstellen
from utils.database_utils import DatabaseBackupManager
backup_manager = DatabaseBackupManager()
backup_manager.create_backup()
Optimierungen
Die Datenbank ist für Produktionsumgebung optimiert:
- WAL-Modus: Write-Ahead Logging für bessere Performance
- Connection Pooling: Optimierte Verbindungsverwaltung
- Caching: Intelligent caching system für häufige Abfragen
- Auto-Vacuum: Automatische Speicherbereinigung
- Indizierung: Optimierte Indizes für bessere Performance
Wartung
Automatische Wartung
- WAL-Checkpoints alle 1000 Seiten
- Incremental Vacuum alle 60 Minuten
- Statistik-Updates alle 30 Minuten
Manuelle Wartung
# Migration ausführen
python utils/migrate_db.py
# Schnelle Reparatur
python utils/quick_fix.py
# Diagnose
python utils/debug_drucker_erkennung.py
Wichtige Hinweise
⚠️ NUR database/myp.db
verwenden!
- Keine anderen Datenbankdateien verwenden
- Alle Tools und Scripts sind auf diese Datei konfiguriert
- Bei Problemen: Backup aus
database/backups/
verwenden
🔒 Backup-Strategie
- Automatische Backups in
database/backups/
- Vor größeren Operationen manuelles Backup erstellen
- WAL- und SHM-Dateien gehören zur Datenbank (nicht löschen!)
📊 Monitoring
- Log-Dateien in
logs/app/
- Performance-Monitoring via
utils/database_utils.py
- Health-Checks über API-Endpunkte verfügbar