Update DB model

This commit is contained in:
Léo Serre 2018-05-08 10:58:57 +00:00
parent f6c072a097
commit 344f996c79
1 changed files with 50 additions and 58 deletions

View File

@ -1,73 +1,65 @@
# Database structure for kabano.org open-source project # Database structure for kabano.org open-source project
# This file is designed to be imported in quickdatabasediagrams.com # This file is designed to be imported in quickdatabasediagrams.com
locales
locale
- -
id PK int name PK varchar(32)
name string display_name UNIQUE varchar(255)
code string flag_name UNIQUE varchar(32)
user users
- -
id PK int id PK int4
name string name UNIQUE varchar(255) # The unique constraint is done with version
mail string version UNIQUE int4 # The unique constraint is done with name
password string email UNIQUE varchar(255)
password varchar(255)
rank rank_enum # blocked; registered; premium; moderator; admin
website NULL varchar(255)
is_avatar_present boolean is_avatar_present boolean
website NULL string is_archive INDEX boolean
locale string FK >- locale.id locale varchar(32) FK >- locales.name
role int # 200: blocked; 400: registered; 600: premium; 800: moderator; 1000: admin timezone varchar(8)
last_login_date date visit_date timestamp
register_date date register_date INDEX timestamp
object pois
- -
id PK int id PK int4
creation_date date permalink UNIQUE varchar(255) # The unique constraint is done with version
author_id int FK >- user.id version UNIQUE int4 # The unique constraint is done with permalink
is_public bool creation_date timestamp
type int # 0: wiki_page; 1: forum_thread; 2: refuge; 3: hut... update_date timestamp
author int4 FK >- users.id
is_public INDEX boolean
is_archive INDEX boolean
type INDEX poi_type_enum # basic_hut; wilderness_hut; alpine_hut; hostel; bivouac; campsite
is_destroyed INDEX boolean
name varchar(255)
alt_names NULL varchar(255)
source NULL varchar(3) FK >- poi_sources.id
position geometry # Contains elevation data
parameters jsonb
object_locale poi_localised
- -
id PK int id PK int4
object_id int FK >- object.id poi UNIQUE int4 FK >- pois.id # The unique constraint is done with locale
locale string FK >- locale.id locale UNIQUE varchar(32) FK >- locales.name # The unique constraint is done with poi
key INDEX poi_key_enum # description; access
value text
object_revision # Note: restoring an old version is done by creating a new revision poi_sources
- -
id PK int id PK varchar(3)
revision_date date display_name UNIQUE varchar(255)
object_locale_id int FK >- object_locale.id icon_name NULL varchar(255)
contributor_id int FK >- user.id website NULL varchar(255)
name string license_name NULL varchar(255)
content text? license_url NULL varchar(255)
object_wiki poi_contributors
- -
id PK int id PK int4
revision_id int FK >- object_revision.id poi UNIQUE int4 FK >- pois.id # The unique constraint is done with contributor
contributor UNIQUE int4 FK >- users.id # The unique constraint is done with poi
object_forum_thread
-
id PK int
revision_id int FK >- object_revision.id
category int FK >- forum_category.id
forum_category
-
id PK int
forum_category_locale
-
id PK int
category_id int FK >- forum_category.id
locale string FK >- locale.id
name string
object_poi
-
id PK int
revision_id int FK >- object_revision.id
coordinates geo