feat(05-01): Exercise database schema + CRUD API

This commit is contained in:
2026-03-02 13:03:30 +01:00
parent 5a9ea9c9a8
commit 994cc9e984
2 changed files with 191 additions and 0 deletions
@@ -0,0 +1,18 @@
-- Create exercises table for exercise encyclopedia
CREATE TABLE IF NOT EXISTS exercises (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL UNIQUE,
description TEXT,
instructions TEXT,
muscle_groups TEXT[] DEFAULT ARRAY[]::text[],
difficulty VARCHAR(20) DEFAULT 'intermediate' CHECK (difficulty IN ('beginner', 'intermediate', 'advanced')),
equipment_needed TEXT[] DEFAULT ARRAY[]::text[],
video_url VARCHAR(255),
created_by VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_exercises_name ON exercises(name);
CREATE INDEX idx_exercises_difficulty ON exercises(difficulty);
CREATE INDEX idx_exercises_muscle_groups ON exercises USING GIN(muscle_groups);