Feature: Übungs-Suche, fehlende Legacy-Übungen nachmigriert (110 gesamt) — SW by-v495, APP_VER 472

This commit is contained in:
rene 2026-04-29 12:26:32 +02:00
parent 4c3638c17c
commit 81ee1a063e
4 changed files with 63 additions and 4 deletions

View file

@ -1433,3 +1433,39 @@ def _migrate(conn_factory):
);
""")
logger.info("Migration: ors_daily_total erstellt.")
# Fehlende Legacy-JS-Übungen nachträglich einfügen
import json as _json
_legacy = [
('trick_platz_decke', 'Platz auf Decke / Matte', 'Trick', 'leicht', '5-10 min',
'Der Hund geht auf Kommando auf seine Decke oder Matte und legt sich hin.',
_json.dumps(['Decke auslegen', 'Hund mit Leckerli auf die Matte locken', 'Markerwort + Leckerli wenn er drauf steht', 'Platz-Signal einbauen', 'Distanz schrittweise erhöhen']),
'Die Matte zum positiven Ort machen, nie erzwingen.'),
('trick_suchspiel', 'Suchspiel / Nasenarbeit', 'Trick', 'leicht', '10-15 min',
'Der Hund sucht versteckte Leckerlis per Nase — mentale Auslastung pur.',
_json.dumps(['Leckerli offen zeigen', 'Hund kurz festhalten, Leckerli verstecken', 'Freigabe-Wort und suchen lassen', 'Schwierigkeit langsam steigern']),
'Nasenarbeit erschöpft mehr als körperliche Aktivität.'),
('pb_nicht_springen2', 'Nicht springen / Begrüßung', 'Problemverhalten', 'leicht', '5-10 min',
'Der Hund begrüßt Menschen ohne hochzuspringen.',
_json.dumps(['Hund ignorieren wenn er springt (Rücken zudrehen)', 'Erst belohnen wenn alle vier Pfoten am Boden', 'Gäste in die Übung einbeziehen', 'Konsequent sein']),
'Alle Familienmitglieder müssen gleich reagieren.'),
('pb_leinenfuehrigkeit', 'Leinenführigkeit — Nicht ziehen', 'Problemverhalten', 'mittel', '10-20 min',
'Der Hund läuft locker an der Leine ohne zu ziehen.',
_json.dumps(['Bei Leinenzug stehen bleiben oder Richtung wechseln', 'Lockere Leine immer belohnen', 'Kurzstrecken üben, nicht lange Spaziergänge']),
'Dauert Wochen konsequentes Üben — Geduld.'),
('pb_bellen_klaffen', 'Bellen / Kläffen', 'Problemverhalten', 'mittel', '10 min',
'Übermäßiges Bellen auf Kommando reduzieren.',
_json.dumps(['Auslöser identifizieren', '"Ruhig"-Kommando einführen wenn Pause entsteht', 'Ruhige Pausen direkt belohnen']),
'Bellen nie durch Schreien lösen — das wirkt wie Mitmachen.'),
('pb_enttriggern', 'Enttriggern / Desensibilisierung', 'Problemverhalten', 'schwer', '15-30 min',
'Den Hund langsam an angstauslösende Reize gewöhnen — für reaktive Hunde.',
_json.dumps(['Angst-Auslöser in großer Distanz zeigen', 'Bei Ruhe belohnen (kein Stress sichtbar)', 'Distanz sehr langsam verringern', 'Niemals erzwingen']),
'Immer unterhalb der Stressschwelle bleiben.'),
]
for ex in _legacy:
if not conn.execute('SELECT 1 FROM training_exercises WHERE exercise_id=?', (ex[0],)).fetchone():
conn.execute(
'INSERT INTO training_exercises (exercise_id,name,kategorie,schwierigkeit,dauer,beschreibung,schritte,tipp) VALUES (?,?,?,?,?,?,?,?)',
ex
)
logger.info(f"Migration: Übung '{ex[1]}' eingefügt.")