17 lines
636 B
SQL
Executable File
17 lines
636 B
SQL
Executable File
CREATE TABLE training_sets (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL CHECK(length(name) >= 1 AND length(name) <= 100),
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
deleted_at DATETIME
|
|
);
|
|
|
|
CREATE TABLE set_exercises (
|
|
set_id INTEGER NOT NULL REFERENCES training_sets(id) ON DELETE CASCADE,
|
|
exercise_id INTEGER NOT NULL REFERENCES exercises(id),
|
|
position INTEGER NOT NULL CHECK(position >= 0),
|
|
PRIMARY KEY (set_id, exercise_id)
|
|
);
|
|
|
|
CREATE INDEX idx_set_exercises_set_id ON set_exercises(set_id);
|