50 lines
1.4 KiB
SQL
50 lines
1.4 KiB
SQL
CREATE TABLE `laps` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`workout_id` text NOT NULL,
|
|
`set_position` integer NOT NULL,
|
|
`rep_number` integer NOT NULL,
|
|
`distance` integer NOT NULL,
|
|
`duration` real NOT NULL,
|
|
`stroke_count` integer,
|
|
`heart_rate` integer,
|
|
`swolf` real,
|
|
FOREIGN KEY (`workout_id`) REFERENCES `workouts`(`id`) ON UPDATE no action ON DELETE no action
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `sets` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`workout_id` text NOT NULL,
|
|
`position` integer NOT NULL,
|
|
`stroke` text NOT NULL,
|
|
`distance_per_rep` integer NOT NULL,
|
|
`rep_count` integer NOT NULL,
|
|
`rest_type` text DEFAULT 'fixed_rest' NOT NULL,
|
|
`rest_duration` real DEFAULT 0 NOT NULL,
|
|
`target_time` real,
|
|
FOREIGN KEY (`workout_id`) REFERENCES `workouts`(`id`) ON UPDATE no action ON DELETE no action
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `templates` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`name` text NOT NULL,
|
|
`description` text,
|
|
`pool_length` real DEFAULT 25 NOT NULL,
|
|
`json_data` text NOT NULL,
|
|
`is_favorite` integer DEFAULT false NOT NULL,
|
|
`created_at` text NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `workouts` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`name` text,
|
|
`template_id` text,
|
|
`pool_length` real DEFAULT 25 NOT NULL,
|
|
`started_at` text NOT NULL,
|
|
`finished_at` text,
|
|
`total_distance` integer,
|
|
`total_duration` real,
|
|
`calories` real,
|
|
`avg_heart_rate` integer,
|
|
`source` text DEFAULT 'manual' NOT NULL
|
|
);
|