summaryrefslogtreecommitdiffstats
path: root/server/migrations/2_kaas_up.sql
blob: 0c7837acb3ce053e48dd3b6fe4bbcdee7d5d7c37 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
BEGIN;

-- TODO enable strict mode so that primary key is automatically enforced to not be NULL
CREATE TABLE received_route (
       id INTEGER PRIMARY KEY,

       received_route_source route_source NOT NULL,
       recieved_route_strava_id TEXT,

       -- ON DELETE what?
       FOREIGN KEY (received_route_source_id) REFERENCES received_route_source (id),
       CHECK (received_route_source IN ('gpx_upload', 'strava', 'rwgps')),
       CHECK ((received_route_source = 'strava') = (received_route_strava_id IS NULL))
);

CREATE TABLE received_route_linestring (
       received_route_id INT NOT NULL,
       linestring BLOB NOT NULL,

       FOREIGN KEY (received_route_id) REFERENCES received_route (id)
);

COMMIT;