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 );