v1.9.19: S88/write_data.py - self-heal CREATE TABLE IF NOT EXISTS

Protège contre le cas où l'OTA n'appelle pas create_db.py (problème
bash classique: le script d'OTA est chargé en mémoire au lancement,
le git pull du step 1 met à jour le fichier sur disque mais bash
continue d'exécuter l'ancienne version).

Le script crée la table data_S88 lui-même au démarrage. Schéma dupliqué
de create_db.py — à garder synchro. Pattern à appliquer aux futurs
capteurs pour éviter cette classe de bug.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-06-01 17:12:53 +02:00
parent 4e5e1a8144
commit 4767b145b2
3 changed files with 23 additions and 1 deletions

View File

@@ -83,6 +83,15 @@ def main():
conn = sqlite3.connect(DB_PATH)
cursor = conn.cursor()
# Self-heal: ensure the table exists even if create_db.py was skipped during OTA.
# Duplicates the canonical schema from sqlite/create_db.py — keep them in sync.
cursor.execute("""
CREATE TABLE IF NOT EXISTS data_S88 (
timestamp TEXT,
CO2 INTEGER
)
""")
port = get_config(cursor, "S88_port", DEFAULT_PORT)
try: