Skip to content

Commit 74a1637

Browse files
author
github-actions
committed
Automated dump generation
1 parent ce84b27 commit 74a1637

File tree

14 files changed

+215
-8
lines changed

14 files changed

+215
-8
lines changed

docs/data_model/gn_imports/t_imports_occhab.sql

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ CREATE TABLE gn_imports.t_imports_occhab (
5959
src_id_nomenclature_collection_technique character varying,
6060
id_nomenclature_collection_technique integer,
6161
src_recovery_percentage character varying,
62-
recovery_percentage integer,
62+
recovery_percentage numeric,
6363
src_id_nomenclature_abundance character varying,
6464
id_nomenclature_abundance integer,
6565
technical_precision character varying,
@@ -72,7 +72,9 @@ CREATE TABLE gn_imports.t_imports_occhab (
7272
src_id_nomenclature_community_interest character varying,
7373
id_nomenclature_community_interest integer,
7474
src_id_nomenclature_type_mosaique_habitat character varying,
75-
id_nomenclature_type_mosaique_habitat integer
75+
id_nomenclature_type_mosaique_habitat integer,
76+
src_id_nomenclature_type_sol character varying,
77+
id_nomenclature_type_sol integer
7678
);
7779

7880
ALTER TABLE ONLY gn_imports.t_imports_occhab
@@ -115,3 +117,6 @@ ALTER TABLE ONLY gn_imports.t_imports_occhab
115117
ALTER TABLE ONLY gn_imports.t_imports_occhab
116118
ADD CONSTRAINT t_imports_occhab_id_nomenclature_type_mosaique_habitat_fkey FOREIGN KEY (id_nomenclature_type_mosaique_habitat) REFERENCES ref_nomenclatures.t_nomenclatures(id_nomenclature);
117119

120+
ALTER TABLE ONLY gn_imports.t_imports_occhab
121+
ADD CONSTRAINT t_imports_occhab_id_nomenclature_type_sol_fkey FOREIGN KEY (id_nomenclature_type_sol) REFERENCES ref_nomenclatures.t_nomenclatures(id_nomenclature);
122+

docs/data_model/gn_meta/t_acquisition_frameworks.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ CREATE TABLE gn_meta.t_acquisition_frameworks (
1818
acquisition_framework_end_date date,
1919
meta_create_date timestamp without time zone NOT NULL,
2020
meta_update_date timestamp without time zone,
21-
initial_closing_date timestamp without time zone
21+
initial_closing_date timestamp without time zone,
22+
additional_data jsonb DEFAULT '{}'::jsonb
2223
);
2324

2425
COMMENT ON TABLE gn_meta.t_acquisition_frameworks IS 'Define a acquisition framework that embed datasets. Implement 1.3.10 SINP metadata standard';

docs/data_model/gn_meta/t_datasets.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ CREATE TABLE gn_meta.t_datasets (
2424
id_digitizer integer,
2525
id_taxa_list integer,
2626
meta_create_date timestamp without time zone NOT NULL,
27-
meta_update_date timestamp without time zone
27+
meta_update_date timestamp without time zone,
28+
additional_data jsonb DEFAULT '{}'::jsonb
2829
);
2930

3031
COMMENT ON TABLE gn_meta.t_datasets IS 'A dataset is a dataset or a survey and each observation is attached to a dataset. A lot allows to qualify datas to which it is attached (producer, owner, manager, gestionnaire, financer, public data yes/no). A dataset can be attached to a program. GeoNature V2 backoffice allows to manage datasets.';
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
CREATE TABLE gn_monitoring.cor_individual_module (
3+
id_individual integer NOT NULL,
4+
id_module integer NOT NULL
5+
);
6+
7+
ALTER TABLE ONLY gn_monitoring.cor_individual_module
8+
ADD CONSTRAINT cor_individual_module_pkey PRIMARY KEY (id_individual, id_module);
9+
10+
ALTER TABLE ONLY gn_monitoring.cor_individual_module
11+
ADD CONSTRAINT cor_individual_module_id_individual_fkey FOREIGN KEY (id_individual) REFERENCES gn_monitoring.t_individuals(id_individual) ON DELETE CASCADE;
12+
13+
ALTER TABLE ONLY gn_monitoring.cor_individual_module
14+
ADD CONSTRAINT cor_individual_module_id_module_fkey FOREIGN KEY (id_module) REFERENCES gn_commons.t_modules(id_module) ON DELETE CASCADE;
15+

docs/data_model/gn_monitoring/functions.sql

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,40 @@ BEGIN
1212
END;
1313
$function$
1414

15+
CREATE OR REPLACE FUNCTION gn_monitoring.fct_trg_t_individuals_t_observations_cd_nom()
16+
RETURNS trigger
17+
LANGUAGE plpgsql
18+
AS $function$
19+
BEGIN
20+
21+
-- Mise à jour du cd_nom de la table observation
22+
IF
23+
NEW.id_individual = OLD.id_individual
24+
THEN
25+
UPDATE gn_monitoring.t_observations SET cd_nom = NEW.cd_nom WHERE id_individual = NEW.id_individual;
26+
END IF;
27+
28+
RETURN NEW;
29+
END;
30+
$function$
31+
32+
CREATE OR REPLACE FUNCTION gn_monitoring.fct_trg_t_observations_cd_nom()
33+
RETURNS trigger
34+
LANGUAGE plpgsql
35+
AS $function$
36+
BEGIN
37+
38+
-- Récupération du cd_nom depuis la table des individus
39+
IF
40+
NOT NEW.id_individual IS NULL
41+
THEN
42+
NEW.cd_nom := (SELECT cd_nom FROM gn_monitoring.t_individuals ti WHERE id_individual = NEW.id_individual);
43+
END IF;
44+
45+
RETURN NEW;
46+
END;
47+
$function$
48+
1549
CREATE OR REPLACE FUNCTION gn_monitoring.fct_trg_visite_date_max()
1650
RETURNS trigger
1751
LANGUAGE plpgsql
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
2+
CREATE TABLE gn_monitoring.t_individuals (
3+
id_individual integer NOT NULL,
4+
uuid_individual uuid DEFAULT public.uuid_generate_v4() NOT NULL,
5+
individual_name character varying(255) NOT NULL,
6+
cd_nom integer NOT NULL,
7+
id_nomenclature_sex integer DEFAULT ref_nomenclatures.get_default_nomenclature_value('SEXE'::character varying),
8+
active boolean DEFAULT true,
9+
comment text,
10+
id_digitiser integer NOT NULL,
11+
meta_create_date timestamp without time zone DEFAULT now(),
12+
meta_update_date timestamp without time zone DEFAULT now()
13+
);
14+
15+
CREATE SEQUENCE gn_monitoring.t_individuals_id_individual_seq
16+
AS integer
17+
START WITH 1
18+
INCREMENT BY 1
19+
NO MINVALUE
20+
NO MAXVALUE
21+
CACHE 1;
22+
23+
ALTER SEQUENCE gn_monitoring.t_individuals_id_individual_seq OWNED BY gn_monitoring.t_individuals.id_individual;
24+
25+
ALTER TABLE ONLY gn_monitoring.t_individuals
26+
ADD CONSTRAINT t_individuals_pkey PRIMARY KEY (id_individual);
27+
28+
CREATE TRIGGER trg_update_t_observations_cd_nom AFTER UPDATE ON gn_monitoring.t_individuals FOR EACH ROW EXECUTE FUNCTION gn_monitoring.fct_trg_t_individuals_t_observations_cd_nom();
29+
30+
ALTER TABLE ONLY gn_monitoring.t_individuals
31+
ADD CONSTRAINT t_individuals_cd_nom_fkey FOREIGN KEY (cd_nom) REFERENCES taxonomie.taxref(cd_nom);
32+
33+
ALTER TABLE ONLY gn_monitoring.t_individuals
34+
ADD CONSTRAINT t_individuals_id_digitiser_fkey FOREIGN KEY (id_digitiser) REFERENCES utilisateurs.t_roles(id_role);
35+
36+
ALTER TABLE ONLY gn_monitoring.t_individuals
37+
ADD CONSTRAINT t_individuals_id_nomenclature_sex_fkey FOREIGN KEY (id_nomenclature_sex) REFERENCES ref_nomenclatures.t_nomenclatures(id_nomenclature);
38+
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
2+
CREATE TABLE gn_monitoring.t_marking_events (
3+
id_marking integer NOT NULL,
4+
uuid_marking uuid DEFAULT public.uuid_generate_v4() NOT NULL,
5+
id_module integer,
6+
id_individual integer NOT NULL,
7+
marking_date date NOT NULL,
8+
id_operator integer NOT NULL,
9+
id_base_marking_site integer,
10+
id_nomenclature_marking_type integer NOT NULL,
11+
marking_location character varying(255),
12+
marking_code character varying(255),
13+
marking_details text,
14+
data jsonb,
15+
id_digitiser integer NOT NULL,
16+
meta_create_date timestamp without time zone DEFAULT now(),
17+
meta_update_date timestamp without time zone DEFAULT now()
18+
);
19+
20+
CREATE SEQUENCE gn_monitoring.t_marking_events_id_marking_seq
21+
AS integer
22+
START WITH 1
23+
INCREMENT BY 1
24+
NO MINVALUE
25+
NO MAXVALUE
26+
CACHE 1;
27+
28+
ALTER SEQUENCE gn_monitoring.t_marking_events_id_marking_seq OWNED BY gn_monitoring.t_marking_events.id_marking;
29+
30+
ALTER TABLE gn_monitoring.t_marking_events
31+
ADD CONSTRAINT check_marking_type CHECK (ref_nomenclatures.check_nomenclature_type_by_mnemonique(id_nomenclature_marking_type, 'TYP_MARQUAGE'::character varying)) NOT VALID;
32+
33+
ALTER TABLE ONLY gn_monitoring.t_marking_events
34+
ADD CONSTRAINT t_marking_events_pkey PRIMARY KEY (id_marking);
35+
36+
ALTER TABLE ONLY gn_monitoring.t_marking_events
37+
ADD CONSTRAINT t_marking_events_id_base_marking_site_fkey FOREIGN KEY (id_base_marking_site) REFERENCES gn_monitoring.t_base_sites(id_base_site);
38+
39+
ALTER TABLE ONLY gn_monitoring.t_marking_events
40+
ADD CONSTRAINT t_marking_events_id_digitiser_fkey FOREIGN KEY (id_digitiser) REFERENCES utilisateurs.t_roles(id_role);
41+
42+
ALTER TABLE ONLY gn_monitoring.t_marking_events
43+
ADD CONSTRAINT t_marking_events_id_individual_fkey FOREIGN KEY (id_individual) REFERENCES gn_monitoring.t_individuals(id_individual) ON DELETE CASCADE;
44+
45+
ALTER TABLE ONLY gn_monitoring.t_marking_events
46+
ADD CONSTRAINT t_marking_events_id_module_fkey FOREIGN KEY (id_module) REFERENCES gn_commons.t_modules(id_module) ON DELETE CASCADE;
47+
48+
ALTER TABLE ONLY gn_monitoring.t_marking_events
49+
ADD CONSTRAINT t_marking_events_id_nomenclature_marking_type_fkey FOREIGN KEY (id_nomenclature_marking_type) REFERENCES ref_nomenclatures.t_nomenclatures(id_nomenclature);
50+
51+
ALTER TABLE ONLY gn_monitoring.t_marking_events
52+
ADD CONSTRAINT t_marking_events_id_operator_fkey FOREIGN KEY (id_operator) REFERENCES utilisateurs.t_roles(id_role);
53+

docs/data_model/gn_monitoring/t_observations.sql

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ CREATE TABLE gn_monitoring.t_observations (
55
cd_nom integer NOT NULL,
66
comments text,
77
uuid_observation uuid DEFAULT public.uuid_generate_v4() NOT NULL,
8-
id_digitiser integer NOT NULL
8+
id_digitiser integer NOT NULL,
9+
id_individual integer
910
);
1011

1112
CREATE SEQUENCE gn_monitoring.t_observations_id_observation_seq
@@ -21,9 +22,17 @@ ALTER SEQUENCE gn_monitoring.t_observations_id_observation_seq OWNED BY gn_monit
2122
ALTER TABLE ONLY gn_monitoring.t_observations
2223
ADD CONSTRAINT pk_t_observations PRIMARY KEY (id_observation);
2324

25+
CREATE TRIGGER trg_update_cd_nom BEFORE INSERT OR UPDATE ON gn_monitoring.t_observations FOR EACH ROW EXECUTE FUNCTION gn_monitoring.fct_trg_t_observations_cd_nom();
26+
27+
ALTER TABLE ONLY gn_monitoring.t_observations
28+
ADD CONSTRAINT fk_t_observations_cd_nom_fkey FOREIGN KEY (cd_nom) REFERENCES taxonomie.taxref(cd_nom);
29+
2430
ALTER TABLE ONLY gn_monitoring.t_observations
2531
ADD CONSTRAINT fk_t_observations_id_base_visit FOREIGN KEY (id_base_visit) REFERENCES gn_monitoring.t_base_visits(id_base_visit) ON UPDATE CASCADE ON DELETE CASCADE;
2632

2733
ALTER TABLE ONLY gn_monitoring.t_observations
2834
ADD CONSTRAINT fk_t_observations_id_digitiser FOREIGN KEY (id_digitiser) REFERENCES utilisateurs.t_roles(id_role) ON UPDATE CASCADE;
2935

36+
ALTER TABLE ONLY gn_monitoring.t_observations
37+
ADD CONSTRAINT fk_t_observations_id_individual FOREIGN KEY (id_individual) REFERENCES gn_monitoring.t_individuals(id_individual) ON UPDATE CASCADE;
38+

docs/data_model/gn_notifications/bib_notifications_categories.sql

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,21 @@
22
CREATE TABLE gn_notifications.bib_notifications_categories (
33
code character varying NOT NULL,
44
label character varying,
5-
description text
5+
description text,
6+
id_module integer,
7+
id_object integer,
8+
id_action integer
69
);
710

811
ALTER TABLE ONLY gn_notifications.bib_notifications_categories
912
ADD CONSTRAINT bib_notifications_categories_pkey PRIMARY KEY (code);
1013

14+
ALTER TABLE ONLY gn_notifications.bib_notifications_categories
15+
ADD CONSTRAINT bib_notifications_categories_id_action_fkey FOREIGN KEY (id_action) REFERENCES gn_permissions.bib_actions(id_action);
16+
17+
ALTER TABLE ONLY gn_notifications.bib_notifications_categories
18+
ADD CONSTRAINT bib_notifications_categories_id_module_fkey FOREIGN KEY (id_module) REFERENCES gn_commons.t_modules(id_module);
19+
20+
ALTER TABLE ONLY gn_notifications.bib_notifications_categories
21+
ADD CONSTRAINT bib_notifications_categories_id_object_fkey FOREIGN KEY (id_object) REFERENCES gn_permissions.t_objects(id_object);
22+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
CREATE TABLE gn_permissions.cor_permission_area (
3+
id_permission integer NOT NULL,
4+
id_area integer NOT NULL
5+
);
6+
7+
ALTER TABLE ONLY gn_permissions.cor_permission_area
8+
ADD CONSTRAINT cor_permission_area_pkey PRIMARY KEY (id_permission, id_area);
9+
10+
ALTER TABLE ONLY gn_permissions.cor_permission_area
11+
ADD CONSTRAINT cor_permission_area_id_area_fkey FOREIGN KEY (id_area) REFERENCES ref_geo.l_areas(id_area);
12+
13+
ALTER TABLE ONLY gn_permissions.cor_permission_area
14+
ADD CONSTRAINT cor_permission_area_id_permission_fkey FOREIGN KEY (id_permission) REFERENCES gn_permissions.t_permissions(id_permission);
15+

0 commit comments

Comments
 (0)