Model with constraint in the poi storage

This commit is contained in:
Léo Serre 2019-04-07 15:07:49 +02:00
parent 934f432c55
commit 72af644fcb
1 changed files with 51 additions and 32 deletions

View File

@ -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-alpha1" last-position="0,0" last-zoom="0.6" max-obj-count="21"
<dbmodel pgmodeler-ver="0.9.2-alpha1" last-position="171,1067" last-zoom="0.9" max-obj-count="24"
default-owner="postgres">
<role name="kabano"
inherit="true"
@ -41,12 +41,6 @@ CAUTION: Do not modify this file unless you know what you are doing.
<enumeration values="wiki,blog,forum"/>
</usertype>
<usertype name="poi_key_enum" configuration="enumeration">
<schema name="public"/>
<role name="kabano"/>
<enumeration values="description,access"/>
</usertype>
<usertype name="poi_type_enum" configuration="enumeration">
<schema name="public"/>
<role name="kabano"/>
@ -196,7 +190,7 @@ CAUTION: Do not modify this file unless you know what you are doing.
<table name="poi_comments" layer="0" collapse-mode="2" max-obj-count="13">
<schema name="public"/>
<role name="kabano"/>
<position x="1140" y="980"/>
<position x="1100" y="980"/>
<column name="id" not-null="true" sequence="public.poi_comments_sequence">
<type name="integer" length="0"/>
</column>
@ -269,37 +263,31 @@ CAUTION: Do not modify this file unless you know what you are doing.
<role name="kabano"/>
</sequence>
<table name="poi_locales" layer="0" collapse-mode="2" max-obj-count="6">
<table name="poi_locales" layer="0" collapse-mode="2" max-obj-count="4">
<schema name="public"/>
<role name="kabano"/>
<position x="720" y="1340"/>
<column name="id" not-null="true" default-value="nextval('poi_locales_sequence'::regclass)">
<type name="integer" length="0"/>
</column>
<column name="poi" not-null="true">
<type name="integer" length="0"/>
</column>
<column name="locale" not-null="true">
<type name="character varying" length="32"/>
</column>
<column name="key" not-null="true">
<type name="public.poi_key_enum" length="0"/>
</column>
<column name="value" not-null="true">
<type name="text" length="0"/>
<column name="poi_id" not-null="true">
<type name="integer" length="0"/>
</column>
<constraint name="poi_localised_pkey" type="pk-constr" table="public.poi_locales">
<columns names="id" ref-type="src-columns"/>
</constraint>
<constraint name="poi_localised_unique" type="uq-constr" table="public.poi_locales">
<columns names="poi,locale,key" ref-type="src-columns"/>
<columns names="locale,poi_id" ref-type="src-columns"/>
</constraint>
</table>
<table name="sources" layer="0" collapse-mode="2" max-obj-count="7">
<schema name="public"/>
<role name="kabano"/>
<position x="1160" y="1600"/>
<position x="1160" y="1660"/>
<column name="id" not-null="true">
<type name="character varying" length="3"/>
</column>
@ -537,7 +525,7 @@ CAUTION: Do not modify this file unless you know what you are doing.
<table name="pois" layer="0" collapse-mode="2" max-obj-count="8">
<schema name="public"/>
<role name="kabano"/>
<position x="280" y="1320"/>
<position x="300" y="1340"/>
<column name="id" not-null="true" sequence="public.poi_versions_sequence">
<type name="integer" length="0"/>
</column>
@ -635,7 +623,7 @@ CAUTION: Do not modify this file unless you know what you are doing.
<role name="kabano"/>
</sequence>
<table name="poi_sources" layer="0" collapse-mode="2" max-obj-count="4">
<table name="poi_sources" layer="0" collapse-mode="2" max-obj-count="6">
<schema name="public"/>
<role name="kabano"/>
<position x="1160" y="1400"/>
@ -651,9 +639,18 @@ CAUTION: Do not modify this file unless you know what you are doing.
<column name="author" not-null="true">
<type name="integer" length="0"/>
</column>
<column name="locale_id" not-null="true">
<type name="integer" length="0"/>
</column>
<constraint name="poi_sources_pkey" type="pk-constr" table="public.poi_sources">
<columns names="id" ref-type="src-columns"/>
</constraint>
<constraint name="poi_sources_source_key" type="uq-constr" table="public.poi_sources">
<columns names="source,remote_source_id" ref-type="src-columns"/>
</constraint>
<constraint name="poi_sources_locale_key" type="uq-constr" table="public.poi_sources">
<columns names="locale_id,source" ref-type="src-columns"/>
</constraint>
</table>
<constraint name="content_comments_author_fkey" type="fk-constr" comparison-type="MATCH SIMPLE"
@ -699,7 +696,7 @@ CAUTION: Do not modify this file unless you know what you are doing.
</constraint>
<constraint name="poi_comments_poi_fkey" type="fk-constr" comparison-type="MATCH SIMPLE"
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.poi_versions" table="public.poi_comments">
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.poi_sources" table="public.poi_comments">
<columns names="poi" ref-type="src-columns"/>
<columns names="id" ref-type="dst-columns"/>
</constraint>
@ -722,9 +719,9 @@ CAUTION: Do not modify this file unless you know what you are doing.
<columns names="name" ref-type="dst-columns"/>
</constraint>
<constraint name="poi_localised_poi_fkey" type="fk-constr" comparison-type="MATCH SIMPLE"
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.poi_versions" table="public.poi_locales">
<columns names="poi" ref-type="src-columns"/>
<constraint name="poi_locales_poi_fkey" type="fk-constr" comparison-type="MATCH FULL"
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.pois" table="public.poi_locales">
<columns names="poi_id" ref-type="src-columns"/>
<columns names="id" ref-type="dst-columns"/>
</constraint>
@ -764,6 +761,18 @@ CAUTION: Do not modify this file unless you know what you are doing.
<columns names="id" ref-type="dst-columns"/>
</constraint>
<constraint name="poi_sources_locale_fkey" type="fk-constr" comparison-type="MATCH FULL"
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.sources" table="public.poi_sources">
<columns names="source" ref-type="src-columns"/>
<columns names="id" ref-type="dst-columns"/>
</constraint>
<constraint name="poi_sources_poi_locale_fkey" type="fk-constr" comparison-type="MATCH FULL"
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.poi_locales" table="public.poi_sources">
<columns names="locale_id" ref-type="src-columns"/>
<columns names="id" ref-type="dst-columns"/>
</constraint>
<relationship name="rel_content_comments_users" type="relfk" layer="0"
src-table="public.content_comments"
dst-table="public.users" reference-fk="content_comments_author_fkey"
@ -799,9 +808,9 @@ CAUTION: Do not modify this file unless you know what you are doing.
dst-table="public.locales" reference-fk="poi_comments_locale_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_poi_comments_poi_versions" type="relfk" layer="0"
<relationship name="rel_poi_comments_poi_sources" type="relfk" layer="0"
src-table="public.poi_comments"
dst-table="public.poi_versions" reference-fk="poi_comments_poi_fkey"
dst-table="public.poi_sources" reference-fk="poi_comments_poi_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_poi_contributors_users" type="relfk" layer="0"
@ -819,11 +828,6 @@ CAUTION: Do not modify this file unless you know what you are doing.
dst-table="public.locales" reference-fk="poi_localised_locale_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_poi_locales_poi_versions" type="relfk" layer="0"
src-table="public.poi_locales"
dst-table="public.poi_versions" reference-fk="poi_localised_poi_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_users_locales" type="relfk" layer="0"
src-table="public.users"
dst-table="public.locales" reference-fk="users_locale_fkey"
@ -854,4 +858,19 @@ CAUTION: Do not modify this file unless you know what you are doing.
dst-table="public.poi_sources" reference-fk="poi_versions_source_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_poi_sources_sources" type="relfk" layer="0"
src-table="public.poi_sources"
dst-table="public.sources" reference-fk="poi_sources_locale_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_poi_sources_poi_locales" type="relfk" layer="0"
src-table="public.poi_sources"
dst-table="public.poi_locales" reference-fk="poi_sources_poi_locale_fkey"
src-required="false" dst-required="false"/>
<relationship name="rel_poi_locales_pois" type="relfk" layer="0"
src-table="public.poi_locales"
dst-table="public.pois" reference-fk="poi_locales_poi_fkey"
src-required="false" dst-required="false"/>
</dbmodel>