diff --git a/app/database/schema/app/index.ts b/app/database/schema/app/index.ts index 0cc2605c21..2153d33685 100644 --- a/app/database/schema/app/index.ts +++ b/app/database/schema/app/index.ts @@ -29,9 +29,9 @@ export const schema: AppSchema = appSchema({ columns: [ {name: 'db_path', type: 'string'}, {name: 'display_name', type: 'string'}, - {name: 'url', type: 'string', isIndexed: true}, - {name: 'last_active_at', type: 'number', isIndexed: true}, {name: 'identifier', type: 'string', isIndexed: true}, + {name: 'last_active_at', type: 'number', isIndexed: true}, + {name: 'url', type: 'string', isIndexed: true}, ], }), ], diff --git a/app/database/schema/app/table_schemas/index.ts b/app/database/schema/app/table_schemas/index.ts index ffe829c0fe..3351fd9724 100644 --- a/app/database/schema/app/table_schemas/index.ts +++ b/app/database/schema/app/table_schemas/index.ts @@ -1,6 +1,6 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -export {default as app} from './app'; +export {default as info} from './info'; export {default as global} from './global'; export {default as servers} from './servers'; diff --git a/app/database/schema/app/table_schemas/app.ts b/app/database/schema/app/table_schemas/info.ts similarity index 100% rename from app/database/schema/app/table_schemas/app.ts rename to app/database/schema/app/table_schemas/info.ts diff --git a/app/database/schema/app/table_schemas/servers.ts b/app/database/schema/app/table_schemas/servers.ts index 98f8d322c4..8034ea012a 100644 --- a/app/database/schema/app/table_schemas/servers.ts +++ b/app/database/schema/app/table_schemas/servers.ts @@ -17,3 +17,4 @@ export default tableSchema({ {name: 'identifier', type: 'string', isIndexed: true}, ], }); + diff --git a/app/database/schema/app/test.ts b/app/database/schema/app/test.ts index e582ccdab5..9ab8482c9c 100644 --- a/app/database/schema/app/test.ts +++ b/app/database/schema/app/test.ts @@ -39,16 +39,16 @@ describe('*** Test schema for APP database ***', () => { columns: { db_path: {name: 'db_path', type: 'string'}, display_name: {name: 'display_name', type: 'string'}, - url: {name: 'url', type: 'string', isIndexed: true}, - last_active_at: {name: 'last_active_at', type: 'number', isIndexed: true}, identifier: {name: 'identifier', type: 'string', isIndexed: true}, + last_active_at: {name: 'last_active_at', type: 'number', isIndexed: true}, + url: {name: 'url', type: 'string', isIndexed: true}, }, columnArray: [ {name: 'db_path', type: 'string'}, {name: 'display_name', type: 'string'}, - {name: 'url', type: 'string', isIndexed: true}, - {name: 'last_active_at', type: 'number', isIndexed: true}, {name: 'identifier', type: 'string', isIndexed: true}, + {name: 'last_active_at', type: 'number', isIndexed: true}, + {name: 'url', type: 'string', isIndexed: true}, ], }, }, diff --git a/docs/database/app_database/app-database-v1.pdf b/docs/database/app_database/app-database-v1.pdf new file mode 100644 index 0000000000..8e0411f50e Binary files /dev/null and b/docs/database/app_database/app-database-v1.pdf differ diff --git a/docs/database/app_database/app-database-v1.png b/docs/database/app_database/app-database-v1.png new file mode 100644 index 0000000000..3b4024a5bf Binary files /dev/null and b/docs/database/app_database/app-database-v1.png differ diff --git a/docs/database/app_database/app-database-v1.rtf b/docs/database/app_database/app-database-v1.rtf new file mode 100644 index 0000000000..acb4f60919 --- /dev/null +++ b/docs/database/app_database/app-database-v1.rtf @@ -0,0 +1 @@ +{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fcharset1 Symbol;}{\f1\fcharset1 Wingdings;}{\f2\fcharset1 Courier New;}{\f3\fcharset1 Arial Unicode MS;}}{\colortbl\red0\green0\blue0;\red50\green60\blue70;\red0\green255\blue0;\red255\green255\blue255;\red0\green90\blue160;\red128\green128\blue128;\red245\green246\blue246;}{\stylesheet{\*\cs0\additive DefaultParagraphFont;}{\s1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Normal;}{\s2\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading1;}{\s3\sbasedon2\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading2;}{\s4\sbasedon3\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel2\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading3;}{\s5\sbasedon4\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel3\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading4;}{\s6\sbasedon5\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel4\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading5;}{\s7\sbasedon6\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel5\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading6;}{\s8\sbasedon7\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel6\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading7;}{\s9\sbasedon8\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel7\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading8;}{\s10\sbasedon9\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel8\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading9;}{\s11\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 List;}{\s12\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Footnote;}{\s13\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Header;}{\s14\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Footer;}{\*\cs15\additive\sbasedon0 Hyperlink;}{\s16\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b\uldash\i0\cf2 InvalidStyleName;}{\s17\sbasedon1\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs24\b0\ulnone\i0\cf1 TableHeading;}{\s18\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading 1;}{\s19\sbasedon17\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs24\b0\ulnone\i0\cf1 Heading 2;}{\s20\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading 3;}{\s21\sbasedon1\ql\sb0\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i\cf1 TableDescription;}{\s22\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1 TableRow;}{\s23\sbasedon22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3 HeadingTableRow;}}\ftnbj\viewkind4\uc1\lnbrkrule\fet0\facingp\htmautsp\sectd\sftnbj\pghsxn16838\pgwsxn11906\marglsxn1417\margrsxn1417\margtsxn1417\margbsxn1134\headery709\footery709\sbkpage{\headerr\pard\s13\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs36\b0\ulnone\i0\cf4\brdrbtw QuickDBD\par\pard\s13\ql\sb0\sa240\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf4\brdrbtw{\field{\*\fldinst HYPERLINK "www.quickdatabasediagrams.com"}{\fldrslt{\cs15{www.quickdatabasediagrams.com}}}}\par}{\headerl\pard\s13\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs36\b0\ulnone\i0\cf4\brdrbtw QuickDBD\par\pard\s13\ql\sb0\sa240\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf4\brdrbtw{\field{\*\fldinst HYPERLINK "www.quickdatabasediagrams.com"}{\fldrslt{\cs15{www.quickdatabasediagrams.com}}}}\par}{\footerr\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw QuickDBD-app-database-v1\par\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw Page {\field\flddirty{\*\fldinst PAGE}{\fldrslt < Please update this field. >}} of {\field\flddirty{\*\fldinst NUMPAGES}{\fldrslt < Please update this field. >}}\par}{\footerl\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw QuickDBD-app-database-v1\par\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw Page {\field\flddirty{\*\fldinst PAGE}{\fldrslt < Please update this field. >}} of {\field\flddirty{\*\fldinst NUMPAGES}{\fldrslt < Please update this field. >}}\par}\pard\s18\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel0\slmult1\f3\fs32\b0\ulnone\i0\cf1\brdrbtw app-database-v1 Documentation\par\pard\s1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1\brdrbtw Link to schema: {\field{\*\fldinst HYPERLINK "https://app.quickdatabasediagrams.com/#/d/JbG8iC"}{\fldrslt{\cs15{https://app.quickdatabasediagrams.com/#/d/JbG8iC}}}}\par\pard\s21\ql\sb0\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i\cf1\brdrbtw App Database - Schema Version 1\line Please bump the version by 1, any time the schema changes.\line Also, include the migration plan under app/database/migration/server,\line update all models, relationships and types.\line Lastly, export all PNGs, SVGs, etc under the source project (./docs/database)\line If you have any question/queries that you would like to clarify, please reach out to the Mobile Platform Team.\par\pard\s19\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs24\b0\ulnone\i0\cf1\brdrbtw Info\par\trowd\trleft20\trrh0\trkeep\trhdr\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx7957\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Field\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Description\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Type\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Default\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Other\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw id\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw auto-generated\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw PK\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw build_number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw created_at\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw version_number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\pard\s19\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs24\b0\ulnone\i0\cf1\brdrbtw Global\par\trowd\trleft20\trrh0\trkeep\trhdr\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx7957\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Field\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Description\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Type\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Default\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Other\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw id\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw GLOBAL_IDENTIFIERS\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw PK\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw value\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\pard\s19\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs24\b0\ulnone\i0\cf1\brdrbtw Servers\par\trowd\trleft20\trrh0\trkeep\trhdr\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx7957\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Field\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Description\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Type\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Default\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Other\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw id\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw auto-generated\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw PK\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw db_path\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw display_name\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw url\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw INDEX\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw last_active_at\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw INDEX\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw identifier\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw INDEX\cell\row\pard\s1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1\brdrbtw\par} \ No newline at end of file diff --git a/docs/database/app_database/app-database-v1.sql b/docs/database/app_database/app-database-v1.sql new file mode 100644 index 0000000000..0449935681 --- /dev/null +++ b/docs/database/app_database/app-database-v1.sql @@ -0,0 +1,58 @@ +-- Exported from QuickDBD: https://www.quickdatabasediagrams.com/ +-- Link to schema: https://app.quickdatabasediagrams.com/#/d/JbG8iC +-- NOTE! If you have used non-SQL datatypes in your design, you will have to change these here. + +-- App 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. + +SET XACT_ABORT ON + +BEGIN TRANSACTION QUICKDBD + +CREATE TABLE [Info] ( + -- auto-generated + [id] string NOT NULL , + [build_number] string NOT NULL , + [created_at] number NOT NULL , + [version_number] string NOT NULL , + CONSTRAINT [PK_Info] PRIMARY KEY CLUSTERED ( + [id] ASC + ) +) + +CREATE TABLE [Global] ( + -- GLOBAL_IDENTIFIERS + [id] string NOT NULL , + [value] string NOT NULL , + CONSTRAINT [PK_Global] PRIMARY KEY CLUSTERED ( + [id] ASC + ) +) + +CREATE TABLE [Servers] ( + -- auto-generated + [id] string NOT NULL , + [db_path] string NOT NULL , + [display_name] string NOT NULL , + [url] string NOT NULL , + [last_active_at] number NOT NULL , + [identifier] string NOT NULL , + CONSTRAINT [PK_Servers] PRIMARY KEY CLUSTERED ( + [id] ASC + ) +) + +CREATE INDEX [idx_Servers_url] +ON [Servers] ([url]) + +CREATE INDEX [idx_Servers_last_active_at] +ON [Servers] ([last_active_at]) + +CREATE INDEX [idx_Servers_identifier] +ON [Servers] ([identifier]) + +COMMIT TRANSACTION QUICKDBD \ No newline at end of file diff --git a/docs/database/app_database/app-database.md b/docs/database/app_database/app-database.md new file mode 100644 index 0000000000..4ed6ab3828 --- /dev/null +++ b/docs/database/app_database/app-database.md @@ -0,0 +1,30 @@ +# App 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. + + +Info +- +id PK string # auto-generated +build_number string +created_at number +version_number string + + +Global +- +id PK string # GLOBAL_IDENTIFIERS +value string + + +Servers +- +id PK string # auto-generated +db_path string +display_name string +url string INDEX +last_active_at number INDEX +identifier string INDEX