Added the functionality to insert a workout
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
-- Add migration script here
|
||||
CREATE TYPE exercise_variant AS ENUM ('time', 'number', 'failure');
|
||||
|
||||
CREATE TABLE exercises (
|
||||
exercise_id uuid PRIMARY KEY,
|
||||
@@ -8,8 +9,8 @@ CREATE TABLE exercises (
|
||||
updated_at TIMESTAMP DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE TABLE muscle_groups (
|
||||
muscle_group_id varchar(16) PRIMARY KEY,
|
||||
CREATE TABLE muscles (
|
||||
muscle_id varchar(16) PRIMARY KEY,
|
||||
name varchar NOT NULL
|
||||
);
|
||||
|
||||
@@ -27,19 +28,24 @@ CREATE TABLE workouts (
|
||||
);
|
||||
|
||||
CREATE TABLE workout_exercises (
|
||||
workout_exercises_id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
workout_id uuid NOT NULL,
|
||||
exercise_id uuid NOT NULL,
|
||||
PRIMARY KEY (workout_id, exercise_id),
|
||||
exercise_type exercise_variant NOT NULL,
|
||||
position integer NOT NULL,
|
||||
sets integer,
|
||||
reps integer,
|
||||
time integer,
|
||||
FOREIGN KEY (workout_id) REFERENCES workouts(workout_id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (exercise_id) REFERENCES exercises(exercise_id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE exercise_muscle_groups (
|
||||
CREATE TABLE exercise_muscles (
|
||||
exercise_id uuid NOT NULL,
|
||||
muscle_group_id varchar(16) NOT NULL,
|
||||
PRIMARY KEY (exercise_id, muscle_group_id),
|
||||
muscle_id varchar(16) NOT NULL,
|
||||
PRIMARY KEY (exercise_id, muscle_id),
|
||||
FOREIGN KEY (exercise_id) REFERENCES exercises(exercise_id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (muscle_group_id) REFERENCES muscle_groups(muscle_group_id) ON DELETE CASCADE
|
||||
FOREIGN KEY (muscle_id) REFERENCES muscles(muscle_id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE exercise_categories (
|
||||
@@ -52,10 +58,11 @@ CREATE TABLE exercise_categories (
|
||||
|
||||
|
||||
-- Initialize muscle data
|
||||
INSERT INTO muscle_groups (muscle_group_id, name) VALUES
|
||||
INSERT INTO muscles (muscle_id, name) VALUES
|
||||
('chest', 'Chest'),
|
||||
('back', 'Back'),
|
||||
('arms', 'Arms'),
|
||||
('biceps', 'Biceps'),
|
||||
('triceps', 'Triceps'),
|
||||
('legs', 'Legs'),
|
||||
('shoulders', 'Shoulders');
|
||||
|
||||
|
Reference in New Issue
Block a user