diff options
Diffstat (limited to 'db.py')
| -rw-r--r-- | db.py | 51 |
1 files changed, 37 insertions, 14 deletions
@@ -4,38 +4,61 @@ import os DB_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "egometrics.db") SCHEMA = """ -CREATE TABLE IF NOT EXISTS exercises ( +CREATE TABLE IF NOT EXISTS workout_exercises ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE COLLATE NOCASE, + bw_relative BOOLEAN NOT NULL DEFAULT 0, note TEXT ); -CREATE TABLE IF NOT EXISTS sessions ( +CREATE TABLE IF NOT EXISTS workout_sessions ( id INTEGER PRIMARY KEY AUTOINCREMENT, date_time TEXT NOT NULL, note TEXT ); -CREATE TABLE IF NOT EXISTS session_exercises ( +CREATE TABLE IF NOT EXISTS workout_session_exercises ( id INTEGER PRIMARY KEY AUTOINCREMENT, session_id INTEGER NOT NULL, exercise_id INTEGER NOT NULL, position INTEGER NOT NULL, - sets INTEGER, - reps INTEGER, - rpe INTEGER, - rest_time INTEGER, - lsrpe INTEGER, + sets INTEGER NOT NULL, + reps TEXT NOT NULL, + weight TEXT NOT NULL, + rest_time TEXT, + lsrpe INTEGER NOT NULL, note TEXT, - FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE, - FOREIGN KEY (exercise_id) REFERENCES exercises(id) ON DELETE RESTRICT + FOREIGN KEY (session_id) REFERENCES workout_sessions(id) ON DELETE CASCADE, + FOREIGN KEY (exercise_id) REFERENCES workout_exercises(id) ON DELETE RESTRICT ); -CREATE INDEX IF NOT EXISTS idx_session_exercises_session - ON session_exercises(session_id); +CREATE TABLE IF NOT EXISTS workout_templates ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL UNIQUE COLLATE NOCASE +); + +CREATE TABLE IF NOT EXISTS workout_template_exercises ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + template_id INTEGER NOT NULL, + exercise_id INTEGER NOT NULL, + position INTEGER NOT NULL, + sets INTEGER NOT NULL, + reps INTEGER NOT NULL, + lsrpe INTEGER NOT NULL, + rest_time INTEGER NOT NULL, + note TEXT, + FOREIGN KEY (template_id) REFERENCES workout_templates(id) ON DELETE CASCADE, + FOREIGN KEY (exercise_id) REFERENCES workout_exercises(id) ON DELETE RESTRICT +); + +CREATE INDEX IF NOT EXISTS idx_workout_session_exercises_session + ON workout_session_exercises(session_id); + +CREATE INDEX IF NOT EXISTS idx_workout_sessions_date + ON workout_sessions(date_time); -CREATE INDEX IF NOT EXISTS idx_sessions_date - ON sessions(date_time); +CREATE INDEX IF NOT EXISTS idx_workout_template_exercises_template + ON workout_template_exercises(template_id); """ |
