Files
tft/.planer/einheiten/backend__tft__db.py.md
2026-07-24 11:24:24 +02:00

18 lines
851 B
Markdown

# Einheiten: backend/tft/db.py
stand: f41ac76b5789
## backend/tft/db.py::connect
beschreibung: Stellt eine SQLite-Verbindung zur Match-Datenbank her und initialisiert das Schema.
input: impliziter Datenbankpfad aus tft.paths.MATCHES_DB
output: eine geöffnete sqlite3.Connection mit ausgeführtem SCHEMA
entscheidungen:
- Das Datenverzeichnis wird vor dem Verbindungsaufbau angelegt, falls es fehlt.
beleg: "paths.DATA.mkdir(parents=True, exist_ok=True)"
- Das Schema wird bei jeder Verbindung idempotent per executescript angewendet.
beleg: "conn.executescript(SCHEMA)"
- Die Tabellen nutzen CREATE TABLE IF NOT EXISTS, wodurch Reinitialisierungen gefahrlos sind.
beleg: "CREATE TABLE IF NOT EXISTS matches"
- candidates_log wird im Schema nicht definiert und damit bewusst ausgelassen.
beleg: "CREATE TABLE IF NOT EXISTS crawl_log"
kanten: