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. CAUTION: Do not modify this file unless you know what you are doing.
Unexpected results may occur if the code is changed deliberately. 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"> default-owner="postgres">
<role name="kabano" <role name="kabano"
inherit="true" inherit="true"
@ -41,12 +41,6 @@ CAUTION: Do not modify this file unless you know what you are doing.
<enumeration values="wiki,blog,forum"/> <enumeration values="wiki,blog,forum"/>
</usertype> </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"> <usertype name="poi_type_enum" configuration="enumeration">
<schema name="public"/> <schema name="public"/>
<role name="kabano"/> <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"> <table name="poi_comments" layer="0" collapse-mode="2" max-obj-count="13">
<schema name="public"/> <schema name="public"/>
<role name="kabano"/> <role name="kabano"/>
<position x="1140" y="980"/> <position x="1100" y="980"/>
<column name="id" not-null="true" sequence="public.poi_comments_sequence"> <column name="id" not-null="true" sequence="public.poi_comments_sequence">
<type name="integer" length="0"/> <type name="integer" length="0"/>
</column> </column>
@ -269,37 +263,31 @@ CAUTION: Do not modify this file unless you know what you are doing.
<role name="kabano"/> <role name="kabano"/>
</sequence> </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"/> <schema name="public"/>
<role name="kabano"/> <role name="kabano"/>
<position x="720" y="1340"/> <position x="720" y="1340"/>
<column name="id" not-null="true" default-value="nextval('poi_locales_sequence'::regclass)"> <column name="id" not-null="true" default-value="nextval('poi_locales_sequence'::regclass)">
<type name="integer" length="0"/> <type name="integer" length="0"/>
</column> </column>
<column name="poi" not-null="true">
<type name="integer" length="0"/>
</column>
<column name="locale" not-null="true"> <column name="locale" not-null="true">
<type name="character varying" length="32"/> <type name="character varying" length="32"/>
</column> </column>
<column name="key" not-null="true"> <column name="poi_id" not-null="true">
<type name="public.poi_key_enum" length="0"/> <type name="integer" length="0"/>
</column>
<column name="value" not-null="true">
<type name="text" length="0"/>
</column> </column>
<constraint name="poi_localised_pkey" type="pk-constr" table="public.poi_locales"> <constraint name="poi_localised_pkey" type="pk-constr" table="public.poi_locales">
<columns names="id" ref-type="src-columns"/> <columns names="id" ref-type="src-columns"/>
</constraint> </constraint>
<constraint name="poi_localised_unique" type="uq-constr" table="public.poi_locales"> <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> </constraint>
</table> </table>
<table name="sources" layer="0" collapse-mode="2" max-obj-count="7"> <table name="sources" layer="0" collapse-mode="2" max-obj-count="7">
<schema name="public"/> <schema name="public"/>
<role name="kabano"/> <role name="kabano"/>
<position x="1160" y="1600"/> <position x="1160" y="1660"/>
<column name="id" not-null="true"> <column name="id" not-null="true">
<type name="character varying" length="3"/> <type name="character varying" length="3"/>
</column> </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"> <table name="pois" layer="0" collapse-mode="2" max-obj-count="8">
<schema name="public"/> <schema name="public"/>
<role name="kabano"/> <role name="kabano"/>
<position x="280" y="1320"/> <position x="300" y="1340"/>
<column name="id" not-null="true" sequence="public.poi_versions_sequence"> <column name="id" not-null="true" sequence="public.poi_versions_sequence">
<type name="integer" length="0"/> <type name="integer" length="0"/>
</column> </column>
@ -635,7 +623,7 @@ CAUTION: Do not modify this file unless you know what you are doing.
<role name="kabano"/> <role name="kabano"/>
</sequence> </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"/> <schema name="public"/>
<role name="kabano"/> <role name="kabano"/>
<position x="1160" y="1400"/> <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"> <column name="author" not-null="true">
<type name="integer" length="0"/> <type name="integer" length="0"/>
</column> </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"> <constraint name="poi_sources_pkey" type="pk-constr" table="public.poi_sources">
<columns names="id" ref-type="src-columns"/> <columns names="id" ref-type="src-columns"/>
</constraint> </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> </table>
<constraint name="content_comments_author_fkey" type="fk-constr" comparison-type="MATCH SIMPLE" <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>
<constraint name="poi_comments_poi_fkey" type="fk-constr" comparison-type="MATCH SIMPLE" <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="poi" ref-type="src-columns"/>
<columns names="id" ref-type="dst-columns"/> <columns names="id" ref-type="dst-columns"/>
</constraint> </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"/> <columns names="name" ref-type="dst-columns"/>
</constraint> </constraint>
<constraint name="poi_localised_poi_fkey" type="fk-constr" comparison-type="MATCH SIMPLE" <constraint name="poi_locales_poi_fkey" type="fk-constr" comparison-type="MATCH FULL"
upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.poi_versions" table="public.poi_locales"> upd-action="NO ACTION" del-action="NO ACTION" ref-table="public.pois" table="public.poi_locales">
<columns names="poi" ref-type="src-columns"/> <columns names="poi_id" ref-type="src-columns"/>
<columns names="id" ref-type="dst-columns"/> <columns names="id" ref-type="dst-columns"/>
</constraint> </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"/> <columns names="id" ref-type="dst-columns"/>
</constraint> </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" <relationship name="rel_content_comments_users" type="relfk" layer="0"
src-table="public.content_comments" src-table="public.content_comments"
dst-table="public.users" reference-fk="content_comments_author_fkey" 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" dst-table="public.locales" reference-fk="poi_comments_locale_fkey"
src-required="false" dst-required="false"/> 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" 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"/> src-required="false" dst-required="false"/>
<relationship name="rel_poi_contributors_users" type="relfk" layer="0" <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" dst-table="public.locales" reference-fk="poi_localised_locale_fkey"
src-required="false" dst-required="false"/> 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" <relationship name="rel_users_locales" type="relfk" layer="0"
src-table="public.users" src-table="public.users"
dst-table="public.locales" reference-fk="users_locale_fkey" 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" dst-table="public.poi_sources" reference-fk="poi_versions_source_fkey"
src-required="false" dst-required="false"/> 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> </dbmodel>