Files
gravl/db/migrations/005_create_exercises_table.sql
T

19 lines
756 B
SQL

-- 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);