shinkan-jinkendo/backend/migrations
Lars 01ed5509f8
Some checks failed
Deploy Development / deploy (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 1m54s
feat: Exercises v2.0 + Migrations 014/016/017 (Clean-Room Rebuild)
BREAKING CHANGES:
- exercises.py komplett neu gebaut (kein Legacy-Code)
- Legacy-Felder entfernt: age_groups, focus_area, secondary_areas, training_character
- Nur M:N Relations, keine JSONB-Kataloge

Migrations:
- Migration 014: Variant Progression + Search Vector + Legacy DROP
  - exercise_variants: progression_level, sequence_order, prerequisite_variant_id
  - exercises: search_vector (tsvector für Volltext-Suche)
  - DROP age_groups, focus_area, secondary_areas, training_character
  - Helper: update_timestamp() Funktion für Triggers
- Migration 016: Saved Exercise Searches
  - saved_exercise_searches (profile_id, name, filters JSONB)
- Migration 017: Exercise Blocks + Template Blocks
  - exercise_blocks (name, description, goal, is_template)
  - exercise_block_items (exercise_id, variant_id, sequence_order, is_placeholder, placeholder_criteria)

Backend (exercises.py v2.0):
- GET /exercises: Volltext-Suche via tsvector, M:N Joins
- GET /exercises/{id}: enrich_exercise_detail() mit allen M:N Relations
- POST /exercises: M:N Relations (focus_areas_multi, training_styles_multi, target_groups_multi, age_groups, skills)
- PUT /exercises: Partial Update + M:N Relations
- DELETE /exercises: Cascade-Check für exercise_block_items

Architecture:
- Issue #53 konform: Import = Feld-Zuordnung, keine fachliche Interpretation
- Helper: enrich_exercise_detail() für vollständige Objekte
- Helper: assign_exercise_relations() für M:N Management (DELETE+INSERT Pattern)

Docs:
- SMW_IMPORTER_GAP_ANALYSIS.md: Vollständige Gap-Analyse + Umsetzungsplan

Version: 0.7.0
Module: exercises 2.0.0
Schema: 20260424002
2026-04-24 15:04:27 +02:00
..
001_auth_membership.sql feat: Complete MVP setup - Docker, Frontend, Migrations, CI/CD 2026-04-21 14:36:52 +02:00
002_organization.sql feat: Complete MVP setup - Docker, Frontend, Migrations, CI/CD 2026-04-21 14:36:52 +02:00
003_catalogs.sql feat: Complete MVP setup - Docker, Frontend, Migrations, CI/CD 2026-04-21 14:36:52 +02:00
004_add_auth_columns.sql fix: Add missing auth columns to profiles table 2026-04-21 21:07:52 +02:00
005_exercises.sql fix: Add lucide-react dependency for navigation icons 2026-04-22 16:40:05 +02:00
006_training_planning.sql feat: Training Planning (core feature) complete 2026-04-22 16:54:34 +02:00
007_exercise_catalogs.sql fix: Make migration 007 idempotent (IF NOT EXISTS + ON CONFLICT) 2026-04-23 08:10:44 +02:00
008_mn_exercise_relations.sql feat: Migration 008 - M:N Exercise Relations + Hierarchical Catalogs 2026-04-23 08:46:56 +02:00
009_target_groups_mn_refactor.sql feat: Refactor target groups to M:N relationship and update related endpoints 2026-04-23 09:27:13 +02:00
010_rename_training_styles_to_style_directions.sql feat: Migration 010+011 - Stilrichtungen + Trainingsstil-Dimension 2026-04-23 12:10:27 +02:00
011_create_training_types.sql feat: Migration 010+011 - Stilrichtungen + Trainingsstil-Dimension 2026-04-23 12:10:27 +02:00
012_exercise_training_characters_and_trainer_contexts.sql fix: remove incompatible schema_migrations tracking from migrations 012-013 2026-04-23 16:17:35 +02:00
013_training_types_focus_area.sql fix: remove incompatible schema_migrations tracking from migrations 012-013 2026-04-23 16:17:35 +02:00
014_variant_progression_search_legacy.sql feat: Exercises v2.0 + Migrations 014/016/017 (Clean-Room Rebuild) 2026-04-24 15:04:27 +02:00
016_saved_searches.sql feat: Exercises v2.0 + Migrations 014/016/017 (Clean-Room Rebuild) 2026-04-24 15:04:27 +02:00
017_exercise_blocks.sql feat: Exercises v2.0 + Migrations 014/016/017 (Clean-Room Rebuild) 2026-04-24 15:04:27 +02:00
018_wiki_import_tracking.sql feat: Add MediaWiki import functionality with tracking and mapping 2026-04-24 14:41:52 +02:00