-- Migration 030: Übungsvariante in geplanten Trainingseinheiten -- Nullable FK: keine Variante = Stammübung; bei Löschen der Variante bleibt die Zuordnung zur Übung erhalten ALTER TABLE training_unit_exercises ADD COLUMN IF NOT EXISTS exercise_variant_id INT REFERENCES exercise_variants(id) ON DELETE SET NULL; CREATE INDEX IF NOT EXISTS idx_training_unit_exercises_variant ON training_unit_exercises(exercise_variant_id) WHERE exercise_variant_id IS NOT NULL;