Cleanup: training_exercises.js_exercise_id — ID-Mismatch bereinigt, JOIN mit exercise_progress, Fuß-Umbenennung — SW by-v508, APP_VER 485
This commit is contained in:
parent
9e9b87af35
commit
ad3b73d687
5 changed files with 75 additions and 31 deletions
|
|
@ -1482,3 +1482,24 @@ def _migrate(conn_factory):
|
|||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_bj_user ON breeder_jahresberichte(user_id, jahr DESC);
|
||||
""")
|
||||
|
||||
# js_exercise_id zu training_exercises — verbindet training_exercises mit exercise_progress
|
||||
existing_te = [row[1] for row in conn.execute("PRAGMA table_info(training_exercises)").fetchall()]
|
||||
if 'js_exercise_id' not in existing_te:
|
||||
import re as _re
|
||||
_CAT_TO_TAB = {
|
||||
'Grundkommando': 'grundkommandos', 'Trick': 'tricks',
|
||||
'Problemverhalten': 'problemverhalten', 'Mentale Auslastung': 'mentale-auslastung',
|
||||
'Hundesport': 'hundesport', 'Körperpflege': 'koerperpflege',
|
||||
'Welpe Basics': 'welpe-basics', 'Grundlagen': 'grundlagen',
|
||||
}
|
||||
conn.execute("ALTER TABLE training_exercises ADD COLUMN js_exercise_id TEXT")
|
||||
# "Fuß (Leinenführigkeit)" → "Fuß" (damit es mit alten exercise_progress-Einträgen matcht)
|
||||
conn.execute("UPDATE training_exercises SET name='Fuß' WHERE exercise_id='gk_fuss'")
|
||||
rows = conn.execute("SELECT id, name, kategorie FROM training_exercises").fetchall()
|
||||
for row in rows:
|
||||
tab = _CAT_TO_TAB.get(row['kategorie'], row['kategorie'].lower().replace(' ', '-'))
|
||||
js_id = tab + '_' + _re.sub(r'[\s/]+', '_', row['name'])
|
||||
conn.execute("UPDATE training_exercises SET js_exercise_id=? WHERE id=?", (js_id, row['id']))
|
||||
conn.execute("CREATE INDEX IF NOT EXISTS idx_te_js_id ON training_exercises(js_exercise_id)")
|
||||
logger.info("Migration: training_exercises.js_exercise_id hinzugefügt, 'Fuß' bereinigt.")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue