Files
mattermost-mobile/docs/database/server/server.md
Avinash Lingaloo 216b7058df Gekidou Minor Fixes (#6461)
* removed useless throw in comment

* fix ts for useNavButtonPressed

* update server db 'relationship config file'

adding missing relationship between ThreadsInTeam and Thread table.  we will have to update the pngs and the others as well but we can do that once we get a license to the DB Schema app

* Update post.ts
2022-07-08 14:26:12 +04:00

5.5 KiB

Server Database - Schema Version 1

Please bump the version by 1, any time the schema changes.

Also, include the migration plan under app/database/migration/server,

update all models, relationships and types.

Lastly, export all PNGs, SVGs, etc under the source project (./docs/database)

If you have any question/queries that you would like to clarify, please reach out to the Mobile Platform Team.

Category

id PK string # server-generated collapsed bool display_name string muted bool sort_order number sorting string # alpha, recent, manual team_id string INDEX FK >- Team.id type string # 'channels' | 'direct_messages' | 'favorites' | 'custom'

CategoryChannel

id PK string # composition ID Team.id_Channel.id category_id string INDEX FK >- Category.id channel_id string INDEX sort_order number

Channel

id PK string FK - CategoryChannel.channel_id # server-generated create_at string creator_id string INDEX FK >- User.id delete_at number display_name string is_group_constrained bool name string INDEX shared bool team_id string INDEX FK >- Team.id type string update_at number

ChannelInfo

id PK string FK - Channel.id# same value as Channel.id guest_count number header string member_count number pinned_post_count number purpose string

ChannelMembership

id PK string # composition ID Channel.id-User.id channel_id string INDEX FK >- Channel.id user_id string INDEX FK >- User.id scheme_admin bool

CustomEmoji

id PK string # auto-generated name string

Draft

id PK string # auto-generated channel_id string INDEX FK >- Channel.id files string #stringify (array) message string root_id string INDEX NULL FK >- Post.id

File

id PK string # server-generated extension string height number image_thumbnail string #base64 data string or filepath for video thumbnails local_path string NULL mime_type string name string post_id string INDEX FK >- Post.id size number width number

Group

id PK string # server-generated name string INDEX display_name string description string remote_id string INDEX source string created_at number updated_at number deleted_at number

GroupChannel

id PK string # composition ID Group.id-Channel.id group_id string INDEX FK >- Group.id channel_id string INDEX FK >- Channel.id created_at number updated_at number deleted_at number

GroupMembership

id PK string # composition ID Group.id-User.id group_id string INDEX FK >- Group.id user_id string INDEX FK >- User.id created_at number updated_at number deleted_at number

GroupTeam

id PK string # composition ID Group.id-Team.id group_id string INDEX FK >- Group.id team_id string INDEX FK >- Team.id created_at number updated_at number deleted_at number

MyChannel

id PK string FK - Channel.id # same as Channel.id is_unread boolean last_post_at number last_viewed_at number manually_unread boolean mentions_count number message_count number roles string viewed_at number

MyChannelSettings

id PK string FK - MyChannel.id # same as Channel.id notify_props string

MyTeam

id PK string FK - Team.id # same as Team.id roles string

Post

id PK string # server generated channel_id string INDEX FK >- Channel.id create_at number delete_at number edit_at number is_pinned boolean message string metadata string NULL original_id string pending_post_id string INDEX previous_post_id string props string root_id string type string update_at number user_id string INDEX FK >- User.id

PostsInChannel

id PK string # auto-generated channel_id string INDEX FK >- Channel.id earliest number latest number

PostsInThread

id PK string # auto-generated earliest number latest number root_id string FK >- Post.id

Preference

id string PK # server-generated category string INDEX name string user_id string INDEX FK >- User.id value string

Reaction

id PK string # server-generated create_at number emoji_name string post_id string INDEX FK >- Post.id user_id string INDEX FK >- User.id

Role

id PK string # server-generated name string permissions string #stringify array

System

id PK string # SYSTEM_IDENTIFIERS value string

Team

id PK string # server-generated allowed_domains string description string display_name string is_allow_open_invite boolean is_group_constrained boolean last_team_icon_updated_at number name string type string update_at number

TeamChannelHistory

id PK string FK - Team.id # same as Team.id channel_ids string # stringified JSON array; FIFO

TeamMembership

id PK string # auto-generated team_id string INDEX FK >- Team.id user_id string INDEX FK >- User.id scheme_admin bool

TeamSearchHistory

id PK string # auto-generated created_at number display_term string team_id string FK >- Team.id term string

Thread

id PK string FK - Post.id # similar to Post.id but for root post only is_following boolean last_reply_at number last_viewed_at number reply_count number unread_mentions number unread_replies number
viewed_at number

ThreadsInTeam

id PK string # auto-generated loaded_in_global_threads boolean team_id string INDEX FK >- Team.id thread_id string INDEX FK >- Thread.id

ThreadParticipant # who is participating in this conversation

id PK string # auto-generated thread_id string INDEX FK >- Thread.id user_id string INDEX FK >- User.id

User

id PK string # server generated auth_service string delete_at number email string first_name string is_bot boolean is_guest boolean last_name string last_picture_update number locale string nickname string notify_props string position string props string remote_id string NULL roles string status string timezone string update_at number username string