minimal working example with diesel
This commit is contained in:
2
migrations/2026-01-28-134347-0000_locations/down.sql
Normal file
2
migrations/2026-01-28-134347-0000_locations/down.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
DROP TABLE locations;
|
||||
DROP TYPE battery_status_enum CASCADE
|
||||
18
migrations/2026-01-28-134347-0000_locations/up.sql
Normal file
18
migrations/2026-01-28-134347-0000_locations/up.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
CREATE TYPE battery_status_enum AS ENUM ('unknown', 'unplugged', 'charging', 'full');
|
||||
|
||||
CREATE TABLE locations (
|
||||
timestamp bigint PRIMARY KEY,
|
||||
latitude numeric(9,6) NOT NULL,
|
||||
longitude numeric(9,6) NOT NULL,
|
||||
accuracy numeric(7,2) NOT NULL,
|
||||
altitude numeric(7,2),
|
||||
velocity numeric(7,2),
|
||||
battery_level smallint NOT NULL,
|
||||
bearing numeric(6,3),
|
||||
battery_status battery_status_enum DEFAULT 'unknown' NOT NULL,
|
||||
CONSTRAINT Location_battery_level_check CHECK ((battery_level >= 0) AND (battery_level <= 100)),
|
||||
CONSTRAINT Location_bearing_check CHECK ((bearing >= (0)::numeric) AND (bearing <= (360)::numeric))
|
||||
)
|
||||
WITH (oids = false);
|
||||
|
||||
CREATE INDEX locations_timestamp ON locations USING btree (timestamp);
|
||||
Reference in New Issue
Block a user