Feature: Aktive Erinnerungen, Versicherung, Verhaltensprotokoll, Hundefreundliche Orte (SW by-v874)

This commit is contained in:
rene 2026-05-11 22:24:42 +02:00
parent 83034c0db0
commit b818f85f36
11 changed files with 589 additions and 14 deletions

View file

@ -2210,6 +2210,45 @@ def _migrate(conn_factory):
except Exception:
pass
# Versicherungs-Verwaltung
try:
conn.execute("""
CREATE TABLE IF NOT EXISTS dog_insurance (
id INTEGER PRIMARY KEY AUTOINCREMENT,
dog_id INTEGER NOT NULL REFERENCES dogs(id) ON DELETE CASCADE,
anbieter TEXT NOT NULL,
police_nr TEXT,
jahresbeitrag REAL,
kontakt TEXT,
ablaufdatum TEXT,
notizen TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
)
""")
logger.info("Migration: dog_insurance bereit.")
except Exception as e:
logger.warning(f"Migration dog_insurance: {e}")
# Verhaltens-Protokoll
try:
conn.execute("""
CREATE TABLE IF NOT EXISTS behavior_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
dog_id INTEGER NOT NULL REFERENCES dogs(id) ON DELETE CASCADE,
datum TEXT NOT NULL,
uhrzeit TEXT,
kategorie TEXT NOT NULL,
intensitaet INTEGER NOT NULL DEFAULT 3,
trigger TEXT,
notiz TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
)
""")
conn.execute("CREATE INDEX IF NOT EXISTS idx_behavior_dog ON behavior_log(dog_id, datum DESC)")
logger.info("Migration: behavior_log bereit.")
except Exception as e:
logger.warning(f"Migration behavior_log: {e}")
# route_dogs: bestehende Routen allen Hunden des Users zuweisen
try:
existing = conn.execute("SELECT COUNT(*) FROM route_dogs").fetchone()[0]