Skip to content
Snippets Groups Projects
Select Git revision
  • 3206d28dd6dde3397443d1bd6bca8d0516e797d8
  • master default protected
  • next_version
  • 2025.03.03
  • 2025.03.02
  • 2025.03.01
  • 2025.03.00
  • 2025.02.01
  • 2025.02.00
  • 2025.01.01
  • 2025.01.00
  • 2024.04.03
  • 2024.04.02
  • 2024.04.01
  • 2024.04.00
  • 2024.03.01
  • 2024.03.00
  • 2024.02.02
  • 2024.02.01
  • 2024.02.00
  • 2024.01.03
  • 2024.01.02
  • 2024.01.01
23 results

vmap_2021.sql

Blame
  • vmap_2021.sql 26.30 KiB
    -- 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 --