Compare commits
7
Commits
78bc7341fc
...
ce73cb451a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce73cb451a | ||
|
|
06846c611d | ||
|
|
62b3863257 | ||
|
|
95da21a84f | ||
|
|
7f98fedaa6 | ||
|
|
d0de5b2982 | ||
|
|
ac2e66b731 |
@@ -1,6 +1,7 @@
|
||||
CREATE TABLE exercises (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name TEXT NOT NULL,
|
||||
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
|
||||
equipment TEXT[] NOT NULL DEFAULT '{}'
|
||||
CHECK (
|
||||
equipment <@ ARRAY [
|
||||
@@ -42,12 +43,14 @@ CREATE TABLE template_exercises (
|
||||
template_id UUID NOT NULL REFERENCES templates(id) ON DELETE CASCADE,
|
||||
exercise_id UUID NOT NULL REFERENCES exercises(id) ON DELETE CASCADE,
|
||||
position SMALLINT NOT NULL,
|
||||
group_no SMALLINT,
|
||||
target_sets SMALLINT NOT NULL,
|
||||
target_reps SMALLINT,
|
||||
target_seconds SMALLINT,
|
||||
notes TEXT,
|
||||
modified_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
|
||||
PRIMARY KEY (template_id, exercise_id)
|
||||
PRIMARY KEY (template_id, exercise_id),
|
||||
|
||||
CONSTRAINT target_has_number CHECK (target_reps IS NOT NULL OR target_seconds IS NOT NULL)
|
||||
);
|
||||
@@ -69,9 +72,9 @@ CREATE TABLE workouts (
|
||||
template_id UUID REFERENCES templates(id) ON DELETE SET NULL,
|
||||
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
ended_at TIMESTAMPTZ,
|
||||
rpe smallint CHECK (rpe BETWEEN 1 AND 10),
|
||||
notes TEXT
|
||||
modified_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
notes TEXT,
|
||||
modified_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
deleted_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
CREATE INDEX workouts_time_idx ON workouts (started_at DESC);
|
||||
@@ -85,10 +88,12 @@ CREATE TABLE workout_sets (
|
||||
reps SMALLINT,
|
||||
seconds SMALLINT,
|
||||
weight_kg NUMERIC(5,2),
|
||||
rpe SMALLINT CHECK (rpe BETWEEN 1 AND 10),
|
||||
type TEXT NOT NULL DEFAULT 'working'
|
||||
CHECK (metric IN ('warm-up', 'working', 'drop')),
|
||||
CHECK (type IN ('warm-up', 'working', 'drop')),
|
||||
note TEXT,
|
||||
modified_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
modified_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
deleted_at TIMESTAMPTZ,
|
||||
|
||||
CONSTRAINT set_has_number CHECK (reps IS NOT NULL OR seconds IS NOT NULL)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user