From 1ddbd76e363f6c9715f114263e7eae70fbe428a2 Mon Sep 17 00:00:00 2001 From: Lars Date: Mon, 27 Apr 2026 10:00:02 +0200 Subject: [PATCH] fix: add UNIQUE constraint to exercise_skills table Fixes: 'no unique or exclusion constraint matching the ON CONFLICT specification' ON CONFLICT (exercise_id, skill_id) requires UNIQUE constraint. This was causing 91 import failures. --- backend/migrations/020_exercise_skills_unique.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 backend/migrations/020_exercise_skills_unique.sql diff --git a/backend/migrations/020_exercise_skills_unique.sql b/backend/migrations/020_exercise_skills_unique.sql new file mode 100644 index 0000000..255d2a2 --- /dev/null +++ b/backend/migrations/020_exercise_skills_unique.sql @@ -0,0 +1,7 @@ +-- Migration 020: Add UNIQUE constraint to exercise_skills +-- Fixes: "no unique or exclusion constraint matching the ON CONFLICT specification" +-- Required for ON CONFLICT (exercise_id, skill_id) in import_wiki.py + +ALTER TABLE exercise_skills + ADD CONSTRAINT exercise_skills_exercise_skill_unique + UNIQUE (exercise_id, skill_id);