sessions.sql 1.1 KB

123456789101112131415161718192021222324252627
  1. CREATE TABLE sessions (
  2. id UUID PRIMARY KEY DEFAULT gen_uuid_v7(),
  3. workout UUID NOT NULL REFERENCES workouts(id) ON DELETE CASCADE,
  4. user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
  5. start_time TIMESTAMPTZ NOT NULL,
  6. end_time TIMESTAMPTZ NOT NULL
  7. );
  8. CREATE TABLE session_exercises (
  9. id UUID PRIMARY KEY DEFAULT gen_uuid_v7(),
  10. session UUID NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
  11. exercise UUID NOT NULL REFERENCES exercises(id) ON DELETE CASCADE,
  12. name TEXT NOT NULL,
  13. notes TEXT,
  14. exercise_type exercise_type NOT NULL,
  15. position INTEGER NOT NULL
  16. );
  17. CREATE TABLE session_sets (
  18. id UUID PRIMARY KEY DEFAULT gen_uuid_v7(),
  19. session_exercise UUID NOT NULL REFERENCES session_exercises(id) ON DELETE CASCADE,
  20. reps INTEGER,
  21. weight DOUBLE PRECISION,
  22. duration_seconds INTEGER,
  23. distance_meters DOUBLE PRECISION,
  24. position INTEGER NOT NULL
  25. );