Rust backend setup
This commit is contained in:
1
backend/migrations/create_airports/down.sql
Normal file
1
backend/migrations/create_airports/down.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP TABLE airports;
|
||||
7
backend/migrations/create_airports/up.sql
Normal file
7
backend/migrations/create_airports/up.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE "airports" (
|
||||
id SERIAL PRIMARY KEY,
|
||||
full_name VARCHAR NOT NULL,
|
||||
icao VARCHAR NOT NULL,
|
||||
latitude INT NOT NULL,
|
||||
longitude INT NOT NULL
|
||||
)
|
||||
1
backend/migrations/create_metars/down.sql
Normal file
1
backend/migrations/create_metars/down.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP TABLE metars;
|
||||
24
backend/migrations/create_metars/up.sql
Normal file
24
backend/migrations/create_metars/up.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
CREATE TABLE "metars" (
|
||||
id SERIAL PRIMARY KEY,
|
||||
icao TEXT NOT NULL,
|
||||
raw_text TEXT NOT NULL,
|
||||
station_id TEXT NOT NULL,
|
||||
observation_time TEXT NOT NULL,
|
||||
latitude INTEGER NOT NULL,
|
||||
longitude INTEGER NOT NULL,
|
||||
temp_c DOUBLE PRECISION NOT NULL,
|
||||
dewpoint_c DOUBLE PRECISION NOT NULL,
|
||||
wind_dir_degrees INTEGER NOT NULL,
|
||||
wind_speed_kt INTEGER NOT NULL,
|
||||
visibility_statute_mi TEXT NOT NULL,
|
||||
altim_in_hg DOUBLE PRECISION NOT NULL,
|
||||
sea_level_pressure_mb DOUBLE PRECISION,
|
||||
wx_string TEXT,
|
||||
flight_category TEXT,
|
||||
three_hr_pressure_tendency_mb DOUBLE PRECISION,
|
||||
metar_type TEXT,
|
||||
max_t_c DOUBLE PRECISION,
|
||||
min_t_c DOUBLE PRECISION,
|
||||
precip_in DOUBLE PRECISION,
|
||||
elevation_m INTEGER
|
||||
)
|
||||
2
backend/migrations/diesel_initial_setup/down.sql
Normal file
2
backend/migrations/diesel_initial_setup/down.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass);
|
||||
DROP FUNCTION IF EXISTS diesel_set_updated_at();
|
||||
18
backend/migrations/diesel_initial_setup/up.sql
Normal file
18
backend/migrations/diesel_initial_setup/up.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$
|
||||
BEGIN
|
||||
EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s
|
||||
FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl);
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$
|
||||
BEGIN
|
||||
IF (
|
||||
NEW IS DISTINCT FROM OLD AND
|
||||
NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at
|
||||
) THEN
|
||||
NEW.updated_at := current_timestamp;
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
Reference in New Issue
Block a user