-- Database generated with pgModeler (PostgreSQL Database Modeler). -- pgModeler version: 0.9.2-alpha1 -- PostgreSQL version: 11.0 -- Project Site: pgmodeler.io -- Model Author: --- -- object: kabano | type: ROLE -- -- DROP ROLE IF EXISTS kabano; -- ddl-end -- -- Database creation must be done outside a multicommand file. -- These commands were put in this file only as a convenience. -- -- object: kabano | type: DATABASE -- -- -- DROP DATABASE IF EXISTS kabano; -- CREATE DATABASE kabano -- ENCODING = 'UTF8' -- LC_COLLATE = 'fr_FR.UTF-8' -- LC_CTYPE = 'fr_FR.UTF-8' -- TABLESPACE = pg_default -- OWNER = kabano; -- -- ddl-end -- -- -- object: topology | type: SCHEMA -- -- DROP SCHEMA IF EXISTS topology CASCADE; CREATE SCHEMA topology; -- ddl-end -- ALTER SCHEMA topology OWNER TO kabano; -- ddl-end -- COMMENT ON SCHEMA topology IS 'PostGIS Topology schema'; -- ddl-end -- SET search_path TO pg_catalog,public,topology; -- ddl-end -- -- object: postgis | type: EXTENSION -- -- DROP EXTENSION IF EXISTS postgis CASCADE; CREATE EXTENSION postgis WITH SCHEMA public VERSION '3.0.1'; -- ddl-end -- COMMENT ON EXTENSION postgis IS 'PostGIS geometry, geography, and raster spatial types and functions'; -- ddl-end -- -- object: postgis_topology | type: EXTENSION -- -- DROP EXTENSION IF EXISTS postgis_topology CASCADE; CREATE EXTENSION postgis_topology WITH SCHEMA topology VERSION '3.0.1'; -- ddl-end -- COMMENT ON EXTENSION postgis_topology IS 'PostGIS topology spatial types and functions'; -- ddl-end -- -- object: public.content_type_enum | type: TYPE -- -- DROP TYPE IF EXISTS public.content_type_enum CASCADE; CREATE TYPE public.content_type_enum AS ENUM ('wiki','blog','forum'); -- ddl-end -- ALTER TYPE public.content_type_enum OWNER TO kabano; -- ddl-end -- -- object: public.poi_type_enum | type: TYPE -- -- DROP TYPE IF EXISTS public.poi_type_enum CASCADE; CREATE TYPE public.poi_type_enum AS ENUM ('basic_hut','wilderness_hut','alpine_hut','halt','bivouac','campsite'); -- ddl-end -- ALTER TYPE public.poi_type_enum OWNER TO kabano; -- ddl-end -- -- object: public.user_rank_enum | type: TYPE -- -- DROP TYPE IF EXISTS public.user_rank_enum CASCADE; CREATE TYPE public.user_rank_enum AS ENUM ('blocked','registered','premium','moderator','administrator','visitor'); -- ddl-end -- ALTER TYPE public.user_rank_enum OWNER TO kabano; -- ddl-end -- -- object: public.content_comments_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.content_comments_sequence CASCADE; CREATE SEQUENCE public.content_comments_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.content_comments_sequence OWNER TO kabano; -- ddl-end -- -- object: public.content_comments | type: TABLE -- -- DROP TABLE IF EXISTS public.content_comments CASCADE; CREATE TABLE public.content_comments ( id integer NOT NULL DEFAULT nextval('public.content_comments_sequence'::regclass), version integer, creation_date timestamp, update_date timestamp, author integer, is_public boolean, is_archive boolean, content integer, comment text, locale character varying(32), CONSTRAINT content_comments_pkey PRIMARY KEY (id) ); -- ddl-end -- ALTER TABLE public.content_comments OWNER TO kabano; -- ddl-end -- -- object: public.content_contributors_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.content_contributors_sequence CASCADE; CREATE SEQUENCE public.content_contributors_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.content_contributors_sequence OWNER TO kabano; -- ddl-end -- -- object: public.content_contributors | type: TABLE -- -- DROP TABLE IF EXISTS public.content_contributors CASCADE; CREATE TABLE public.content_contributors ( id integer NOT NULL DEFAULT nextval('public.content_contributors_sequence'::regclass), content integer, contributor integer, CONSTRAINT content_contributors_pkey PRIMARY KEY (id), CONSTRAINT content_contributors_unique UNIQUE (content,contributor) ); -- ddl-end -- ALTER TABLE public.content_contributors OWNER TO kabano; -- ddl-end -- -- object: public.contents_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.contents_sequence CASCADE; CREATE SEQUENCE public.contents_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.contents_sequence OWNER TO kabano; -- ddl-end -- -- object: public.contents | type: TABLE -- -- DROP TABLE IF EXISTS public.contents CASCADE; CREATE TABLE public.contents ( id integer NOT NULL DEFAULT nextval('public.contents_sequence'::regclass), permalink character varying(255) NOT NULL, creation_date timestamp NOT NULL, is_public boolean NOT NULL DEFAULT true, is_commentable boolean NOT NULL DEFAULT true, type public.content_type_enum NOT NULL, CONSTRAINT contents_pkey PRIMARY KEY (id), CONSTRAINT contents_permalink_type_key UNIQUE (permalink,type) ); -- ddl-end -- ALTER TABLE public.contents OWNER TO kabano; -- ddl-end -- -- object: public.locales | type: TABLE -- -- DROP TABLE IF EXISTS public.locales CASCADE; CREATE TABLE public.locales ( name character varying(32) NOT NULL, display_name character varying(255) NOT NULL, flag_name character varying(32), CONSTRAINT locales_display_name_unique UNIQUE (display_name), CONSTRAINT locales_flag_name_unique UNIQUE (flag_name), CONSTRAINT locales_pkey PRIMARY KEY (name) ); -- ddl-end -- ALTER TABLE public.locales OWNER TO kabano; -- ddl-end -- -- object: public.poi_comments_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.poi_comments_sequence CASCADE; CREATE SEQUENCE public.poi_comments_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.poi_comments_sequence OWNER TO kabano; -- ddl-end -- -- object: public.poi_comments | type: TABLE -- -- DROP TABLE IF EXISTS public.poi_comments CASCADE; CREATE TABLE public.poi_comments ( id integer NOT NULL DEFAULT nextval('public.poi_comments_sequence'::regclass), permalink character varying(255), version integer, creation_date timestamp, update_date timestamp, author integer, is_public boolean, is_archive boolean, poi integer, comment text, locale character varying(32), CONSTRAINT poi_comments_permalink_version_key UNIQUE (permalink,version), CONSTRAINT poi_comments_pkey PRIMARY KEY (id) ); -- ddl-end -- ALTER TABLE public.poi_comments OWNER TO kabano; -- ddl-end -- -- object: public.poi_contributors_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.poi_contributors_sequence CASCADE; CREATE SEQUENCE public.poi_contributors_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.poi_contributors_sequence OWNER TO kabano; -- ddl-end -- -- object: public.poi_contributors | type: TABLE -- -- DROP TABLE IF EXISTS public.poi_contributors CASCADE; CREATE TABLE public.poi_contributors ( id integer NOT NULL DEFAULT nextval('public.poi_contributors_sequence'::regclass), poi integer, contributor integer, CONSTRAINT poi_contributors_pkey PRIMARY KEY (id), CONSTRAINT poi_contributors_unique UNIQUE (poi,contributor) ); -- ddl-end -- ALTER TABLE public.poi_contributors OWNER TO kabano; -- ddl-end -- -- object: public.poi_locales_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.poi_locales_sequence CASCADE; CREATE SEQUENCE public.poi_locales_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.poi_locales_sequence OWNER TO kabano; -- ddl-end -- -- object: public.poi_locales | type: TABLE -- -- DROP TABLE IF EXISTS public.poi_locales CASCADE; CREATE TABLE public.poi_locales ( id integer NOT NULL DEFAULT nextval('poi_locales_sequence'::regclass), locale character varying(32) NOT NULL, poi_id integer NOT NULL, CONSTRAINT poi_localised_pkey PRIMARY KEY (id), CONSTRAINT poi_localised_unique UNIQUE (locale,poi_id) ); -- ddl-end -- ALTER TABLE public.poi_locales OWNER TO kabano; -- ddl-end -- -- object: public.sources | type: TABLE -- -- DROP TABLE IF EXISTS public.sources CASCADE; CREATE TABLE public.sources ( id character varying(3) NOT NULL, display_name character varying(255) NOT NULL, icon_name character varying(255), website character varying(255), license_name character varying(255), license_url character varying(255), CONSTRAINT sources_display_name_unique UNIQUE (display_name), CONSTRAINT sources_pkey PRIMARY KEY (id) ); -- ddl-end -- ALTER TABLE public.sources OWNER TO kabano; -- ddl-end -- -- object: public.poi_versions_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.poi_versions_sequence CASCADE; CREATE SEQUENCE public.poi_versions_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.poi_versions_sequence OWNER TO kabano; -- ddl-end -- -- object: public.pois_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.pois_sequence CASCADE; CREATE SEQUENCE public.pois_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.pois_sequence OWNER TO kabano; -- ddl-end -- -- object: public.users_id_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.users_id_sequence CASCADE; CREATE SEQUENCE public.users_id_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.users_id_sequence OWNER TO kabano; -- ddl-end -- -- object: public.users | type: TABLE -- -- DROP TABLE IF EXISTS public.users CASCADE; CREATE TABLE public.users ( id integer NOT NULL DEFAULT nextval('public.users_id_sequence'::regclass), name character varying(255) NOT NULL, version integer NOT NULL DEFAULT 0, email character varying(255) NOT NULL, password character varying(255) NOT NULL, website character varying(255), is_avatar_present boolean NOT NULL, is_archive boolean NOT NULL, rank public.user_rank_enum NOT NULL, locale character varying(32) NOT NULL, timezone character varying(8) NOT NULL, visit_date timestamp NOT NULL, register_date timestamp NOT NULL, CONSTRAINT users_email_unique UNIQUE (email), CONSTRAINT users_name_unique UNIQUE (name,version), CONSTRAINT users_pkey PRIMARY KEY (id) ); -- ddl-end -- ALTER TABLE public.users OWNER TO kabano; -- ddl-end -- -- object: content_comments_is_archive_index | type: INDEX -- -- DROP INDEX IF EXISTS public.content_comments_is_archive_index CASCADE; CREATE INDEX content_comments_is_archive_index ON public.content_comments USING btree ( is_archive ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: content_comments_is_public_index | type: INDEX -- -- DROP INDEX IF EXISTS public.content_comments_is_public_index CASCADE; CREATE INDEX content_comments_is_public_index ON public.content_comments USING btree ( is_public ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: contents_is_public_index | type: INDEX -- -- DROP INDEX IF EXISTS public.contents_is_public_index CASCADE; CREATE INDEX contents_is_public_index ON public.contents USING btree ( is_public ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: poi_comments_is_archive_index | type: INDEX -- -- DROP INDEX IF EXISTS public.poi_comments_is_archive_index CASCADE; CREATE INDEX poi_comments_is_archive_index ON public.poi_comments USING btree ( is_archive ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: poi_comments_is_public_index | type: INDEX -- -- DROP INDEX IF EXISTS public.poi_comments_is_public_index CASCADE; CREATE INDEX poi_comments_is_public_index ON public.poi_comments USING btree ( is_public ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: users_is_archive_index | type: INDEX -- -- DROP INDEX IF EXISTS public.users_is_archive_index CASCADE; CREATE INDEX users_is_archive_index ON public.users USING btree ( is_archive ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: users_register_date_index | type: INDEX -- -- DROP INDEX IF EXISTS public.users_register_date_index CASCADE; CREATE INDEX users_register_date_index ON public.users USING btree ( register_date ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: public.content_locales_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.content_locales_sequence CASCADE; CREATE SEQUENCE public.content_locales_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.content_locales_sequence OWNER TO kabano; -- ddl-end -- -- object: public.content_versions_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.content_versions_sequence CASCADE; CREATE SEQUENCE public.content_versions_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.content_versions_sequence OWNER TO kabano; -- ddl-end -- -- object: fki_content_contributors_contributor_fkey | type: INDEX -- -- DROP INDEX IF EXISTS public.fki_content_contributors_contributor_fkey CASCADE; CREATE INDEX fki_content_contributors_contributor_fkey ON public.content_contributors USING btree ( contributor ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: fki_content_contributors_content_fkey | type: INDEX -- -- DROP INDEX IF EXISTS public.fki_content_contributors_content_fkey CASCADE; CREATE INDEX fki_content_contributors_content_fkey ON public.content_contributors USING btree ( content ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: public.content_locales | type: TABLE -- -- DROP TABLE IF EXISTS public.content_locales CASCADE; CREATE TABLE public.content_locales ( id integer NOT NULL DEFAULT nextval('public.content_locales_sequence'::regclass), content_id integer NOT NULL, locale character varying(32) NOT NULL, author integer NOT NULL, CONSTRAINT content_locales_pkey PRIMARY KEY (id), CONSTRAINT content_locales_unique UNIQUE (content_id,locale) ); -- ddl-end -- ALTER TABLE public.content_locales OWNER TO kabano; -- ddl-end -- -- object: public.content_versions | type: TABLE -- -- DROP TABLE IF EXISTS public.content_versions CASCADE; CREATE TABLE public.content_versions ( id integer NOT NULL DEFAULT nextval('public.content_versions_sequence'::regclass), version integer NOT NULL DEFAULT 0, update_date timestamp NOT NULL, is_archive boolean NOT NULL DEFAULT false, name character varying(255), content text, locale_id integer NOT NULL, CONSTRAINT content_versions_pkey PRIMARY KEY (id), CONSTRAINT content_versions_version_locale_key UNIQUE (version,locale_id) ); -- ddl-end -- ALTER TABLE public.content_versions OWNER TO kabano; -- ddl-end -- -- object: public.pois | type: TABLE -- -- DROP TABLE IF EXISTS public.pois CASCADE; CREATE TABLE public.pois ( id integer NOT NULL DEFAULT nextval('public.poi_versions_sequence'::regclass), is_public boolean NOT NULL DEFAULT true, permalink character varying(255) NOT NULL, creation_date timestamp NOT NULL, name character varying(255) NOT NULL, "position" geometry NOT NULL, type public.poi_type_enum NOT NULL, CONSTRAINT pois_pkey PRIMARY KEY (id), CONSTRAINT pois_permalink_key UNIQUE (permalink), CONSTRAINT pois_position_type_key UNIQUE ("position",type) ); -- ddl-end -- ALTER TABLE public.pois OWNER TO kabano; -- ddl-end -- -- object: public.poi_versions | type: TABLE -- -- DROP TABLE IF EXISTS public.poi_versions CASCADE; CREATE TABLE public.poi_versions ( id integer NOT NULL DEFAULT nextval('public.pois_sequence'::regclass), version integer NOT NULL DEFAULT 0, update_date timestamp NOT NULL, is_archive boolean NOT NULL DEFAULT false, alt_type public.poi_type_enum NOT NULL, is_destroyed boolean NOT NULL DEFAULT false, alt_name character varying(255), alt_position geometry NOT NULL, parameters jsonb, source_id integer NOT NULL, CONSTRAINT poi_versions_pkey PRIMARY KEY (id), CONSTRAINT poi_versions_version_source_key UNIQUE (version,source_id) ); -- ddl-end -- ALTER TABLE public.poi_versions OWNER TO kabano; -- ddl-end -- -- object: poi_versions_is_archive_index | type: INDEX -- -- DROP INDEX IF EXISTS public.poi_versions_is_archive_index CASCADE; CREATE INDEX poi_versions_is_archive_index ON public.poi_versions USING btree ( is_archive ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: poi_versions_is_destroyed_index | type: INDEX -- -- DROP INDEX IF EXISTS public.poi_versions_is_destroyed_index CASCADE; CREATE INDEX poi_versions_is_destroyed_index ON public.poi_versions USING btree ( is_destroyed ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: poi_versions_type_index | type: INDEX -- -- DROP INDEX IF EXISTS public.poi_versions_type_index CASCADE; CREATE INDEX poi_versions_type_index ON public.poi_versions USING btree ( alt_type ) WITH (FILLFACTOR = 90); -- ddl-end -- -- object: public.poi_sources_sequence | type: SEQUENCE -- -- DROP SEQUENCE IF EXISTS public.poi_sources_sequence CASCADE; CREATE SEQUENCE public.poi_sources_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE; -- ddl-end -- ALTER SEQUENCE public.poi_sources_sequence OWNER TO kabano; -- ddl-end -- -- object: public.poi_sources | type: TABLE -- -- DROP TABLE IF EXISTS public.poi_sources CASCADE; CREATE TABLE public.poi_sources ( id integer NOT NULL DEFAULT nextval('public.poi_sources_sequence'::regclass), source character varying(3), remote_source_id character varying(255), author integer NOT NULL, locale_id integer NOT NULL, CONSTRAINT poi_sources_pkey PRIMARY KEY (id), CONSTRAINT poi_sources_source_key UNIQUE (source,remote_source_id), CONSTRAINT poi_sources_locale_key UNIQUE (locale_id,source) ); -- ddl-end -- ALTER TABLE public.poi_sources OWNER TO kabano; -- ddl-end -- -- object: content_comments_author_fkey | type: CONSTRAINT -- -- ALTER TABLE public.content_comments DROP CONSTRAINT IF EXISTS content_comments_author_fkey CASCADE; ALTER TABLE public.content_comments ADD CONSTRAINT content_comments_author_fkey FOREIGN KEY (author) REFERENCES public.users (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_comments_content_fkey | type: CONSTRAINT -- -- ALTER TABLE public.content_comments DROP CONSTRAINT IF EXISTS content_comments_content_fkey CASCADE; ALTER TABLE public.content_comments ADD CONSTRAINT content_comments_content_fkey FOREIGN KEY (content) REFERENCES public.contents (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_comments_locale_fkey | type: CONSTRAINT -- -- ALTER TABLE public.content_comments DROP CONSTRAINT IF EXISTS content_comments_locale_fkey CASCADE; ALTER TABLE public.content_comments ADD CONSTRAINT content_comments_locale_fkey FOREIGN KEY (locale) REFERENCES public.locales (name) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_contributors_contributor_fkey | type: CONSTRAINT -- -- ALTER TABLE public.content_contributors DROP CONSTRAINT IF EXISTS content_contributors_contributor_fkey CASCADE; ALTER TABLE public.content_contributors ADD CONSTRAINT content_contributors_contributor_fkey FOREIGN KEY (contributor) REFERENCES public.users (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_contributors_content_fkey | type: CONSTRAINT -- -- ALTER TABLE public.content_contributors DROP CONSTRAINT IF EXISTS content_contributors_content_fkey CASCADE; ALTER TABLE public.content_contributors ADD CONSTRAINT content_contributors_content_fkey FOREIGN KEY (content) REFERENCES public.content_locales (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_comments_author_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_comments DROP CONSTRAINT IF EXISTS poi_comments_author_fkey CASCADE; ALTER TABLE public.poi_comments ADD CONSTRAINT poi_comments_author_fkey FOREIGN KEY (author) REFERENCES public.users (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_comments_locale_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_comments DROP CONSTRAINT IF EXISTS poi_comments_locale_fkey CASCADE; ALTER TABLE public.poi_comments ADD CONSTRAINT poi_comments_locale_fkey FOREIGN KEY (locale) REFERENCES public.locales (name) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_comments_poi_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_comments DROP CONSTRAINT IF EXISTS poi_comments_poi_fkey CASCADE; ALTER TABLE public.poi_comments ADD CONSTRAINT poi_comments_poi_fkey FOREIGN KEY (poi) REFERENCES public.poi_sources (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_contributors_contributor_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_contributors DROP CONSTRAINT IF EXISTS poi_contributors_contributor_fkey CASCADE; ALTER TABLE public.poi_contributors ADD CONSTRAINT poi_contributors_contributor_fkey FOREIGN KEY (contributor) REFERENCES public.users (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_contributors_poi_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_contributors DROP CONSTRAINT IF EXISTS poi_contributors_poi_fkey CASCADE; ALTER TABLE public.poi_contributors ADD CONSTRAINT poi_contributors_poi_fkey FOREIGN KEY (poi) REFERENCES public.poi_sources (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_localised_locale_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_locales DROP CONSTRAINT IF EXISTS poi_localised_locale_fkey CASCADE; ALTER TABLE public.poi_locales ADD CONSTRAINT poi_localised_locale_fkey FOREIGN KEY (locale) REFERENCES public.locales (name) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_locales_poi_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_locales DROP CONSTRAINT IF EXISTS poi_locales_poi_fkey CASCADE; ALTER TABLE public.poi_locales ADD CONSTRAINT poi_locales_poi_fkey FOREIGN KEY (poi_id) REFERENCES public.pois (id) MATCH FULL ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: users_locale_fkey | type: CONSTRAINT -- -- ALTER TABLE public.users DROP CONSTRAINT IF EXISTS users_locale_fkey CASCADE; ALTER TABLE public.users ADD CONSTRAINT users_locale_fkey FOREIGN KEY (locale) REFERENCES public.locales (name) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_locales_locale | type: CONSTRAINT -- -- ALTER TABLE public.content_locales DROP CONSTRAINT IF EXISTS content_locales_locale CASCADE; ALTER TABLE public.content_locales ADD CONSTRAINT content_locales_locale FOREIGN KEY (locale) REFERENCES public.locales (name) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_locales_content | type: CONSTRAINT -- -- ALTER TABLE public.content_locales DROP CONSTRAINT IF EXISTS content_locales_content CASCADE; ALTER TABLE public.content_locales ADD CONSTRAINT content_locales_content FOREIGN KEY (content_id) REFERENCES public.contents (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_locales_author | type: CONSTRAINT -- -- ALTER TABLE public.content_locales DROP CONSTRAINT IF EXISTS content_locales_author CASCADE; ALTER TABLE public.content_locales ADD CONSTRAINT content_locales_author FOREIGN KEY (author) REFERENCES public.users (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: content_versions_locale | type: CONSTRAINT -- -- ALTER TABLE public.content_versions DROP CONSTRAINT IF EXISTS content_versions_locale CASCADE; ALTER TABLE public.content_versions ADD CONSTRAINT content_versions_locale FOREIGN KEY (locale_id) REFERENCES public.content_locales (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_versions_source_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_versions DROP CONSTRAINT IF EXISTS poi_versions_source_fkey CASCADE; ALTER TABLE public.poi_versions ADD CONSTRAINT poi_versions_source_fkey FOREIGN KEY (source_id) REFERENCES public.poi_sources (id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_sources_locale_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_sources DROP CONSTRAINT IF EXISTS poi_sources_locale_fkey CASCADE; ALTER TABLE public.poi_sources ADD CONSTRAINT poi_sources_locale_fkey FOREIGN KEY (source) REFERENCES public.sources (id) MATCH FULL ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end -- -- object: poi_sources_poi_locale_fkey | type: CONSTRAINT -- -- ALTER TABLE public.poi_sources DROP CONSTRAINT IF EXISTS poi_sources_poi_locale_fkey CASCADE; ALTER TABLE public.poi_sources ADD CONSTRAINT poi_sources_poi_locale_fkey FOREIGN KEY (locale_id) REFERENCES public.poi_locales (id) MATCH FULL ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end --