fix: correct remaining dict cursor access (row[0] → row['id'])
Error: 100 exercises failed with error '0' (TypeError suppressed) Root cause: More row[0] dict access in catalog assignment functions Previous fix only covered fetchone()[0] in RETURNING clauses. Missed 6 more locations in SELECT queries where row is dict-like. Fixed locations: - Line 511: focus_area_id in exercise_focus_areas INSERT - Line 524: style_direction_id in exercise_training_styles INSERT - Line 535: target_group_id in exercise_target_groups INSERT - Line 546: skill_id in exercise_skills INSERT - Line 568: skill_id in exercise_skills INSERT (with levels) - Line 589: category_id assignment in _upsert_skill All changed from row[0] to row['id'] for RealDictCursor compatibility. This should fix the remaining 100 import failures.
This commit is contained in:
parent
bcc7d61d07
commit
1a0708f152
|
|
@ -508,7 +508,7 @@ def _assign_exercise_catalogs(cur, conn, exercise_id: int, mapped: dict):
|
|||
"""INSERT INTO exercise_focus_areas (exercise_id, focus_area_id, is_primary)
|
||||
VALUES (%s, %s, %s)
|
||||
ON CONFLICT (exercise_id, focus_area_id) DO NOTHING""",
|
||||
(exercise_id, row[0], idx == 0)
|
||||
(exercise_id, row['id'], idx == 0)
|
||||
)
|
||||
else:
|
||||
logger.warning("Focus Area '%s' nicht im Katalog gefunden", name)
|
||||
|
|
@ -521,7 +521,7 @@ def _assign_exercise_catalogs(cur, conn, exercise_id: int, mapped: dict):
|
|||
cur.execute(
|
||||
"""INSERT INTO exercise_training_styles (exercise_id, style_direction_id)
|
||||
VALUES (%s, %s) ON CONFLICT DO NOTHING""",
|
||||
(exercise_id, row[0])
|
||||
(exercise_id, row['id'])
|
||||
)
|
||||
|
||||
# Target Groups
|
||||
|
|
@ -532,7 +532,7 @@ def _assign_exercise_catalogs(cur, conn, exercise_id: int, mapped: dict):
|
|||
cur.execute(
|
||||
"""INSERT INTO exercise_target_groups (exercise_id, target_group_id)
|
||||
VALUES (%s, %s) ON CONFLICT DO NOTHING""",
|
||||
(exercise_id, row[0])
|
||||
(exercise_id, row['id'])
|
||||
)
|
||||
|
||||
# Skills
|
||||
|
|
@ -543,7 +543,7 @@ def _assign_exercise_catalogs(cur, conn, exercise_id: int, mapped: dict):
|
|||
cur.execute(
|
||||
"""INSERT INTO exercise_skills (exercise_id, skill_id)
|
||||
VALUES (%s, %s) ON CONFLICT DO NOTHING""",
|
||||
(exercise_id, row[0])
|
||||
(exercise_id, row['id'])
|
||||
)
|
||||
|
||||
conn.commit()
|
||||
|
|
@ -565,7 +565,7 @@ def _assign_exercise_skills(cur, conn, exercise_id: int, skill_assignments: list
|
|||
target_level = EXCLUDED.target_level,
|
||||
is_primary = EXCLUDED.is_primary""",
|
||||
(
|
||||
exercise_id, row[0],
|
||||
exercise_id, row['id'],
|
||||
assignment.get("target_level"),
|
||||
assignment.get("required_level"),
|
||||
assignment.get("intensity"),
|
||||
|
|
@ -586,7 +586,7 @@ def _upsert_skill(mapped: dict, reimport: bool) -> Optional[int]:
|
|||
cur.execute("SELECT id FROM skill_categories WHERE name ILIKE %s", (mapped["category_name"],))
|
||||
row = cur.fetchone()
|
||||
if row:
|
||||
category_id = row[0]
|
||||
category_id = row['id']
|
||||
|
||||
cur.execute(
|
||||
"""INSERT INTO skills (name, description, category_id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user