| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- SET statement_timeout = 0;
- SET lock_timeout = 0;
- SET idle_in_transaction_session_timeout = 0;
- SET client_encoding = 'UTF8';
- SET standard_conforming_strings = on;
- SELECT pg_catalog.set_config('search_path', '', false);
- SET check_function_bodies = false;
- SET xmloption = content;
- SET client_min_messages = warning;
- SET row_security = off;
- CREATE ROLE senslog NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT;
- CREATE ROLE maplog_app NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN PASSWORD 'MAPlog';
- GRANT senslog TO maplog_app;
- CREATE DATABASE maplog WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE_PROVIDER = 'libc' LOCALE = 'en_US.UTF-8';
- ALTER DATABASE maplog OWNER TO senslog;
- \connect maplog
- SET statement_timeout = 0;
- SET lock_timeout = 0;
- SET idle_in_transaction_session_timeout = 0;
- SET client_encoding = 'UTF8';
- SET standard_conforming_strings = on;
- SELECT pg_catalog.set_config('search_path', '', false);
- SET check_function_bodies = false;
- SET xmloption = content;
- SET client_min_messages = warning;
- SET row_security = off;
- CREATE SCHEMA maplog;
- ALTER SCHEMA maplog OWNER TO senslog;
- ALTER SCHEMA public OWNER TO senslog;
- CREATE EXTENSION IF NOT EXISTS postgis WITH SCHEMA public;
- COMMENT ON EXTENSION postgis IS 'PostGIS geometry and geography spatial types and functions';
- SET default_tablespace = '';
- CREATE TABLE maplog.campaign (
- id INTEGER NOT NULL PRIMARY KEY,
- name TEXT NOT NULL,
- description TEXT NOT NULL,
- from_time TIMESTAMP WITH TIME ZONE NOT NULL,
- to_time TIMESTAMP WITH TIME ZONE NOT NULL
- );
- ALTER TABLE maplog.campaign OWNER TO senslog;
- CREATE SEQUENCE maplog.campaign_id_seq AS INTEGER START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
- ALTER TABLE maplog.campaign_id_seq OWNER TO senslog;
- ALTER SEQUENCE maplog.campaign_id_seq OWNED BY maplog.campaign.id;
- ALTER TABLE ONLY maplog.campaign ALTER COLUMN id SET DEFAULT nextval('maplog.campaign_id_seq'::regclass);
- CREATE TABLE maplog.obs_telemetry (
- id BIGINT NOT NULL PRIMARY KEY,
- time_stamp TIMESTAMP WITH TIME ZONE NOT NULL,
- unit_id BIGINT NOT NULL,
- observed_values jsonb NOT NULL,
- the_geom geometry NOT NULL,
- speed INTEGER NOT NULL,
- time_received TIMESTAMP WITH TIME ZONE DEFAULT now() NOT NULL
- );
- ALTER TABLE maplog.obs_telemetry OWNER TO senslog;
- CREATE SEQUENCE maplog.obs_telemetry_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
- ALTER TABLE maplog.obs_telemetry_id_seq OWNER TO senslog;
- ALTER SEQUENCE maplog.obs_telemetry_id_seq OWNED BY maplog.obs_telemetry.id;
- ALTER TABLE ONLY maplog.obs_telemetry ALTER COLUMN id SET DEFAULT nextval('maplog.obs_telemetry_id_seq'::regclass);
- CREATE TABLE maplog.driver (
- driver_id INTEGER NOT NULL PRIMARY KEY,
- name VARCHAR(100) NOT NULL
- );
- ALTER TABLE maplog.driver OWNER TO senslog;
- CREATE TABLE maplog.action (
- action_id INTEGER NOT NULL PRIMARY KEY,
- name VARCHAR(100) NOT NULL
- );
- ALTER TABLE maplog.action OWNER TO senslog;
- CREATE TABLE maplog.driver_to_action (
- id BIGINT NOT NULL PRIMARY KEY,
- driver_id INTEGER NOT NULL,
- action_id INTEGER NOT NULL,
- unit_id BIGINT NOT NULL,
- from_time TIMESTAMP WITH TIME ZONE NOT NULL,
- to_time TIMESTAMP WITH TIME ZONE
- );
- ALTER TABLE maplog.driver_to_action OWNER TO senslog;
- CREATE SEQUENCE maplog.driver_to_action_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
- ALTER TABLE maplog.driver_to_action_id_seq OWNER TO senslog;
- ALTER SEQUENCE maplog.driver_to_action_id_seq OWNED BY maplog.driver_to_action.id;
- ALTER TABLE ONLY maplog.driver_to_action ALTER COLUMN id SET DEFAULT nextval('maplog.driver_to_action_id_seq'::regclass);
- CREATE TABLE maplog.phenomenon (
- id INTEGER NOT NULL PRIMARY KEY,
- name TEXT NOT NULL,
- uom CHARACTER VARYING(30) NOT NULL,
- uom_link TEXT
- );
- ALTER TABLE maplog.phenomenon OWNER TO senslog;
- CREATE SEQUENCE maplog.phenomenon_id_seq AS INTEGER START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
- ALTER TABLE maplog.phenomenon_id_seq OWNER TO senslog;
- ALTER SEQUENCE maplog.phenomenon_id_seq OWNED BY maplog.phenomenon.id;
- ALTER TABLE ONLY maplog.phenomenon ALTER COLUMN id SET DEFAULT nextval('maplog.phenomenon_id_seq'::regclass);
- CREATE TABLE maplog.sensor (
- sensor_id BIGINT NOT NULL PRIMARY KEY,
- name CHARACTER VARYING(100) UNIQUE NOT NULL,
- type TEXT,
- description TEXT,
- io_id INTEGER NOT NULL,
- phenomenon_id INTEGER NOT NULL
- );
- ALTER TABLE maplog.sensor OWNER TO senslog;
- CREATE SEQUENCE maplog.sensor_sensor_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
- ALTER TABLE maplog.sensor_sensor_id_seq OWNER TO senslog;
- ALTER SEQUENCE maplog.sensor_sensor_id_seq OWNED BY maplog.sensor.sensor_id;
- ALTER TABLE ONLY maplog.sensor ALTER COLUMN sensor_id SET DEFAULT nextval('maplog.sensor_sensor_id_seq'::regclass);
- CREATE TABLE maplog.system_user (
- user_id INTEGER NOT NULL PRIMARY KEY,
- name TEXT NOT NULL
- );
- ALTER TABLE maplog.system_user OWNER TO senslog;
- CREATE TABLE maplog.unit (
- unit_id BIGINT NOT NULL PRIMARY KEY,
- imei CHARACTER VARYING(20) NOT NULL UNIQUE,
- name CHARACTER VARYING(100) NOT NULL,
- description TEXT,
- is_mobile boolean DEFAULT true NOT NULL,
- unit_type_id CHARACTER VARYING(2) DEFAULT 'X'::CHARACTER VARYING NOT NULL
- );
- ALTER TABLE maplog.unit OWNER TO senslog;
- CREATE TABLE maplog.unit_to_campaign (
- id INTEGER NOT NULL PRIMARY KEY,
- campaign_id INTEGER NOT NULL,
- unit_id BIGINT NOT NULL,
- from_time TIMESTAMP WITH TIME ZONE NOT NULL,
- to_time TIMESTAMP WITH TIME ZONE NOT NULL
- );
- ALTER TABLE maplog.unit_to_campaign OWNER TO senslog;
- CREATE SEQUENCE maplog.unit_to_campaign_id_seq AS INTEGER START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
- ALTER TABLE maplog.unit_to_campaign_id_seq OWNER TO senslog;
- ALTER SEQUENCE maplog.unit_to_campaign_id_seq OWNED BY maplog.unit_to_campaign.id;
- ALTER TABLE ONLY maplog.unit_to_campaign ALTER COLUMN id SET DEFAULT nextval('maplog.unit_to_campaign_id_seq'::regclass);
- CREATE TABLE maplog.unit_to_sensor (
- sensor_id BIGINT NOT NULL,
- unit_id BIGINT NOT NULL,
- PRIMARY KEY (unit_id, sensor_id)
- );
- ALTER TABLE maplog.unit_to_sensor OWNER TO senslog;
- CREATE TABLE maplog.unit_type (
- unit_type_id CHARACTER VARYING(2) NOT NULL PRIMARY KEY,
- name CHARACTER VARYING(20) NOT NULL,
- description TEXT
- );
- ALTER TABLE maplog.unit_type OWNER TO senslog;
- CREATE TABLE maplog.user_to_campaign (
- user_id INTEGER NOT NULL,
- campaign_id INTEGER NOT NULL,
- PRIMARY KEY (user_id, campaign_id)
- );
- ALTER TABLE maplog.user_to_campaign OWNER TO senslog;
- CREATE INDEX fki_obss_unitid_fk ON maplog.obs_telemetry USING btree (unit_id);
- CREATE INDEX fki_sens_phenom_fk ON maplog.sensor USING btree (phenomenon_id);
- CREATE INDEX fki_u2c_campid ON maplog.user_to_campaign USING btree (campaign_id);
- CREATE INDEX fki_u2c_campid_fk ON maplog.user_to_campaign USING btree (campaign_id);
- CREATE INDEX fki_u2c_userid_fk ON maplog.user_to_campaign USING btree (user_id);
- CREATE INDEX fki_un2c_campid ON maplog.unit_to_campaign USING btree (campaign_id);
- CREATE INDEX fki_un2c_unitid ON maplog.unit_to_campaign USING btree (unit_id);
- CREATE INDEX fki_unit_unittype_fk ON maplog.unit USING btree (unit_type_id);
- CREATE INDEX fki_uts_sensorid_fk ON maplog.unit_to_sensor USING btree (sensor_id);
- CREATE INDEX fki_uts_unitid_fk ON maplog.unit_to_sensor USING btree (unit_id);
- CREATE INDEX fki_dta_unitid_fk ON maplog.driver_to_action USING btree (unit_id);
- CREATE INDEX fki_dr2ac_driverid_fk ON maplog.driver_to_action USING btree (driver_id);
- CREATE INDEX fki_dr2ac_actionid_fk ON maplog.driver_to_action USING btree (action_id);
- CREATE INDEX fki_dr2ac_unitid_fk ON maplog.driver_to_action USING btree (unit_id);
- ALTER TABLE ONLY maplog.obs_telemetry ADD CONSTRAINT obss_unitid_fk FOREIGN KEY (unit_id) REFERENCES maplog.unit(unit_id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.sensor ADD CONSTRAINT sens_phenom_fk FOREIGN KEY (phenomenon_id) REFERENCES maplog.phenomenon(id);
- ALTER TABLE ONLY maplog.user_to_campaign ADD CONSTRAINT u2c_campid FOREIGN KEY (campaign_id) REFERENCES maplog.campaign(id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.user_to_campaign ADD CONSTRAINT u2c_userid_fk FOREIGN KEY (user_id) REFERENCES maplog.system_user(user_id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.unit_to_campaign ADD CONSTRAINT un2c_campid FOREIGN KEY (campaign_id) REFERENCES maplog.campaign(id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.unit_to_campaign ADD CONSTRAINT un2c_unitid FOREIGN KEY (unit_id) REFERENCES maplog.unit(unit_id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.unit ADD CONSTRAINT unit_unittype_fk FOREIGN KEY (unit_type_id) REFERENCES maplog.unit_type(unit_type_id);
- ALTER TABLE ONLY maplog.unit_to_sensor ADD CONSTRAINT uts_sensorid_fk FOREIGN KEY (sensor_id) REFERENCES maplog.sensor(sensor_id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.unit_to_sensor ADD CONSTRAINT uts_unitid_fk FOREIGN KEY (unit_id) REFERENCES maplog.unit(unit_id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.driver_to_action ADD CONSTRAINT dta_unitid_fk FOREIGN KEY (unit_id) REFERENCES maplog.unit(unit_id) ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.driver_to_action ADD CONSTRAINT dta_driverid_fk FOREIGN KEY (driver_id) REFERENCES maplog.driver() ON UPDATE CASCADE ON DELETE CASCADE;
- ALTER TABLE ONLY maplog.driver_to_action ADD CONSTRAINT dta_actionid_fk FOREIGN KEY (action_id) REFERENCES maplog.action(action_id) ON UPDATE CASCADE ON DELETE CASCADE;
- REVOKE USAGE ON SCHEMA public FROM PUBLIC;
- GRANT ALL ON SCHEMA public TO PUBLIC;
|