Phase 5: Projekt-/Media-/Plugin-API im Control Core (§23.1, §13.3)
- Projekte: CRUD + Activate (State-Store-Revision), §23.1/§24.2 - Medien: Import mit Duplikaterkennung (§13.3), Liste mit Missing-Markierung (§13.2) - Plugins: Listing nach Lifecycle-Status gruppiert (§14.5), Enable mit Lifecycle-Advancement, 404 bei unbekanntem Plugin - Art-Net-Status-Endpunkt (§23.1) - Diagnostics erweitert um State-/Projekt-Revisionen (§28.2) - Commands schreiben jetzt auch in den State-Store (§6.4) - SQLite check_same_thread=False für FastAPI async handlers - python-multipart für UploadFile hinzugefügt - Discovery-Fix: Builtin-Plugins nach Kategorie-Unterverzeichnissen (generators/, filters/) durchsuchen statt nur Direktkinder - 8 neue Integrationstests: Projekt-CRUD-Roundtrip, Activate, Media-Import mit Duplikat, Plugin-Listing (10+14 verifiziert), Enable-404, Diagnostics-Revisionen - Gesamtsuite 557 grün, Ruff grün
This commit is contained in:
@@ -94,7 +94,7 @@ class Database:
|
||||
def open(self, integrity_check: bool = True) -> None:
|
||||
"""Öffnet die DB: WAL, Foreign Keys, Busy-Timeout, Integritätscheck."""
|
||||
self._path.parent.mkdir(parents=True, exist_ok=True)
|
||||
self._conn = sqlite3.connect(self._path, timeout=5.0)
|
||||
self._conn = sqlite3.connect(self._path, timeout=5.0, check_same_thread=False)
|
||||
self._conn.execute("PRAGMA journal_mode=WAL") # §24.1
|
||||
self._conn.execute("PRAGMA foreign_keys=ON") # §24.1
|
||||
self._conn.execute("PRAGMA busy_timeout=5000")
|
||||
|
||||
Reference in New Issue
Block a user