19 lines
756 B
SQL
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);
|