diff options
Diffstat (limited to 'db/schema.sql')
| -rw-r--r-- | db/schema.sql | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/db/schema.sql b/db/schema.sql index e149762..48bd02f 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -1,5 +1,13 @@ CREATE TABLE IF NOT EXISTS "schema_migrations" (version varchar(255) primary key); -CREATE TABLE rides ( +CREATE TABLE IF NOT EXISTS "mountain_passes" ( + id integer primary key, + osm_id integer unique not null, + name text, + elevation integer, + latitude real not null, + longitude real not null +, category TEXT NOT NULL DEFAULT 'unknown' CHECK (category IN ('road', 'track', 'path', 'hiking', 'unknown'))); +CREATE TABLE IF NOT EXISTS "rides" ( id integer primary key, external_id text unique not null, gpx_path text not null, @@ -12,17 +20,14 @@ CREATE TABLE rides ( total_elevation_gain_m real not null, average_speed_mps real not null, created_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')), - updated_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')) -, cotacol_score real, cotacol_algo_version text, moving_time_s integer, moving_time_algo_version text, bike_type TEXT NOT NULL DEFAULT '' CHECK (bike_type IN ('', 'road', 'mtb')), ride_type TEXT NOT NULL DEFAULT '' CHECK (ride_type IN ('', 'training', 'indoor', 'race', 'transport', 'touring')), fit_path TEXT NOT NULL DEFAULT ''); -CREATE TABLE official_climbs ( - id integer primary key, - name text not null, - start_latitude real not null, - start_longitude real not null, - end_latitude real not null, - end_longitude real not null, - created_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')), - updated_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')) + updated_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')), + cotacol_score real, + cotacol_algo_version text, + moving_time_s integer, + moving_time_algo_version text, + bike_type TEXT NOT NULL DEFAULT '' CHECK (bike_type IN ('', 'road', 'mtb')), + ride_type TEXT NOT NULL DEFAULT '' CHECK (ride_type IN ('', 'training', 'indoor', 'race', 'transport', 'touring')), + fit_path TEXT NOT NULL DEFAULT '' ); CREATE TABLE ride_official_climb_attempts ( ride_id integer not null references rides(id), @@ -38,14 +43,18 @@ CREATE TABLE ride_official_climb_attempts ( created_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')), primary key (ride_id, climb_id, occurrence) ); -CREATE TABLE IF NOT EXISTS "mountain_passes" ( +CREATE TABLE IF NOT EXISTS "official_climbs" ( id integer primary key, - osm_id integer unique not null, - name text, - elevation integer, - latitude real not null, - longitude real not null -, category TEXT NOT NULL DEFAULT 'unknown' CHECK (category IN ('road', 'track', 'path', 'hiking', 'unknown'))); + name text not null, + start_latitude real not null, + start_longitude real not null, + end_latitude real not null, + end_longitude real not null, + created_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')), + updated_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')), + sample_distance_m real not null, + sample_elevation_gain_m real not null +); -- Dbmate schema migrations INSERT INTO "schema_migrations" (version) VALUES ('20250802140659'), @@ -60,4 +69,6 @@ INSERT INTO "schema_migrations" (version) VALUES ('20260828000000'), ('20260829000000'), ('20260831000000'), - ('20260913000000'); + ('20260913000000'), + ('20260924000000'), + ('20260925000000'); |
