diff --git a/mcd/vmap_2019.png b/mcd/vmap_2019.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd94e57c0d62a1535d4b217785b3854901486f8 Binary files /dev/null and b/mcd/vmap_2019.png differ diff --git a/mcd/vmap_2021.dbm b/mcd/vmap_2021.dbm index 3179b1803504ba3eaac695100ccb5c3739a8c49e..eb35c55174a6ec4544b8d125591b5c89295b8ef4 100644 --- a/mcd/vmap_2021.dbm +++ b/mcd/vmap_2021.dbm @@ -3,7 +3,7 @@ CAUTION: Do not modify this file unless you know what you are doing. Unexpected results may occur if the code is changed deliberately. --> -<dbmodel pgmodeler-ver="0.9.2" last-position="0,0" last-zoom="0.95" max-obj-count="40" +<dbmodel pgmodeler-ver="0.9.2" last-position="906,229" last-zoom="0.95" max-obj-count="40" default-owner="postgres"> <database name="new_database" is-template="false" allow-conns="true"> </database> @@ -87,29 +87,29 @@ flux_osm]]></comment> <type name="serial" length="0"/> </column> <column name="name"> - <type name="smallint" length="0"/> + <type name="varchar" length="100"/> <comment><![CDATA[Avec accents, espaces...]]></comment> </column> <column name="datasource_id"> - <type name="smallint" length="0"/> + <type name="integer" length="0"/> </column> <column name="datemaj"> - <type name="smallint" length="0"/> + <type name="date" length="0"/> </column> <column name="source_id"> - <type name="smallint" length="0"/> + <type name="integer" length="0"/> </column> <column name="extent"> <type name="text" length="0"/> </column> <column name="min_layer_scale"> - <type name="smallint" length="0"/> + <type name="integer" length="0"/> </column> <column name="max_layer_scale"> - <type name="smallint" length="0"/> + <type name="integer" length="0"/> </column> <column name="active"> - <type name="smallint" length="0"/> + <type name="boolean" length="0"/> </column> <column name="is_background_layer"> <type name="boolean" length="0"/> @@ -127,22 +127,22 @@ flux_osm]]></comment> <role name="postgres"/> <position x="1400" y="60"/> <column name="map_id" not-null="true"> - <type name="smallint" length="0"/> + <type name="serial" length="0"/> </column> <column name="name"> - <type name="smallint" length="0"/> + <type name="varchar" length="100"/> </column> <column name="description"> - <type name="smallint" length="0"/> + <type name="text" length="0"/> </column> <column name="extent"> - <type name="smallint" length="0"/> + <type name="text" length="0"/> </column> <column name="catalog_index"> - <type name="smallint" length="0"/> + <type name="integer" length="0"/> </column> <column name="thumbnail"> - <type name="smallint" length="0"/> + <type name="varchar" length="255"/> </column> <column name="theme_id"> <type name="integer" length="0"/> @@ -163,7 +163,7 @@ flux_osm]]></comment> <type name="serial" length="0"/> </column> <column name="name"> - <type name="varchar" length="255"/> + <type name="varchar" length="100"/> </column> <constraint name="source_pk" type="pk-constr" table="s_vmap_2021.source"> <columns names="source_id" ref-type="src-columns"/> @@ -178,16 +178,16 @@ flux_osm]]></comment> <type name="serial" length="0"/> </column> <column name="definition"> - <type name="smallint" length="0"/> + <type name="text" length="0"/> </column> <column name="label"> - <type name="smallint" length="0"/> + <type name="varchar" length="100"/> </column> <column name="epsg"> - <type name="smallint" length="0"/> + <type name="varchar" length="20"/> </column> <column name="epsg_definition"> - <type name="smallint" length="0"/> + <type name="text" length="0"/> </column> <constraint name="coordsys_pk" type="pk-constr" table="s_vmap_2021.coordsys"> <columns names="coordsys_id" ref-type="src-columns"/> @@ -202,7 +202,7 @@ flux_osm]]></comment> <type name="serial" length="0"/> </column> <column name="label"> - <type name="varchar" length="255"/> + <type name="varchar" length="100"/> </column> <constraint name="ms_geomtype_pk" type="pk-constr" table="s_vmap_2021.ms_geomtype"> <columns names="ms_geomtype_id" ref-type="src-columns"/> @@ -223,7 +223,7 @@ flux_osm]]></comment> <type name="integer" length="0"/> </column> <column name="definition_sym_json"> - <type name="text" length="0"/> + <type name="json" length="0"/> </column> <column name="definition_sym_mapserver"> <type name="text" length="0"/> @@ -322,12 +322,15 @@ flux_osm]]></comment> <role name="postgres"/> <comment><![CDATA[Type de source de données (postgres public, postgres privée, WMS, fichier local ...)]]></comment> <position x="20" y="400"/> - <column name="datasourcetype_id"> + <column name="datasourcetype_id" not-null="true"> <type name="serial" length="0"/> </column> <column name="label"> <type name="varchar" length="255"/> </column> + <constraint name="datasourcetype_pk" type="pk-constr" table="s_vmap_2021.datasourcetype"> + <columns names="datasourcetype_id" ref-type="src-columns"/> + </constraint> </table> <table name="layerpostgres" layer="0" collapse-mode="2" max-obj-count="43"> @@ -370,7 +373,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <type name="integer" length="0"/> </column> <column name="json_columns"> - <type name="text" length="0"/> + <type name="json" length="0"/> <comment><![CDATA[Mappage entre les colonnes, les libéllés, si elles sont disponibles en recherche etc.]]></comment> </column> <column name="is_location"> @@ -386,7 +389,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <type name="varchar" length="100"/> </column> <column name="location_search_mode_id"> - <type name="varchar" length="100"/> + <type name="integer" length="100"/> <comment><![CDATA[Type de recherche (début, milieu, fin de chaîne ou "texte plain" de postgresql)]]></comment> </column> <column name="is_map_selection"> @@ -399,13 +402,13 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <type name="boolean" length="0"/> </column> <column name="min_edition_scale"> - <type name="numeric" length="0"/> + <type name="integer" length="0"/> </column> <column name="max_edition_scale"> - <type name="numeric" length="0"/> + <type name="integer" length="0"/> </column> <column name="form_title"> - <type name="varchar" length="255"/> + <type name="varchar" length="100"/> </column> <column name="form_display_size_id"> <type name="integer" length="0"/> @@ -429,19 +432,19 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <type name="varchar" length="100"/> </column> <column name="default_form_json_def"> - <type name="text" length="0"/> + <type name="json" length="0"/> </column> <column name="default_form_js_def"> <type name="text" length="0"/> </column> <column name="published_form_json_def"> - <type name="text" length="0"/> + <type name="json" length="0"/> </column> <column name="published_form_js_def"> <type name="text" length="0"/> </column> <column name="custom_form_json_def"> - <type name="text" length="0"/> + <type name="json" length="0"/> </column> <column name="custom_form_js_def"> <type name="text" length="0"/> @@ -630,7 +633,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <type name="serial" length="0"/> </column> <column name="label"> - <type name="varchar" length="255"/> + <type name="varchar" length="100"/> </column> <constraint name="thememap_pk" type="pk-constr" table="s_vmap_2021.thememap"> <columns names="thememap_id" ref-type="src-columns"/> @@ -715,7 +718,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <comment><![CDATA[Avec accents, espaces etc.]]></comment> </column> <column name="name"> - <type name="varchar" length="255"/> + <type name="varchar" length="100"/> <comment><![CDATA[Sans accents, espaces...]]></comment> </column> <column name="datasource_id"> @@ -749,7 +752,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <type name="serial" length="0"/> </column> <column name="label"> - <type name="varchar" length="255"/> + <type name="varchar" length="100"/> </column> <constraint name="themelayer_pk" type="pk-constr" table="s_vmap_2021.themelayer"> <columns names="themelayer_id" ref-type="src-columns"/> diff --git a/mcd/vmap_2021.png b/mcd/vmap_2021.png new file mode 100644 index 0000000000000000000000000000000000000000..9bcea287f31848af036a0780153627768c380ad6 Binary files /dev/null and b/mcd/vmap_2021.png differ diff --git a/mcd/vmap_2021.sql b/mcd/vmap_2021.sql new file mode 100644 index 0000000000000000000000000000000000000000..0757b777996ca613c545edd25188e3d2b071466a --- /dev/null +++ b/mcd/vmap_2021.sql @@ -0,0 +1,736 @@ +-- Database generated with pgModeler (PostgreSQL Database Modeler). +-- pgModeler version: 0.9.2 +-- PostgreSQL version: 12.0 +-- Project Site: pgmodeler.io +-- Model Author: --- + + +-- Database creation must be done outside a multicommand file. +-- These commands were put in this file only as a convenience. +-- -- object: new_database | type: DATABASE -- +-- -- DROP DATABASE IF EXISTS new_database; +-- CREATE DATABASE new_database; +-- -- ddl-end -- +-- + +-- object: s_vmap_2021 | type: SCHEMA -- +-- DROP SCHEMA IF EXISTS s_vmap_2021 CASCADE; +CREATE SCHEMA s_vmap_2021; +-- ddl-end -- +-- ALTER SCHEMA s_vmap_2021 OWNER TO postgres; +-- ddl-end -- + +SET search_path TO pg_catalog,public,s_vmap_2021; +-- ddl-end -- + +-- object: s_vmap_2021.datasource | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.datasource CASCADE; +CREATE TABLE s_vmap_2021.datasource ( + datasource_id serial NOT NULL, + name varchar(100), + description text, + datasourcetype_id integer NOT NULL, + pg_database varchar(100), + pg_server varchar(100), + pg_port integer, + pg_login varchar(100), + pg_password varchar(100), + directory_path text, + flux_url varchar(255), + flux_type_version varchar(100), + flux_options text, + flux_login varchar(100), + flux_password varchar(100), + CONSTRAINT pk_datasource_id PRIMARY KEY (datasource_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.datasource.datasourcetype_id IS E'postgres_interne\npostgres_publique\ndirectory\nflux_wms\nflux_wmts\nflux_xyz\nflux_osm'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.datasource.directory_path IS E'Dossier racine où seraient entreposés plusieurs fichiers (shp, Raster..)'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.datasource.flux_options IS E'JSON contenant les différentes options du flux, cela peut être par exemple la matrice pour le WMTS'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.datasource OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layer | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layer CASCADE; +CREATE TABLE s_vmap_2021.layer ( + layer_id serial NOT NULL, + name varchar(100), + datasource_id integer, + datemaj date, + source_id integer, + extent text, + min_layer_scale integer, + max_layer_scale integer, + active boolean, + is_background_layer boolean, + theme_id integer, + CONSTRAINT pk_layer_id PRIMARY KEY (layer_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layer.name IS E'Avec accents, espaces...'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layer OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.map | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.map CASCADE; +CREATE TABLE s_vmap_2021.map ( + map_id serial NOT NULL, + name varchar(100), + description text, + extent text, + catalog_index integer, + thumbnail varchar(255), + theme_id integer, + maptools json, + CONSTRAINT map_pk PRIMARY KEY (map_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.map OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.source | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.source CASCADE; +CREATE TABLE s_vmap_2021.source ( + source_id serial NOT NULL, + name varchar(100), + CONSTRAINT source_pk PRIMARY KEY (source_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.source OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.coordsys | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.coordsys CASCADE; +CREATE TABLE s_vmap_2021.coordsys ( + coordsys_id serial NOT NULL, + definition text, + label varchar(100), + epsg varchar(20), + epsg_definition text, + CONSTRAINT coordsys_pk PRIMARY KEY (coordsys_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.coordsys OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.ms_geomtype | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.ms_geomtype CASCADE; +CREATE TABLE s_vmap_2021.ms_geomtype ( + ms_geomtype_id serial NOT NULL, + label varchar(100), + CONSTRAINT ms_geomtype_pk PRIMARY KEY (ms_geomtype_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.ms_geomtype OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layer_map | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layer_map CASCADE; +CREATE TABLE s_vmap_2021.layer_map ( + layer_map_id serial NOT NULL, + layer_id integer, + map_id integer, + definition_sym_json json, + definition_sym_mapserver text, + layer_index integer, + is_visible boolean, + is_location boolean, + is_map_selection boolean, + is_data_grid boolean, + CONSTRAINT layer_map_pk PRIMARY KEY (layer_map_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layer_map.is_location IS E'uniquement pour couches de type postgres'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layer_map.is_map_selection IS E'uniquement pour couches de type postgres'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layer_map.is_data_grid IS E'uniquement pour couches de type postgres'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layer_map OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.flux | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.flux CASCADE; +CREATE TABLE s_vmap_2021.flux ( + flux_id serial NOT NULL, + name varchar(255), + definition_json text, + definition_mapserver text, + public boolean DEFAULT true, + msdebuglevel_id integer, + coordsys_id integer, + fluxtype_id smallint, + CONSTRAINT pk_msservice_id PRIMARY KEY (flux_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.flux OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.publication_flux | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.publication_flux CASCADE; +CREATE TABLE s_vmap_2021.publication_flux ( + flux_layer_id serial NOT NULL, + publication_id integer, + flux_id integer, + CONSTRAINT pk_msservice_layer_id PRIMARY KEY (flux_layer_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.publication_flux OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.fluxdebuglevel | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.fluxdebuglevel CASCADE; +CREATE TABLE s_vmap_2021.fluxdebuglevel ( + fluxdebuglevel_id serial NOT NULL, + label varchar(255), + CONSTRAINT pk_fluxdebuglevel_id PRIMARY KEY (fluxdebuglevel_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.fluxdebuglevel OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.datasourcetype | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.datasourcetype CASCADE; +CREATE TABLE s_vmap_2021.datasourcetype ( + datasourcetype_id serial NOT NULL, + label varchar(255), + CONSTRAINT datasourcetype_pk PRIMARY KEY (datasourcetype_id) + +); +-- ddl-end -- +COMMENT ON TABLE s_vmap_2021.datasourcetype IS E'Type de source de données (postgres public, postgres privée, WMS, fichier local ...)'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.datasourcetype OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layerpostgres | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layerpostgres CASCADE; +CREATE TABLE s_vmap_2021.layerpostgres ( + layer_id integer NOT NULL, + definition_sym_json json, + definition_sym_mapserver text, + is_sym_definition_json boolean, + database varchar(100), + schema varchar(100), + "table" varchar(100), + idfield varchar(100), + geomfield varchar(100), + coordsys_id integer, + ms_geomtype_id integer, + json_columns json, + is_location boolean, + location_search_field varchar(100), + location_placeholder varchar(100), + location_result_field varchar(100), + location_search_mode_id integer, + is_map_selection boolean, + map_selection_buffer float8, + is_data_grid boolean, + min_edition_scale integer, + max_edition_scale integer, + form_title varchar(100), + form_display_size_id integer, + form_insert_size_id integer, + form_update_size_id integer, + is_clone boolean, + is_automatically_edit boolean, + is_multi_edit boolean, + multi_select_field varchar(100), + default_form_json_def json, + default_form_js_def text, + published_form_json_def json, + published_form_js_def text, + custom_form_json_def json, + custom_form_js_def text, + CONSTRAINT pk_layerpostgres_id PRIMARY KEY (layer_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerpostgres.is_sym_definition_json IS E'Si c''est Oui : on utilise le studio\nSi c''est Non : l''utilisateur a basculé sur l''édition manuelle du mapfile'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerpostgres.json_columns IS E'Mappage entre les colonnes, les libéllés, si elles sont disponibles en recherche etc.'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerpostgres.location_search_mode_id IS E'Type de recherche (début, milieu, fin de chaîne ou "texte plain" de postgresql)'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layerpostgres OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.searchmode | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.searchmode CASCADE; +CREATE TABLE s_vmap_2021.searchmode ( + searchmode_id serial NOT NULL, + label varchar(100), + CONSTRAINT locationsearchmode_pk PRIMARY KEY (searchmode_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.searchmode OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.formsize | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.formsize CASCADE; +CREATE TABLE s_vmap_2021.formsize ( + formsize_id serial NOT NULL, + label varchar(100), + CONSTRAINT formsize_pk PRIMARY KEY (formsize_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.formsize OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.map_group | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.map_group CASCADE; +CREATE TABLE s_vmap_2021.map_group ( + map_group_id serial NOT NULL, + map_id integer, + group_id integer, + CONSTRAINT map_group_pk PRIMARY KEY (map_group_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.map_group OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layerwms | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layerwms CASCADE; +CREATE TABLE s_vmap_2021.layerwms ( + layer_id integer NOT NULL, + layer_name varchar(255), + crs_list varchar(255), + layer_style varchar(255), + layer_format varchar(255), + layer_options json, + is_tiled boolean, + CONSTRAINT layerwms_pk PRIMARY KEY (layer_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerwms.layer_name IS E'noms sans accents, espaces séparés par une virgule'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerwms.crs_list IS E'Séparés par un pipe'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerwms.layer_options IS E'Contient les infos du GetCapabilities'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layerwms OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layerwmts | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layerwmts CASCADE; +CREATE TABLE s_vmap_2021.layerwmts ( + layer_id integer NOT NULL, + layer_name varchar(255), + matrix_set varchar(255), + layer_style varchar(255), + layer_format varchar(255), + layer_options json, + CONSTRAINT layerwmts_pk PRIMARY KEY (layer_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerwmts.layer_options IS E'Contient les infos du GetCapabilities'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layerwmts OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layerxyz | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layerxyz CASCADE; +CREATE TABLE s_vmap_2021.layerxyz ( + layer_id integer NOT NULL, + CONSTRAINT layerxyz_pk PRIMARY KEY (layer_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layerxyz OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layerosm | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layerosm CASCADE; +CREATE TABLE s_vmap_2021.layerosm ( + layer_id integer NOT NULL, + CONSTRAINT layerosm_pk PRIMARY KEY (layer_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layerosm OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.layerfile | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.layerfile CASCADE; +CREATE TABLE s_vmap_2021.layerfile ( + layer_id integer NOT NULL, + file_path text, + fileformat_id integer, + coordsys_id integer, + CONSTRAINT layerfile_pk PRIMARY KEY (layer_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.layerfile.file_path IS E'Chemin depuis ce qui est déclaré dans la datasource'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.layerfile OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.fileformat | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.fileformat CASCADE; +CREATE TABLE s_vmap_2021.fileformat ( + fileformat_id serial NOT NULL, + label varchar(100), + CONSTRAINT fileformat_pk PRIMARY KEY (fileformat_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.fileformat OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.thememap | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.thememap CASCADE; +CREATE TABLE s_vmap_2021.thememap ( + thememap_id serial NOT NULL, + label varchar(100), + CONSTRAINT thememap_pk PRIMARY KEY (thememap_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.thememap OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.publicationpostgres | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.publicationpostgres CASCADE; +CREATE TABLE s_vmap_2021.publicationpostgres ( + publication_id integer NOT NULL, + definition_sym_json json, + definition_sym_mapserver text, + is_sym_definition_json boolean, + database varchar(100), + schema varchar(100), + "table" varchar(100), + idfield varchar(100), + geomfield varchar(100), + coordsys_id integer, + ms_geomtype_id integer, + CONSTRAINT pk_publicationfile_id PRIMARY KEY (publication_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.publicationpostgres.is_sym_definition_json IS E'Si c''est Oui : on utilise le studio\nSi c''est Non : l''utilisateur a basculé sur l''édition manuelle du mapfile'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.publicationpostgres OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.publicationfile | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.publicationfile CASCADE; +CREATE TABLE s_vmap_2021.publicationfile ( + publication_id integer NOT NULL, + file_path text, + fileformat_id integer, + coordsys_id integer, + CONSTRAINT publicationfile_pk PRIMARY KEY (publication_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.publicationfile.file_path IS E'Chemin depuis ce qui est déclaré dans la datasource'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.publicationfile OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.publication | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.publication CASCADE; +CREATE TABLE s_vmap_2021.publication ( + publication_id serial NOT NULL, + title varchar(255), + name varchar(100), + datasource_id smallint, + datemaj date, + extent text, + active bool, + min_layer_scale integer, + max_layer_scale integer, + CONSTRAINT pk_publication_id PRIMARY KEY (publication_id) + +); +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.publication.title IS E'Avec accents, espaces etc.'; +-- ddl-end -- +COMMENT ON COLUMN s_vmap_2021.publication.name IS E'Sans accents, espaces...'; +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.publication OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.themelayer | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.themelayer CASCADE; +CREATE TABLE s_vmap_2021.themelayer ( + themelayer_id serial NOT NULL, + label varchar(100), + CONSTRAINT themelayer_pk PRIMARY KEY (themelayer_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.themelayer OWNER TO postgres; +-- ddl-end -- + +-- object: s_vmap_2021.fluxtype | type: TABLE -- +-- DROP TABLE IF EXISTS s_vmap_2021.fluxtype CASCADE; +CREATE TABLE s_vmap_2021.fluxtype ( + fluxtype_id serial NOT NULL, + label varchar(255), + CONSTRAINT pk_fluxtype_id PRIMARY KEY (fluxtype_id) + +); +-- ddl-end -- +-- ALTER TABLE s_vmap_2021.fluxtype OWNER TO postgres; +-- ddl-end -- + +-- object: fk_datasourcetype_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.datasource DROP CONSTRAINT IF EXISTS fk_datasourcetype_id CASCADE; +ALTER TABLE s_vmap_2021.datasource ADD CONSTRAINT fk_datasourcetype_id FOREIGN KEY (datasourcetype_id) +REFERENCES s_vmap_2021.datasourcetype (datasourcetype_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_datasource_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layer DROP CONSTRAINT IF EXISTS fk_datasource_id CASCADE; +ALTER TABLE s_vmap_2021.layer ADD CONSTRAINT fk_datasource_id FOREIGN KEY (datasource_id) +REFERENCES s_vmap_2021.datasource (datasource_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_source_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layer DROP CONSTRAINT IF EXISTS fk_source_id CASCADE; +ALTER TABLE s_vmap_2021.layer ADD CONSTRAINT fk_source_id FOREIGN KEY (source_id) +REFERENCES s_vmap_2021.source (source_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_theme_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layer DROP CONSTRAINT IF EXISTS fk_theme_id CASCADE; +ALTER TABLE s_vmap_2021.layer ADD CONSTRAINT fk_theme_id FOREIGN KEY (theme_id) +REFERENCES s_vmap_2021.themelayer (themelayer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_theme_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.map DROP CONSTRAINT IF EXISTS fk_theme_id CASCADE; +ALTER TABLE s_vmap_2021.map ADD CONSTRAINT fk_theme_id FOREIGN KEY (theme_id) +REFERENCES s_vmap_2021.thememap (thememap_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layer_map DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layer_map ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_map_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layer_map DROP CONSTRAINT IF EXISTS fk_map_id CASCADE; +ALTER TABLE s_vmap_2021.layer_map ADD CONSTRAINT fk_map_id FOREIGN KEY (map_id) +REFERENCES s_vmap_2021.map (map_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_msdebuglevel_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.flux DROP CONSTRAINT IF EXISTS fk_msdebuglevel_id CASCADE; +ALTER TABLE s_vmap_2021.flux ADD CONSTRAINT fk_msdebuglevel_id FOREIGN KEY (msdebuglevel_id) +REFERENCES s_vmap_2021.fluxdebuglevel (fluxdebuglevel_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_coordsys_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.flux DROP CONSTRAINT IF EXISTS fk_coordsys_id CASCADE; +ALTER TABLE s_vmap_2021.flux ADD CONSTRAINT fk_coordsys_id FOREIGN KEY (coordsys_id) +REFERENCES s_vmap_2021.coordsys (coordsys_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_flyxtype_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.flux DROP CONSTRAINT IF EXISTS fk_flyxtype_id CASCADE; +ALTER TABLE s_vmap_2021.flux ADD CONSTRAINT fk_flyxtype_id FOREIGN KEY (fluxtype_id) +REFERENCES s_vmap_2021.fluxtype (fluxtype_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_msservice_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publication_flux DROP CONSTRAINT IF EXISTS fk_msservice_id CASCADE; +ALTER TABLE s_vmap_2021.publication_flux ADD CONSTRAINT fk_msservice_id FOREIGN KEY (flux_id) +REFERENCES s_vmap_2021.flux (flux_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_publication_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publication_flux DROP CONSTRAINT IF EXISTS fk_publication_id CASCADE; +ALTER TABLE s_vmap_2021.publication_flux ADD CONSTRAINT fk_publication_id FOREIGN KEY (publication_id) +REFERENCES s_vmap_2021.publication (publication_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_coordsys_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS fk_coordsys_id CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT fk_coordsys_id FOREIGN KEY (coordsys_id) +REFERENCES s_vmap_2021.coordsys (coordsys_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_geomtype_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS fk_geomtype_id CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT fk_geomtype_id FOREIGN KEY (ms_geomtype_id) +REFERENCES s_vmap_2021.ms_geomtype (ms_geomtype_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: location_search_mode_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS location_search_mode_id CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT location_search_mode_id FOREIGN KEY (location_search_mode_id) +REFERENCES s_vmap_2021.searchmode (searchmode_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_form_display_size | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS fk_form_display_size CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT fk_form_display_size FOREIGN KEY (form_display_size_id) +REFERENCES s_vmap_2021.formsize (formsize_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_form_insert_size_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS fk_form_insert_size_id CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT fk_form_insert_size_id FOREIGN KEY (form_insert_size_id) +REFERENCES s_vmap_2021.formsize (formsize_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_form_update_size_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS fk_form_update_size_id CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT fk_form_update_size_id FOREIGN KEY (form_update_size_id) +REFERENCES s_vmap_2021.formsize (formsize_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerpostgres DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layerpostgres ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_map_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.map_group DROP CONSTRAINT IF EXISTS fk_map_id CASCADE; +ALTER TABLE s_vmap_2021.map_group ADD CONSTRAINT fk_map_id FOREIGN KEY (map_id) +REFERENCES s_vmap_2021.map (map_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerwms DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layerwms ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE CASCADE ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerwmts DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layerwmts ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerxyz DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layerxyz ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerosm DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layerosm ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_fileformat_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerfile DROP CONSTRAINT IF EXISTS fk_fileformat_id CASCADE; +ALTER TABLE s_vmap_2021.layerfile ADD CONSTRAINT fk_fileformat_id FOREIGN KEY (fileformat_id) +REFERENCES s_vmap_2021.fileformat (fileformat_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_coordsys_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerfile DROP CONSTRAINT IF EXISTS fk_coordsys_id CASCADE; +ALTER TABLE s_vmap_2021.layerfile ADD CONSTRAINT fk_coordsys_id FOREIGN KEY (coordsys_id) +REFERENCES s_vmap_2021.coordsys (coordsys_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_layer_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.layerfile DROP CONSTRAINT IF EXISTS fk_layer_id CASCADE; +ALTER TABLE s_vmap_2021.layerfile ADD CONSTRAINT fk_layer_id FOREIGN KEY (layer_id) +REFERENCES s_vmap_2021.layer (layer_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_coordsys_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publicationpostgres DROP CONSTRAINT IF EXISTS fk_coordsys_id CASCADE; +ALTER TABLE s_vmap_2021.publicationpostgres ADD CONSTRAINT fk_coordsys_id FOREIGN KEY (coordsys_id) +REFERENCES s_vmap_2021.coordsys (coordsys_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_geomtype_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publicationpostgres DROP CONSTRAINT IF EXISTS fk_geomtype_id CASCADE; +ALTER TABLE s_vmap_2021.publicationpostgres ADD CONSTRAINT fk_geomtype_id FOREIGN KEY (ms_geomtype_id) +REFERENCES s_vmap_2021.ms_geomtype (ms_geomtype_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_publication_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publicationpostgres DROP CONSTRAINT IF EXISTS fk_publication_id CASCADE; +ALTER TABLE s_vmap_2021.publicationpostgres ADD CONSTRAINT fk_publication_id FOREIGN KEY (publication_id) +REFERENCES s_vmap_2021.publication (publication_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_fileformat_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publicationfile DROP CONSTRAINT IF EXISTS fk_fileformat_id CASCADE; +ALTER TABLE s_vmap_2021.publicationfile ADD CONSTRAINT fk_fileformat_id FOREIGN KEY (fileformat_id) +REFERENCES s_vmap_2021.fileformat (fileformat_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_coordsys_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publicationfile DROP CONSTRAINT IF EXISTS fk_coordsys_id CASCADE; +ALTER TABLE s_vmap_2021.publicationfile ADD CONSTRAINT fk_coordsys_id FOREIGN KEY (coordsys_id) +REFERENCES s_vmap_2021.coordsys (coordsys_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_publication_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publicationfile DROP CONSTRAINT IF EXISTS fk_publication_id CASCADE; +ALTER TABLE s_vmap_2021.publicationfile ADD CONSTRAINT fk_publication_id FOREIGN KEY (publication_id) +REFERENCES s_vmap_2021.publication (publication_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +-- object: fk_datasource_id | type: CONSTRAINT -- +-- ALTER TABLE s_vmap_2021.publication DROP CONSTRAINT IF EXISTS fk_datasource_id CASCADE; +ALTER TABLE s_vmap_2021.publication ADD CONSTRAINT fk_datasource_id FOREIGN KEY (datasource_id) +REFERENCES s_vmap_2021.datasource (datasource_id) MATCH FULL +ON DELETE NO ACTION ON UPDATE NO ACTION; +-- ddl-end -- + +