forked from cemaden-educacao/WPD-MobileApp
GabrielTrettel
3 years ago
5 changed files with 271 additions and 0 deletions
-
1README.md
-
19db/0.services.sys_config.sql
-
88db/1.sys_config.sql
-
163db/services.ddl.sql
-
BINdb/services.erd.pdf
@ -0,0 +1,19 @@ |
|||
DO $$ |
|||
BEGIN |
|||
INSERT INTO users(email, firstname, surname, active) VALUES ('admin@wpd.com', 'admin', 'wpd', 1); |
|||
|
|||
INSERT INTO formsorigins(id, name, active) VALUES (DEFAULT, 'OFICIAL', 1); |
|||
INSERT INTO formsorigins(id, name, active) VALUES (DEFAULT, 'WP6.MobileApp', 1); |
|||
|
|||
INSERT INTO fieldsdatatypes(id, name, description, active) VALUES (DEFAULT, 'integer', 'data type integer', 1); |
|||
INSERT INTO fieldsdatatypes(id, name, description, active) VALUES (DEFAULT, 'text', 'data type text', 1); |
|||
INSERT INTO fieldsdatatypes(id, name, description, active) VALUES (DEFAULT, 'real', 'data type real', 1); |
|||
INSERT INTO fieldsdatatypes(id, name, description, active) VALUES (DEFAULT, 'timestamp', 'data type timestamp', 1); |
|||
INSERT INTO fieldsdatatypes(id, name, description, active) VALUES (DEFAULT, 'geom', 'data type geometric', 1); |
|||
END $$; |
|||
|
|||
--delete from formsfields; |
|||
--delete from fields; |
|||
--delete from forms; |
|||
--delete from fieldsdatatypes; |
|||
--delete from formsorigins; |
@ -0,0 +1,88 @@ |
|||
DO $$ |
|||
DECLARE |
|||
idformsoriginsinserted bigint; |
|||
idformsinserted bigint; |
|||
idfieldsinserted bigint; |
|||
BEGIN |
|||
SELECT id FROM formsorigins INTO idformsoriginsinserted WHERE name = 'WP6.MobileApp' and active = 1; |
|||
|
|||
--BEGIN FLOODZONES_FORM |
|||
INSERT INTO forms(idformsorigins, code, name, description, dtcreation, active) values (idformsoriginsinserted, "FLOODZONES_FORM", "Flood Zones", "Flood Zones Form", DateTime(), 1) |
|||
RETURNING id INTO idformsinserted; |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'id', 'id From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'integer' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'description', 'description From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'text' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Images', 'Images From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'text' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Latitude', 'Latitude From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'real' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Longitude', 'Longitude From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'real' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Passable', 'Passable From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'integer' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Date', 'Date From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'text' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Time', 'Time From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'text' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
|
|||
INSERT INTO fields(idfieldsdatatypes, name, description, fillingclue, active) |
|||
SELECT fdt.id, 'Address', 'Address From FloodZones Form', '', 1 FROM fieldsdatatypes fdt WHERE fdt.name = 'text' |
|||
RETURNING id INTO idfieldsinserted; |
|||
|
|||
INSERT INTO formsfields(id, idforms, idfields, active) VALUES (DEFAULT, idformsinserted, idfieldsinserted, 1); |
|||
--END FLOODZONES_FORM |
|||
|
|||
--BEGIN PLUVIOMETERS_FORM |
|||
INSERT INTO forms(idformsorigins, code, name, description, dtcreation, active) values (idformsoriginsinserted, "PLUVIOMETERS_FORM", "Pluviometers", "Pluviometers Form", DateTime(), 1); |
|||
--END PLUVIOMETERS_FORM |
|||
|
|||
--BEGIN RAIN_FORM |
|||
INSERT INTO forms(idformsorigins, code, name, description, dtcreation, active) values (idformsoriginsinserted, "RAIN_FORM", "Rain", "Rain zones Form", DateTime(), 1); |
|||
--END RAIN_FORM |
|||
|
|||
--BEGIN RIVERFLOOD_FORM |
|||
INSERT INTO forms(idformsorigins, code, name, description, dtcreation, active) values (idformsoriginsinserted, "RIVERFLOOD_FORM", "River Flood", "River Flood Form", DateTime(), 1); |
|||
--END RIVERFLOOD_FORM |
|||
|
|||
--BEGIN PLUVIOMETERS_REGISTRATION |
|||
INSERT INTO forms(idformsorigins, code, name, description, dtcreation, active) values (idformsoriginsinserted, "PLUVIOMETERS_REGISTRATION", "Pluviometer registration", "Pluviometer registration", DateTime(), 1); |
|||
--END PLUVIOMETERS_REGISTRATION |
|||
|
|||
END $$; |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,163 @@ |
|||
CREATE TABLE IF NOT EXISTS users ( |
|||
id SERIAL PRIMARY KEY, |
|||
Email VARCHAR(255) UNIQUE NOT NULL, |
|||
firstname VARCHAR(100) NOT NULL, |
|||
surname VARCHAR(100) NOT NULL, |
|||
avatar VARCHAR(100) NULL, |
|||
active INT NOT NULL |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS profiles |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
name VARCHAR(100) NOT NULL, |
|||
active INT NOT NULL |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS usersprofiles |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idusers INT NOT NULL, |
|||
idprofiles INT NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idusers) REFERENCES users (id), |
|||
FOREIGN KEY (idprofiles) REFERENCES profiles (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS permissions |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
name VARCHAR(100) NOT NULL, |
|||
active INT NOT NULL |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS profilespermissions |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idprofiles INT NOT NULL, |
|||
idpermissions INT NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idprofiles) REFERENCES profiles (id), |
|||
FOREIGN KEY (idpermissions) REFERENCES permissions (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS formsorigins |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
name VARCHAR(100) NOT NULL, |
|||
active INT NOT NULL |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS forms |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idformsorigins INT NOT NULL, |
|||
code VARCHAR(50) UNIQUE NOT NULL, |
|||
name VARCHAR(100) NOT NULL, |
|||
description VARCHAR(100) NOT NULL, |
|||
dtcreation TIMESTAMP NOT NULL DEFAULT NOW(), |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idformsorigins) REFERENCES formsorigins (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS fieldsdatatypes |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
name VARCHAR(100) NOT NULL, |
|||
description VARCHAR(100) NOT NULL, |
|||
active INT NOT NULL |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS fields |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idfieldsdatatypes INT NOT NULL, |
|||
name VARCHAR(100) NOT NULL, |
|||
description VARCHAR(100) NOT NULL, |
|||
fillingclue VARCHAR(100) NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idfieldsdatatypes) REFERENCES fieldsdatatypes (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS formsfields |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idforms INT NOT NULL, |
|||
idfields INT NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idforms) REFERENCES forms (id), |
|||
FOREIGN KEY (idfields) REFERENCES fields (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS alternatives |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
response VARCHAR(100) NOT NULL, |
|||
shortresponse VARCHAR(100) NOT NULL, |
|||
description VARCHAR(100) NOT NULL, |
|||
active INT NOT NULL |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS fieldsalternatives |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idfields INT NOT NULL, |
|||
idalternatives INT NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idfields) REFERENCES fields (id), |
|||
FOREIGN KEY (idalternatives) REFERENCES alternatives (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS formsanswers |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idforms INT NOT NULL, |
|||
idusersinformer INT NOT NULL, |
|||
dtfilling TIMESTAMP NOT NULL, |
|||
latitude NUMERIC NULL, |
|||
longitude NUMERIC NULL, |
|||
FOREIGN KEY (idforms) REFERENCES forms (id), |
|||
FOREIGN KEY (idusersinformer) REFERENCES users (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS fieldsanswers |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idfields INT NOT NULL, |
|||
idformsanswers INT NOT NULL, |
|||
value VARCHAR(100) NULL, |
|||
FOREIGN KEY (idfields) REFERENCES fields (id), |
|||
FOREIGN KEY (idformsanswers) REFERENCES formsanswers (id) |
|||
); |
|||
SELECT AddGeometryColumn('','fieldsanswers','geom','4326','MULTIPOLYGON',2); |
|||
|
|||
CREATE TABLE IF NOT EXISTS usersendorsementfieldsanswers |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idusersendorsement INT NOT NULL, |
|||
idfieldsanswers INT NOT NULL, |
|||
latitude NUMERIC NULL, |
|||
longitude NUMERIC NULL, |
|||
istrustable INT NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idusersendorsement) REFERENCES users (id), |
|||
FOREIGN KEY (idfieldsanswers) REFERENCES fieldsanswers (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS preliminarydata |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idfieldsanswers INT NOT NULL, |
|||
dtinsert TIMESTAMP NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idfieldsanswers) REFERENCES fieldsanswers (id) |
|||
); |
|||
|
|||
CREATE TABLE IF NOT EXISTS trusteddata |
|||
( |
|||
id SERIAL PRIMARY KEY, |
|||
idfieldsanswers INT NOT NULL, |
|||
dtinsert TIMESTAMP NOT NULL, |
|||
active INT NOT NULL, |
|||
FOREIGN KEY (idfieldsanswers) REFERENCES fieldsanswers (id) |
|||
); |
Write
Preview
Loading…
Cancel
Save
Reference in new issue