-- Migration 021: Import Skills from Fähigkeitsmatrix
-- One-time import of skills with categories from karatetrainer.net
-- Source: https://karatetrainer.net/index.php?title=Fähigkeitsmatrix

-- Create skill categories first
INSERT INTO skill_categories (name, description, sort_order) VALUES
('Kihon', 'Grundtechniken', 1),
('Kumite', 'Kampf', 2),
('Kata', 'Formen', 3),
('Selbstverteidigung', 'Selbstschutz und Gefahrenabwehr', 4),
('Koordination', 'Koordinative Fähigkeiten', 5),
('Kondition', 'Konditionelle Fähigkeiten', 6),
('Kognition', 'Kognitive Fähigkeiten', 7),
('Soziale Fähigkeiten', 'Sozialkompetenzen', 8),
('Psychische Fähigkeiten', 'Mentale Stärke', 9)
ON CONFLICT (name) DO NOTHING;

-- Import skills (name unique, category by name lookup)
INSERT INTO skills (name, description, category_id)
SELECT
    skill_name,
    skill_description,
    (SELECT id FROM skill_categories WHERE name = category_name LIMIT 1)
FROM (VALUES
    ('Dachi Waza', 'Standtechniken - stabiler Stand mit korrekter Gewichtsverteilung', 'Kihon'),
    ('Uke Waza', 'Blocktechniken - Abwehr von Angriffen', 'Kihon'),
    ('Zuki Waza', 'Stoßtechniken - gerade und kreisförmige Stöße', 'Kihon'),
    ('Geri Waza', 'Tritttechniken - verschiedene Kicks', 'Kihon'),
    ('Beinarbeit', 'Grundlegende Bewegungen im Kumite', 'Kumite'),
    ('Distanzkontrolle', 'Kontrolle der Kampfdistanz', 'Kumite'),
    ('Flexibilität', 'Beweglichkeit und Dehnfähigkeit', 'Kondition'),
    ('Präzision', 'Treffergenauigkeit', 'Kumite'),
    ('Bewegungsschnelligkeit', 'Schnelligkeit der Bewegungsausführung', 'Kondition'),
    ('Anaerobe Ausdauer', 'Ausdauer bei hoher Intensität', 'Kondition'),
    ('Schnelligkeitsausdauer', 'Ausdauer bei schnellen Bewegungen', 'Kondition'),
    ('Antizipation', 'Vorhersage gegnerischer Aktionen', 'Kognition'),
    ('Reaktionsschnelligkeit', 'Reaktion auf Reize', 'Koordination'),
    ('Timing', 'Zeitliche Abstimmung von Aktionen', 'Kumite'),
    ('Fokus', 'Konzentration auf das Wesentliche', 'Psychische Fähigkeiten'),
    ('Mentale Stärke', 'Psychische Belastbarkeit', 'Psychische Fähigkeiten'),
    ('Kata Ablauf', 'Korrekte Ausführung der Kata-Sequenz', 'Kata'),
    ('Bunkai', 'Anwendung der Kata-Techniken', 'Kata')
) AS skills(skill_name, skill_description, category_name)
ON CONFLICT (name) DO UPDATE SET
    description = EXCLUDED.description,
    category_id = EXCLUDED.category_id;
