18 lines
851 B
Markdown
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:
|