2018-02-20 13:59:37 +01:00
-- ------------------------------------------
2020-04-13 18:27:40 +02:00
-- Friendica 2020.06-dev (Red Hot Poker)
2020-03-10 23:04:03 +01:00
-- DB_UPDATE_VERSION 1338
2018-02-20 13:59:37 +01:00
-- ------------------------------------------
2019-08-20 09:39:13 +02:00
--
-- TABLE 2fa_app_specific_password
--
CREATE TABLE IF NOT EXISTS ` 2 fa_app_specific_password ` (
` id ` mediumint unsigned NOT NULL auto_increment COMMENT ' Password ID for revocation ' ,
` uid ` mediumint unsigned NOT NULL COMMENT ' User ID ' ,
` description ` varchar ( 255 ) COMMENT ' Description of the usage of the password ' ,
` hashed_password ` varchar ( 255 ) NOT NULL COMMENT ' Hashed password ' ,
` generated ` datetime NOT NULL COMMENT ' Datetime the password was generated ' ,
` last_used ` datetime COMMENT ' Datetime the password was last used ' ,
PRIMARY KEY ( ` id ` ) ,
2019-08-21 23:11:37 +02:00
INDEX ` uid_description ` ( ` uid ` , ` description ` ( 190 ) )
2019-08-20 09:39:13 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Two-factor app-specific _password ' ;
2019-06-28 11:03:58 +02:00
--
-- TABLE 2fa_recovery_codes
--
CREATE TABLE IF NOT EXISTS ` 2 fa_recovery_codes ` (
` uid ` mediumint unsigned NOT NULL COMMENT ' User ID ' ,
` code ` varchar ( 50 ) NOT NULL COMMENT ' Recovery code string ' ,
` generated ` datetime NOT NULL COMMENT ' Datetime the code was generated ' ,
` used ` datetime COMMENT ' Datetime the code was used ' ,
PRIMARY KEY ( ` uid ` , ` code ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Two-factor authentication recovery codes ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE addon
--
CREATE TABLE IF NOT EXISTS ` addon ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` name ` varchar ( 50 ) NOT NULL DEFAULT ' ' COMMENT ' addon base (file)name ' ,
` version ` varchar ( 50 ) NOT NULL DEFAULT ' ' COMMENT ' currently unused ' ,
` installed ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' currently always 1 ' ,
` hidden ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' currently unused ' ,
` timestamp ` int unsigned NOT NULL DEFAULT 0 COMMENT ' file timestamp to check for reloads ' ,
` plugin_admin ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 = has admin config, 0 = has no admin config ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` name ` ( ` name ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' registered addons ' ;
2018-02-20 13:59:37 +01:00
2018-10-07 22:36:15 +02:00
--
-- TABLE apcontact
--
CREATE TABLE IF NOT EXISTS ` apcontact ` (
` url ` varbinary ( 255 ) NOT NULL COMMENT ' URL of the contact ' ,
` uuid ` varchar ( 255 ) COMMENT ' ' ,
` type ` varchar ( 20 ) NOT NULL COMMENT ' ' ,
` following ` varchar ( 255 ) COMMENT ' ' ,
` followers ` varchar ( 255 ) COMMENT ' ' ,
` inbox ` varchar ( 255 ) NOT NULL COMMENT ' ' ,
` outbox ` varchar ( 255 ) COMMENT ' ' ,
` sharedinbox ` varchar ( 255 ) COMMENT ' ' ,
2019-01-14 07:36:08 +01:00
` manually - approve ` boolean COMMENT ' ' ,
2018-10-07 22:36:15 +02:00
` nick ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` name ` varchar ( 255 ) COMMENT ' ' ,
` about ` text COMMENT ' ' ,
` photo ` varchar ( 255 ) COMMENT ' ' ,
` addr ` varchar ( 255 ) COMMENT ' ' ,
` alias ` varchar ( 255 ) COMMENT ' ' ,
` pubkey ` text COMMENT ' ' ,
` baseurl ` varchar ( 255 ) COMMENT ' baseurl of the ap contact ' ,
2019-05-02 15:05:31 +02:00
` generator ` varchar ( 255 ) COMMENT ' Name of the contact\ ' s system ' ,
2019-12-11 01:05:50 +01:00
` following_count ` int unsigned DEFAULT 0 COMMENT ' Number of following contacts ' ,
` followers_count ` int unsigned DEFAULT 0 COMMENT ' Number of followers ' ,
` statuses_count ` int unsigned DEFAULT 0 COMMENT ' Number of posts ' ,
2018-10-07 22:36:15 +02:00
` updated ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` url ` ) ,
INDEX ` addr ` ( ` addr ` ( 32 ) ) ,
2018-11-16 21:21:33 +01:00
INDEX ` alias ` ( ` alias ` ( 190 ) ) ,
2018-10-07 22:36:15 +02:00
INDEX ` url ` ( ` followers ` ( 190 ) )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ActivityPub compatible contacts - used in the ActivityPub implementation ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE attach
--
CREATE TABLE IF NOT EXISTS ` attach ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' generated index ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
` hash ` varchar ( 64 ) NOT NULL DEFAULT ' ' COMMENT ' hash ' ,
` filename ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' filename of original ' ,
` filetype ` varchar ( 64 ) NOT NULL DEFAULT ' ' COMMENT ' mimetype ' ,
` filesize ` int unsigned NOT NULL DEFAULT 0 COMMENT ' size in bytes ' ,
` data ` longblob NOT NULL COMMENT ' file data ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' creation time ' ,
` edited ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' last edit time ' ,
2019-10-28 21:59:55 +01:00
` allow_cid ` mediumtext COMMENT ' Access Control - list of allowed contact.id \ ' < 19 > < 78 > ' ,
` allow_gid ` mediumtext COMMENT ' Access Control - list of allowed groups ' ,
` deny_cid ` mediumtext COMMENT ' Access Control - list of denied contact.id ' ,
` deny_gid ` mediumtext COMMENT ' Access Control - list of denied groups ' ,
2019-01-03 22:51:36 +01:00
` backend - class ` tinytext COMMENT ' Storage backend class ' ,
` backend - ref ` text COMMENT ' Storage backend data reference ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' file attachments ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE auth_codes
--
CREATE TABLE IF NOT EXISTS ` auth_codes ` (
` id ` varchar ( 40 ) NOT NULL COMMENT ' ' ,
` client_id ` varchar ( 20 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` redirect_uri ` varchar ( 200 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` expires ` int NOT NULL DEFAULT 0 COMMENT ' ' ,
` scope ` varchar ( 250 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' OAuth usage ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE cache
--
CREATE TABLE IF NOT EXISTS ` cache ` (
2018-03-01 05:48:28 +01:00
` k ` varbinary ( 255 ) NOT NULL COMMENT ' cache key ' ,
` v ` mediumtext COMMENT ' cached serialized value ' ,
` expires ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime of cache expiration ' ,
` updated ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime of cache insertion ' ,
2018-03-05 05:41:14 +01:00
PRIMARY KEY ( ` k ` ) ,
INDEX ` k_expires ` ( ` k ` , ` expires ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Stores temporary data ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE challenge
--
CREATE TABLE IF NOT EXISTS ` challenge ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` challenge ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` dfrn - id ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` expire ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` type ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` last_update ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE clients
--
CREATE TABLE IF NOT EXISTS ` clients ` (
` client_id ` varchar ( 20 ) NOT NULL COMMENT ' ' ,
` pw ` varchar ( 20 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` redirect_uri ` varchar ( 200 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` name ` text COMMENT ' ' ,
` icon ` text COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
PRIMARY KEY ( ` client_id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' OAuth usage ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE config
--
CREATE TABLE IF NOT EXISTS ` config ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' ' ,
` cat ` varbinary ( 50 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` k ` varbinary ( 50 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` v ` mediumtext COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` cat_k ` ( ` cat ` , ` k ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' main configuration storage ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE contact
--
CREATE TABLE IF NOT EXISTS ` contact ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
2018-02-20 13:59:37 +01:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
2019-04-09 07:50:51 +02:00
` updated ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of last contact update ' ,
2018-05-29 16:11:25 +02:00
` self ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 if the contact is the user him/her self ' ,
2018-02-20 13:59:37 +01:00
` remote_self ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` rel ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' The kind of the relation between the user and the contact ' ,
2018-02-20 13:59:37 +01:00
` duplex ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2019-05-05 12:40:02 +02:00
` network ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' Network of the contact ' ,
` protocol ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' Protocol of the contact ' ,
2018-05-29 16:11:25 +02:00
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Name that this contact is known by ' ,
` nick ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Nick- and user name of the contact ' ,
2019-04-09 07:50:51 +02:00
` location ` varchar ( 255 ) DEFAULT ' ' COMMENT ' ' ,
2018-02-20 13:59:37 +01:00
` about ` text COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` keywords ` text COMMENT ' public keywords (interests) of the contact ' ,
2020-03-02 21:31:16 +01:00
` gender ` varchar ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' Deprecated ' ,
2018-02-20 13:59:37 +01:00
` xmpp ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` attag ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` avatar ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` photo ` varchar ( 255 ) DEFAULT ' ' COMMENT ' Link to the profile photo of the contact ' ,
` thumb ` varchar ( 255 ) DEFAULT ' ' COMMENT ' Link to the profile photo (thumb size) ' ,
` micro ` varchar ( 255 ) DEFAULT ' ' COMMENT ' Link to the profile photo (micro size) ' ,
2018-02-20 13:59:37 +01:00
` site - pubkey ` text COMMENT ' ' ,
` issued - id ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` dfrn - id ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` nurl ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` addr ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` alias ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` pubkey ` text COMMENT ' RSA public key 4096 bit ' ,
` prvkey ` text COMMENT ' RSA private key 4096 bit ' ,
2018-02-20 13:59:37 +01:00
` batch ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` request ` varchar ( 255 ) COMMENT ' ' ,
` notify ` varchar ( 255 ) COMMENT ' ' ,
` poll ` varchar ( 255 ) COMMENT ' ' ,
` confirm ` varchar ( 255 ) COMMENT ' ' ,
` poco ` varchar ( 255 ) COMMENT ' ' ,
` aes_allow ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` ret - aes ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` usehub ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` subhub ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` hub - verify ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` last - update ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last try to update the contact info ' ,
` success_update ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last successful contact update ' ,
` failure_update ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last failed update ' ,
2018-02-20 13:59:37 +01:00
` name - date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` uri - date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` avatar - date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` term - date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` last - item ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' date of the last post ' ,
2018-02-20 13:59:37 +01:00
` priority ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2019-06-28 11:03:58 +02:00
` blocked ` boolean NOT NULL DEFAULT ' 1 ' COMMENT ' Node-wide block status ' ,
` block_reason ` text COMMENT ' Node-wide block reason ' ,
2018-05-29 16:11:25 +02:00
` readonly ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' posts of the contact are readonly ' ,
2018-02-20 13:59:37 +01:00
` writable ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` forum ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' contact is a forum ' ,
` p rv ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' contact is a private group ' ,
2018-02-20 13:59:37 +01:00
` contact - type ` tinyint NOT NULL DEFAULT 0 COMMENT ' ' ,
` hidden ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` archive ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` pending ` boolean NOT NULL DEFAULT ' 1 ' COMMENT ' ' ,
2018-10-13 20:13:01 +02:00
` deleted ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Contact has been deleted ' ,
2018-02-20 13:59:37 +01:00
` rating ` tinyint NOT NULL DEFAULT 0 COMMENT ' ' ,
2019-07-04 06:08:55 +02:00
` unsearchable ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Contact prefers to not be searchable ' ,
` sensitive ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Contact posts sensitive content ' ,
` baseurl ` varchar ( 255 ) DEFAULT ' ' COMMENT ' baseurl of the contact ' ,
2018-02-20 13:59:37 +01:00
` reason ` text COMMENT ' ' ,
` closeness ` tinyint unsigned NOT NULL DEFAULT 99 COMMENT ' ' ,
` info ` mediumtext COMMENT ' ' ,
2020-01-19 15:43:15 +01:00
` profile - id ` int unsigned COMMENT ' Deprecated ' ,
2018-02-20 13:59:37 +01:00
` bdyear ` varchar ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` bd ` date NOT NULL DEFAULT ' 0001-01-01 ' COMMENT ' ' ,
` notify_new_posts ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` fetch_further_information ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` ffi_keyword_blacklist ` text COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid_name ` ( ` uid ` , ` name ` ( 190 ) ) ,
INDEX ` self_uid ` ( ` self ` , ` uid ` ) ,
INDEX ` alias_uid ` ( ` alias ` ( 32 ) , ` uid ` ) ,
INDEX ` pending_uid ` ( ` pending ` , ` uid ` ) ,
INDEX ` blocked_uid ` ( ` blocked ` , ` uid ` ) ,
INDEX ` uid_rel_network_poll ` ( ` uid ` , ` rel ` , ` network ` , ` poll ` ( 64 ) , ` archive ` ) ,
INDEX ` uid_network_batch ` ( ` uid ` , ` network ` , ` batch ` ( 64 ) ) ,
INDEX ` addr_uid ` ( ` addr ` ( 32 ) , ` uid ` ) ,
INDEX ` nurl_uid ` ( ` nurl ` ( 32 ) , ` uid ` ) ,
INDEX ` nick_uid ` ( ` nick ` ( 32 ) , ` uid ` ) ,
INDEX ` dfrn - id ` ( ` dfrn - id ` ( 64 ) ) ,
INDEX ` issued - id ` ( ` issued - id ` ( 64 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' contact table ' ;
2018-02-20 13:59:37 +01:00
2020-03-10 23:04:03 +01:00
--
-- TABLE contact-relation
--
CREATE TABLE IF NOT EXISTS ` contact - relation ` (
` cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' contact the related contact had interacted with ' ,
` relation - cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' related contact who had interacted with the contact ' ,
` last - interaction ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last interaction ' ,
PRIMARY KEY ( ` cid ` , ` relation - cid ` ) ,
INDEX ` relation - cid ` ( ` relation - cid ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Contact relations ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE conv
--
CREATE TABLE IF NOT EXISTS ` conv ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` guid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' A unique identifier for this conversation ' ,
` recips ` text COMMENT ' sender_handle;recipient_handle ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
` creator ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' handle of creator ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' creation timestamp ' ,
` updated ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' edited timestamp ' ,
` subject ` text COMMENT ' subject of initial message ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid ` ( ` uid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' private messages ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE conversation
--
CREATE TABLE IF NOT EXISTS ` conversation ` (
2018-08-05 13:09:59 +02:00
` item - uri ` varbinary ( 255 ) NOT NULL COMMENT ' Original URI of the item - unrelated to the table with the same name ' ,
2018-05-29 16:11:25 +02:00
` reply - to - uri ` varbinary ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' URI to which this item is a reply ' ,
` conversation - uri ` varbinary ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' GNU Social conversation URI ' ,
` conversation - href ` varbinary ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' GNU Social conversation link ' ,
2018-10-07 22:36:15 +02:00
` protocol ` tinyint unsigned NOT NULL DEFAULT 255 COMMENT ' The protocol of the item ' ,
2020-03-03 09:01:04 +01:00
` direction ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' How the message arrived here: 1=push, 2=pull ' ,
2018-05-29 16:11:25 +02:00
` source ` mediumtext COMMENT ' Original source ' ,
` received ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Receiving date ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` item - uri ` ) ,
INDEX ` conversation - uri ` ( ` conversation - uri ` ) ,
INDEX ` received ` ( ` received ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Raw data and structure information for messages ' ;
2018-02-20 13:59:37 +01:00
2018-10-15 23:42:55 +02:00
--
-- TABLE diaspora-interaction
--
CREATE TABLE IF NOT EXISTS ` diaspora - interaction ` (
` uri - id ` int unsigned NOT NULL COMMENT ' Id of the item-uri table entry that contains the item uri ' ,
` interaction ` mediumtext COMMENT ' The Diaspora interaction ' ,
PRIMARY KEY ( ` uri - id ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Signed Diaspora Interaction ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE event
--
CREATE TABLE IF NOT EXISTS ` event ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` guid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
` cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' contact_id (ID of the contact in contact table) ' ,
2018-02-20 13:59:37 +01:00
` uri ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' creation time ' ,
` edited ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' last edit time ' ,
` start ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' event start time ' ,
` finish ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' event end time ' ,
` summary ` text COMMENT ' short description or title of the event ' ,
` desc ` text COMMENT ' event description ' ,
` location ` text COMMENT ' event location ' ,
` type ` varchar ( 20 ) NOT NULL DEFAULT ' ' COMMENT ' event or birthday ' ,
` nofinish ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' if event does have no end this is 1 ' ,
` adjust ` boolean NOT NULL DEFAULT ' 1 ' COMMENT ' adjust to timezone of the recipient (0 or 1) ' ,
` ignore ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 0 or 1 ' ,
2019-10-28 21:59:55 +01:00
` allow_cid ` mediumtext COMMENT ' Access Control - list of allowed contact.id \ ' < 19 > < 78 > \ ' ' ,
` allow_gid ` mediumtext COMMENT ' Access Control - list of allowed groups ' ,
` deny_cid ` mediumtext COMMENT ' Access Control - list of denied contact.id ' ,
` deny_gid ` mediumtext COMMENT ' Access Control - list of denied groups ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid_start ` ( ` uid ` , ` start ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Events ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE fcontact
--
CREATE TABLE IF NOT EXISTS ` fcontact ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` guid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' unique id ' ,
2018-02-20 13:59:37 +01:00
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` photo ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` request ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` nick ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` addr ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` batch ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` notify ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` poll ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` confirm ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` priority ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` network ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` alias ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` pubkey ` text COMMENT ' ' ,
` updated ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` addr ` ( ` addr ` ( 32 ) ) ,
UNIQUE INDEX ` url ` ( ` url ` ( 190 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Diaspora compatible contacts - used in the Diaspora implementation ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE fsuggest
--
CREATE TABLE IF NOT EXISTS ` fsuggest ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` request ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` photo ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` note ` text COMMENT ' ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' friend suggestion stuff ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE gcign
--
CREATE TABLE IF NOT EXISTS ` gcign ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Local User id ' ,
` gcid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' gcontact.id of ignored contact ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid ` ( ` uid ` ) ,
INDEX ` gcid ` ( ` gcid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' contacts ignored by friend suggestions ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE gcontact
--
CREATE TABLE IF NOT EXISTS ` gcontact ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Name that this contact is known by ' ,
` nick ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Nick- and user name of the contact ' ,
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Link to the contacts profile page ' ,
2018-02-20 13:59:37 +01:00
` nurl ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` photo ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Link to the profile photo ' ,
2018-02-20 13:59:37 +01:00
` connect ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` updated ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` last_contact ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` last_failure ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
2020-03-07 06:31:03 +01:00
` last_discovery ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last contact discovery ' ,
2019-07-02 11:06:48 +02:00
` archive_date ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` archived ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-02-20 13:59:37 +01:00
` location ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` about ` text COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` keywords ` text COMMENT ' puplic keywords (interests) ' ,
2020-03-02 21:31:16 +01:00
` gender ` varchar ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' Deprecated ' ,
2018-02-20 13:59:37 +01:00
` birthday ` varchar ( 32 ) NOT NULL DEFAULT ' 0001-01-01 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` community ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 if contact is forum account ' ,
2018-02-20 13:59:37 +01:00
` contact - type ` tinyint NOT NULL DEFAULT - 1 COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` hide ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 = should be hidden from search ' ,
` nsfw ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 = contact posts nsfw content ' ,
` network ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' social network protocol ' ,
2018-02-20 13:59:37 +01:00
` addr ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` notify ` varchar ( 255 ) COMMENT ' ' ,
` alias ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` generation ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` server_url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' baseurl of the contacts server ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` nurl ` ( ` nurl ` ( 190 ) ) ,
INDEX ` name ` ( ` name ` ( 64 ) ) ,
INDEX ` nick ` ( ` nick ` ( 32 ) ) ,
INDEX ` addr ` ( ` addr ` ( 64 ) ) ,
INDEX ` hide_network_updated ` ( ` hide ` , ` network ` , ` updated ` ) ,
INDEX ` updated ` ( ` updated ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' global contacts ' ;
2018-02-20 13:59:37 +01:00
2020-03-06 09:08:49 +01:00
--
-- TABLE gfollower
--
CREATE TABLE IF NOT EXISTS ` gfollower ` (
` gcid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' global contact ' ,
` follower - gcid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' global contact of the follower ' ,
2020-03-07 06:31:03 +01:00
` deleted ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 indicates that the connection has been deleted ' ,
2020-03-06 09:08:49 +01:00
PRIMARY KEY ( ` gcid ` , ` follower - gcid ` ) ,
INDEX ` follower - gcid ` ( ` follower - gcid ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Followers of global contacts ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE glink
--
CREATE TABLE IF NOT EXISTS ` glink ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` gcid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` zcid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` updated ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` cid_uid_gcid_zcid ` ( ` cid ` , ` uid ` , ` gcid ` , ` zcid ` ) ,
INDEX ` gcid ` ( ` gcid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' \ ' friends of friends \ ' linkages derived from poco ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE group
--
CREATE TABLE IF NOT EXISTS ` group ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
` visible ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 indicates the member list is not private ' ,
` deleted ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 indicates the group has been deleted ' ,
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' human readable name of group ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid ` ( ` uid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' privacy groups, group info ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE group_member
--
CREATE TABLE IF NOT EXISTS ` group_member ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` gid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' groups.id of the associated group ' ,
2018-06-18 23:05:44 +02:00
` contact - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' contact.id of the member assigned to the associated group ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` contactid ` ( ` contact - id ` ) ,
UNIQUE INDEX ` gid_contactid ` ( ` gid ` , ` contact - id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' privacy groups, member info ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE gserver
--
CREATE TABLE IF NOT EXISTS ` gserver ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` nurl ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` version ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` site_name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` info ` text COMMENT ' ' ,
` register_policy ` tinyint NOT NULL DEFAULT 0 COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` registered - users ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Number of registered users ' ,
2019-12-21 14:48:20 +01:00
` directory - type ` tinyint DEFAULT 0 COMMENT ' Type of directory service (Poco, Mastodon) ' ,
2018-02-20 13:59:37 +01:00
` poco ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` noscrape ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` network ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` platform ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-03-26 07:44:53 +02:00
` relay - subscribe ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Has the server subscribed to the relay system ' ,
` relay - scope ` varchar ( 10 ) NOT NULL DEFAULT ' ' COMMENT ' The scope of messages that the server wants to get ' ,
2018-02-20 13:59:37 +01:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` last_poco_query ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` last_contact ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` last_failure ` datetime DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` nurl ` ( ` nurl ` ( 190 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Global servers ' ;
2018-02-20 13:59:37 +01:00
2018-03-26 07:44:53 +02:00
--
-- TABLE gserver-tag
--
CREATE TABLE IF NOT EXISTS ` gserver - tag ` (
` gserver - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' The id of the gserver ' ,
` tag ` varchar ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' Tag that the server has subscribed ' ,
PRIMARY KEY ( ` gserver - id ` , ` tag ` ) ,
INDEX ` tag ` ( ` tag ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Tags that the server has subscribed ' ;
2018-03-26 07:44:53 +02:00
2018-02-20 13:59:37 +01:00
--
-- TABLE hook
--
CREATE TABLE IF NOT EXISTS ` hook ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` hook ` varbinary ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' name of hook ' ,
` file ` varbinary ( 200 ) NOT NULL DEFAULT ' ' COMMENT ' relative filename of hook handler ' ,
` function ` varbinary ( 200 ) NOT NULL DEFAULT ' ' COMMENT ' function name of hook handler ' ,
` priority ` smallint unsigned NOT NULL DEFAULT 0 COMMENT ' not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` hook_file_function ` ( ` hook ` , ` file ` , ` function ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' addon hook registry ' ;
2018-02-20 13:59:37 +01:00
2019-03-25 22:51:32 +01:00
--
-- TABLE inbox-status
--
CREATE TABLE IF NOT EXISTS ` inbox - status ` (
` url ` varbinary ( 255 ) NOT NULL COMMENT ' URL of the inbox ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Creation date of this entry ' ,
` success ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last successful delivery ' ,
` failure ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of the last failed delivery ' ,
` previous ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Previous delivery date ' ,
` archive ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Is the inbox archived? ' ,
2019-03-26 22:38:15 +01:00
` shared ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Is it a shared inbox? ' ,
2019-03-25 22:51:32 +01:00
PRIMARY KEY ( ` url ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Status of ActivityPub inboxes ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE intro
--
CREATE TABLE IF NOT EXISTS ` intro ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` fid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` contact - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` knowyou ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` duplex ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` note ` text COMMENT ' ' ,
` hash ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` datetime ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` blocked ` boolean NOT NULL DEFAULT ' 1 ' COMMENT ' ' ,
` ignore ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE item
--
CREATE TABLE IF NOT EXISTS ` item ` (
` id ` int unsigned NOT NULL auto_increment ,
2018-05-29 16:11:25 +02:00
` guid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' A unique identifier for this item ' ,
2018-02-20 13:59:37 +01:00
` uri ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-08-05 13:09:59 +02:00
` uri - id ` int unsigned COMMENT ' Id of the item-uri table entry that contains the item uri ' ,
2018-07-15 20:36:20 +02:00
` uri - hash ` varchar ( 80 ) NOT NULL DEFAULT ' ' COMMENT ' RIPEMD-128 hash from uri ' ,
2018-05-29 16:11:25 +02:00
` parent ` int unsigned NOT NULL DEFAULT 0 COMMENT ' item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item ' ,
` parent - uri ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' uri of the parent to this item ' ,
2018-08-05 13:09:59 +02:00
` parent - uri - id ` int unsigned COMMENT ' Id of the item-uri table that contains the parent uri ' ,
2018-05-29 16:11:25 +02:00
` thr - parent ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri ' ,
2018-08-05 13:09:59 +02:00
` thr - parent - id ` int unsigned COMMENT ' Id of the item-uri table that contains the thread parent uri ' ,
2018-05-29 16:11:25 +02:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Creation timestamp. ' ,
2018-06-02 07:03:23 +02:00
` edited ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of last edit (default is created) ' ,
2018-05-29 16:11:25 +02:00
` commented ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of last comment/reply to this item ' ,
` received ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime ' ,
` changed ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date that something in the conversation changed, indicating clients should fetch the conversation again ' ,
2018-07-15 20:36:20 +02:00
` gravity ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` network ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' Network from where the item comes from ' ,
2018-05-29 16:11:25 +02:00
` owner - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Link to the contact table with uid=0 of the owner of this item ' ,
` author - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Link to the contact table with uid=0 of the author of this item ' ,
2018-06-25 06:56:32 +02:00
` icid ` int unsigned COMMENT ' Id of the item-content table entry that contains the whole item content ' ,
2018-07-06 00:00:38 +02:00
` iaid ` int unsigned COMMENT ' Id of the item-activity table entry that contains the activity data ' ,
2018-07-15 20:36:20 +02:00
` extid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-07-19 15:52:05 +02:00
` post - type ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' Post type (personal note, bookmark, ...) ' ,
2018-07-15 20:36:20 +02:00
` global ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2020-03-02 21:48:26 +01:00
` private ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' 0=public, 1=private, 2=unlisted ' ,
2018-07-15 20:36:20 +02:00
` visible ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` moderated ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` deleted ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' item has been deleted ' ,
2018-07-15 20:36:20 +02:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner id which owns this copy of the item ' ,
` contact - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' contact.id ' ,
` wall ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' This item was posted to the wall of uid ' ,
2018-05-29 16:11:25 +02:00
` origin ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' item originated at this site ' ,
2018-07-15 20:36:20 +02:00
` pubmail ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` starred ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' item has been favourited ' ,
` unseen ` boolean NOT NULL DEFAULT ' 1 ' COMMENT ' item has not been seen ' ,
2018-05-29 16:11:25 +02:00
` mention ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' The owner of this item was mentioned in it ' ,
2018-07-15 20:36:20 +02:00
` forum_mode ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2018-07-19 15:52:05 +02:00
` psid ` int unsigned COMMENT ' ID of the permission set of this post ' ,
2018-07-15 20:36:20 +02:00
` resource - id ` varchar ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type ' ,
` event - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Used to link to the event.id ' ,
` attach ` mediumtext COMMENT ' JSON structure representing attachments to this item ' ,
2019-10-28 21:59:55 +01:00
` allow_cid ` mediumtext COMMENT ' Deprecated ' ,
` allow_gid ` mediumtext COMMENT ' Deprecated ' ,
` deny_cid ` mediumtext COMMENT ' Deprecated ' ,
` deny_gid ` mediumtext COMMENT ' Deprecated ' ,
2018-07-19 23:56:52 +02:00
` postopts ` text COMMENT ' Deprecated ' ,
` inform ` mediumtext COMMENT ' Deprecated ' ,
2018-07-19 15:52:05 +02:00
` type ` varchar ( 20 ) COMMENT ' Deprecated ' ,
` bookmark ` boolean COMMENT ' Deprecated ' ,
2018-07-15 20:36:20 +02:00
` file ` mediumtext COMMENT ' Deprecated ' ,
` location ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` coord ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` tag ` mediumtext COMMENT ' Deprecated ' ,
` plink ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` title ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` content - warning ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` body ` mediumtext COMMENT ' Deprecated ' ,
` app ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` verb ` varchar ( 100 ) COMMENT ' Deprecated ' ,
` object - type ` varchar ( 100 ) COMMENT ' Deprecated ' ,
` object ` text COMMENT ' Deprecated ' ,
` target - type ` varchar ( 100 ) COMMENT ' Deprecated ' ,
` target ` text COMMENT ' Deprecated ' ,
` author - name ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` author - link ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` author - avatar ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` owner - name ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` owner - link ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` owner - avatar ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` rendered - hash ` varchar ( 32 ) COMMENT ' Deprecated ' ,
` rendered - html ` mediumtext COMMENT ' Deprecated ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` guid ` ( ` guid ` ( 191 ) ) ,
INDEX ` uri ` ( ` uri ` ( 191 ) ) ,
INDEX ` parent ` ( ` parent ` ) ,
INDEX ` parent - uri ` ( ` parent - uri ` ( 191 ) ) ,
INDEX ` extid ` ( ` extid ` ( 191 ) ) ,
INDEX ` uid_id ` ( ` uid ` , ` id ` ) ,
INDEX ` uid_contactid_id ` ( ` uid ` , ` contact - id ` , ` id ` ) ,
2019-07-18 08:11:02 +02:00
INDEX ` uid_received ` ( ` uid ` , ` received ` ) ,
2018-02-26 07:59:32 +01:00
INDEX ` uid_commented ` ( ` uid ` , ` commented ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` uid_unseen_contactid ` ( ` uid ` , ` unseen ` , ` contact - id ` ) ,
INDEX ` uid_network_received ` ( ` uid ` , ` network ` , ` received ` ) ,
INDEX ` uid_network_commented ` ( ` uid ` , ` network ` , ` commented ` ) ,
INDEX ` uid_thrparent ` ( ` uid ` , ` thr - parent ` ( 190 ) ) ,
INDEX ` uid_parenturi ` ( ` uid ` , ` parent - uri ` ( 190 ) ) ,
2019-07-18 08:11:02 +02:00
INDEX ` uid_contactid_received ` ( ` uid ` , ` contact - id ` , ` received ` ) ,
INDEX ` authorid_received ` ( ` author - id ` , ` received ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` ownerid ` ( ` owner - id ` ) ,
2019-01-14 07:36:08 +01:00
INDEX ` contact - id ` ( ` contact - id ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` uid_uri ` ( ` uid ` , ` uri ` ( 190 ) ) ,
INDEX ` resource - id ` ( ` resource - id ` ) ,
INDEX ` deleted_changed ` ( ` deleted ` , ` changed ` ) ,
INDEX ` uid_wall_changed ` ( ` uid ` , ` wall ` , ` changed ` ) ,
2019-12-15 14:14:55 +01:00
INDEX ` mention_uid_id ` ( ` mention ` , ` uid ` , ` id ` ) ,
2018-06-25 22:23:32 +02:00
INDEX ` uid_eventid ` ( ` uid ` , ` event - id ` ) ,
2018-07-06 08:46:44 +02:00
INDEX ` icid ` ( ` icid ` ) ,
2018-07-19 15:52:05 +02:00
INDEX ` iaid ` ( ` iaid ` ) ,
2018-07-26 01:14:55 +02:00
INDEX ` psid_wall ` ( ` psid ` , ` wall ` )
2018-06-25 06:56:32 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Structure for all posts ' ;
2018-07-06 00:00:38 +02:00
--
-- TABLE item-activity
--
CREATE TABLE IF NOT EXISTS ` item - activity ` (
` id ` int unsigned NOT NULL auto_increment ,
2018-07-15 20:36:20 +02:00
` uri ` varchar ( 255 ) COMMENT ' ' ,
2018-08-05 13:09:59 +02:00
` uri - id ` int unsigned COMMENT ' Id of the item-uri table entry that contains the item uri ' ,
2018-07-15 20:36:20 +02:00
` uri - hash ` varchar ( 80 ) NOT NULL DEFAULT ' ' COMMENT ' RIPEMD-128 hash from uri ' ,
2018-07-06 00:00:38 +02:00
` activity ` smallint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` uri - hash ` ( ` uri - hash ` ) ,
2018-11-16 21:21:33 +01:00
INDEX ` uri ` ( ` uri ` ( 191 ) ) ,
INDEX ` uri - id ` ( ` uri - id ` )
2018-07-06 00:00:38 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Activities for items ' ;
2018-06-25 06:56:32 +02:00
--
-- TABLE item-content
--
CREATE TABLE IF NOT EXISTS ` item - content ` (
` id ` int unsigned NOT NULL auto_increment ,
2018-07-15 20:36:20 +02:00
` uri ` varchar ( 255 ) COMMENT ' ' ,
2018-08-05 13:09:59 +02:00
` uri - id ` int unsigned COMMENT ' Id of the item-uri table entry that contains the item uri ' ,
2018-07-15 20:36:20 +02:00
` uri - plink - hash ` varchar ( 80 ) NOT NULL DEFAULT ' ' COMMENT ' RIPEMD-128 hash from uri ' ,
2018-06-25 06:56:32 +02:00
` title ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' item title ' ,
` content - warning ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` body ` mediumtext COMMENT ' item body content ' ,
` location ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' text location where this item originated ' ,
` coord ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' longitude/latitude pair representing location where this item originated ' ,
2018-06-30 07:18:43 +02:00
` language ` text COMMENT ' Language information about this post ' ,
2018-06-25 06:56:32 +02:00
` app ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' application which generated this item ' ,
` rendered - hash ` varchar ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` rendered - html ` mediumtext COMMENT ' item.body converted to html ' ,
` object - type ` varchar ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' ActivityStreams object type ' ,
` object ` text COMMENT ' JSON encoded object structure unless it is an implied object (normal post) ' ,
` target - type ` varchar ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' ActivityStreams target type if applicable (URI) ' ,
` target ` text COMMENT ' JSON encoded target structure if used ' ,
` plink ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' permalink or URL to a displayable copy of the message at its source ' ,
2018-06-28 05:51:57 +02:00
` verb ` varchar ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' ActivityStreams verb ' ,
2018-06-25 06:56:32 +02:00
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` uri - plink - hash ` ( ` uri - plink - hash ` ) ,
2018-11-16 21:21:33 +01:00
INDEX ` uri ` ( ` uri ` ( 191 ) ) ,
2019-07-18 08:11:02 +02:00
INDEX ` plink ` ( ` plink ` ( 191 ) ) ,
2018-11-16 21:21:33 +01:00
INDEX ` uri - id ` ( ` uri - id ` )
2018-06-25 06:56:32 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Content for all posts ' ;
2018-02-20 13:59:37 +01:00
2018-07-19 23:56:52 +02:00
--
-- TABLE item-delivery-data
--
CREATE TABLE IF NOT EXISTS ` item - delivery - data ` (
` iid ` int unsigned NOT NULL COMMENT ' Item id ' ,
` postopts ` text COMMENT ' External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery ' ,
` inform ` mediumtext COMMENT ' Additional receivers of the linked item ' ,
2019-01-03 22:51:36 +01:00
` queue_count ` mediumint NOT NULL DEFAULT 0 COMMENT ' Initial number of delivery recipients, used as item.delivery_queue_count ' ,
` queue_done ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of successful deliveries, used as item.delivery_queue_done ' ,
2019-08-20 09:39:13 +02:00
` queue_failed ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of unsuccessful deliveries, used as item.delivery_queue_failed ' ,
2019-06-28 11:03:58 +02:00
` activitypub ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of successful deliveries via ActivityPub ' ,
` dfrn ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of successful deliveries via DFRN ' ,
` legacy_dfrn ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of successful deliveries via legacy DFRN ' ,
` diaspora ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of successful deliveries via Diaspora ' ,
` ostatus ` mediumint NOT NULL DEFAULT 0 COMMENT ' Number of successful deliveries via OStatus ' ,
2018-07-19 23:56:52 +02:00
PRIMARY KEY ( ` iid ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Delivery data for items ' ;
2018-08-05 13:09:59 +02:00
--
-- TABLE item-uri
--
CREATE TABLE IF NOT EXISTS ` item - uri ` (
` id ` int unsigned NOT NULL auto_increment ,
` uri ` varbinary ( 255 ) NOT NULL COMMENT ' URI of an item ' ,
` guid ` varbinary ( 255 ) COMMENT ' A unique identifier for an item ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` uri ` ( ` uri ` ) ,
INDEX ` guid ` ( ` guid ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' URI and GUID for items ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE locks
--
CREATE TABLE IF NOT EXISTS ` locks ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` name ` varchar ( 128 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` locked ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` pid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Process ID ' ,
2018-07-15 20:36:20 +02:00
` expires ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime of cache expiration ' ,
2018-07-07 17:59:22 +02:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` name_expires ` ( ` name ` , ` expires ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE mail
--
CREATE TABLE IF NOT EXISTS ` mail ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
` guid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' A unique identifier for this private message ' ,
` from - name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' name of the sender ' ,
` from - photo ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' contact photo link of the sender ' ,
` from - url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' profile linke of the sender ' ,
` contact - id ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' contact.id ' ,
` convid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' conv.id ' ,
2018-02-20 13:59:37 +01:00
` title ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` body ` mediumtext COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` seen ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' if message visited it is 1 ' ,
2018-02-20 13:59:37 +01:00
` reply ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` replied ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` unknown ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' if sender not in the contact table this is 1 ' ,
2018-02-20 13:59:37 +01:00
` uri ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` parent - uri ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' creation time of the private message ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid_seen ` ( ` uid ` , ` seen ` ) ,
INDEX ` convid ` ( ` convid ` ) ,
INDEX ` uri ` ( ` uri ` ( 64 ) ) ,
INDEX ` parent - uri ` ( ` parent - uri ` ( 64 ) ) ,
INDEX ` contactid ` ( ` contact - id ` ( 32 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' private messages ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE mailacct
--
CREATE TABLE IF NOT EXISTS ` mailacct ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` server ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` port ` smallint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` ssltype ` varchar ( 16 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` mailbox ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` user ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` pass ` text COMMENT ' ' ,
` reply_to ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` action ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` movetofolder ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` pubmail ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` last_check ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Mail account data for fetching mails ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE manage
--
CREATE TABLE IF NOT EXISTS ` manage ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` mid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` uid_mid ` ( ` uid ` , ` mid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' table of accounts that can manage each other ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE notify
--
CREATE TABLE IF NOT EXISTS ` notify ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` type ` smallint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` photo ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` msg ` mediumtext COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
2018-02-20 13:59:37 +01:00
` link ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` iid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' item.id ' ,
2018-02-20 13:59:37 +01:00
` parent ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` seen ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` verb ` varchar ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` otype ` varchar ( 10 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` name_cache ` tinytext COMMENT ' Cached bbcode parsing of name ' ,
` msg_cache ` mediumtext COMMENT ' Cached bbcode parsing of msg ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` seen_uid_date ` ( ` seen ` , ` uid ` , ` date ` ) ,
INDEX ` uid_date ` ( ` uid ` , ` date ` ) ,
INDEX ` uid_type_link ` ( ` uid ` , ` type ` , ` link ` ( 190 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' notifications ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE notify-threads
--
CREATE TABLE IF NOT EXISTS ` notify - threads ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` notify - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` master - parent - item ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` parent - item ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` receiver - uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE oembed
--
CREATE TABLE IF NOT EXISTS ` oembed ` (
2018-05-29 16:11:25 +02:00
` url ` varbinary ( 255 ) NOT NULL COMMENT ' page url ' ,
` maxwidth ` mediumint unsigned NOT NULL COMMENT ' Maximum width passed to Oembed ' ,
` content ` mediumtext COMMENT ' OEmbed data of the page ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime of creation ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` url ` , ` maxwidth ` ) ,
INDEX ` created ` ( ` created ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' cache for OEmbed queries ' ;
2018-02-20 13:59:37 +01:00
2018-06-23 06:46:22 +02:00
--
-- TABLE openwebauth-token
--
CREATE TABLE IF NOT EXISTS ` openwebauth - token ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` type ` varchar ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' Verify type ' ,
` token ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' A generated token ' ,
` meta ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime of creation ' ,
PRIMARY KEY ( ` id ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Store OpenWebAuth token to verify contacts ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE parsed_url
--
CREATE TABLE IF NOT EXISTS ` parsed_url ` (
2018-05-29 16:11:25 +02:00
` url ` varbinary ( 255 ) NOT NULL COMMENT ' page url ' ,
` guessing ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' is the \ ' guessing \ ' mode active? ' ,
` oembed ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' is the data the result of oembed? ' ,
` content ` mediumtext COMMENT ' page data ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' datetime of creation ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` url ` , ` guessing ` , ` oembed ` ) ,
INDEX ` created ` ( ` created ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' cache for \ ' parse_url \ ' queries ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE participation
--
CREATE TABLE IF NOT EXISTS ` participation ` (
` iid ` int unsigned NOT NULL COMMENT ' ' ,
` server ` varchar ( 60 ) NOT NULL COMMENT ' ' ,
` cid ` int unsigned NOT NULL COMMENT ' ' ,
` fid ` int unsigned NOT NULL COMMENT ' ' ,
2019-01-14 07:36:08 +01:00
PRIMARY KEY ( ` iid ` , ` server ` ) ,
INDEX ` cid ` ( ` cid ` ) ,
INDEX ` fid ` ( ` fid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Storage for participation messages from Diaspora ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE pconfig
--
CREATE TABLE IF NOT EXISTS ` pconfig ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` cat ` varbinary ( 50 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` k ` varbinary ( 100 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` v ` mediumtext COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE INDEX ` uid_cat_k ` ( ` uid ` , ` cat ` , ` k ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' personal (per user) configuration storage ' ;
2018-02-20 13:59:37 +01:00
2018-07-19 15:52:05 +02:00
--
-- TABLE permissionset
--
CREATE TABLE IF NOT EXISTS ` permissionset ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner id of this permission set ' ,
2019-10-28 21:59:55 +01:00
` allow_cid ` mediumtext COMMENT ' Access Control - list of allowed contact.id \ ' < 19 > < 78 > \ ' ' ,
` allow_gid ` mediumtext COMMENT ' Access Control - list of allowed groups ' ,
` deny_cid ` mediumtext COMMENT ' Access Control - list of denied contact.id ' ,
` deny_gid ` mediumtext COMMENT ' Access Control - list of denied groups ' ,
2018-07-19 15:52:05 +02:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid_allow_cid_allow_gid_deny_cid_deny_gid ` ( ` allow_cid ` ( 50 ) , ` allow_gid ` ( 30 ) , ` deny_cid ` ( 50 ) , ` deny_gid ` ( 30 ) )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE photo
--
CREATE TABLE IF NOT EXISTS ` photo ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
` contact - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' contact.id ' ,
` guid ` char ( 16 ) NOT NULL DEFAULT ' ' COMMENT ' A unique identifier for this photo ' ,
2018-02-20 13:59:37 +01:00
` resource - id ` char ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' creation date ' ,
` edited ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' last edited date ' ,
2018-02-20 13:59:37 +01:00
` title ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` desc ` text COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` album ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' The name of the album to which the photo belongs ' ,
2018-02-20 13:59:37 +01:00
` filename ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` type ` varchar ( 30 ) NOT NULL DEFAULT ' image/jpeg ' ,
` height ` smallint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` width ` smallint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` datasize ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` data ` mediumblob NOT NULL COMMENT ' ' ,
` scale ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` profile ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2019-10-28 21:59:55 +01:00
` allow_cid ` mediumtext COMMENT ' Access Control - list of allowed contact.id \ ' < 19 > < 78 > \ ' ' ,
` allow_gid ` mediumtext COMMENT ' Access Control - list of allowed groups ' ,
` deny_cid ` mediumtext COMMENT ' Access Control - list of denied contact.id ' ,
` deny_gid ` mediumtext COMMENT ' Access Control - list of denied groups ' ,
2020-03-08 14:16:59 +01:00
` accessible ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Make photo publicly accessible, ignoring permissions ' ,
2018-11-21 19:13:36 +01:00
` backend - class ` tinytext COMMENT ' Storage backend class ' ,
` backend - ref ` text COMMENT ' Storage backend data reference ' ,
2019-03-25 22:51:32 +01:00
` updated ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` contactid ` ( ` contact - id ` ) ,
INDEX ` uid_contactid ` ( ` uid ` , ` contact - id ` ) ,
INDEX ` uid_profile ` ( ` uid ` , ` profile ` ) ,
INDEX ` uid_album_scale_created ` ( ` uid ` , ` album ` ( 32 ) , ` scale ` , ` created ` ) ,
INDEX ` uid_album_resource - id_created ` ( ` uid ` , ` album ` ( 32 ) , ` resource - id ` , ` created ` ) ,
INDEX ` resource - id ` ( ` resource - id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' photo storage ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE poll
--
CREATE TABLE IF NOT EXISTS ` poll ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` q0 ` text COMMENT ' ' ,
` q1 ` text COMMENT ' ' ,
` q2 ` text COMMENT ' ' ,
` q3 ` text COMMENT ' ' ,
` q4 ` text COMMENT ' ' ,
` q5 ` text COMMENT ' ' ,
` q6 ` text COMMENT ' ' ,
` q7 ` text COMMENT ' ' ,
` q8 ` text COMMENT ' ' ,
` q9 ` text COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid ` ( ` uid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Currently unused table for storing poll results ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE poll_result
--
CREATE TABLE IF NOT EXISTS ` poll_result ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` poll_id ` int unsigned NOT NULL DEFAULT 0 ,
` choice ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` poll_id ` ( ` poll_id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' data for polls - currently unused ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE process
--
CREATE TABLE IF NOT EXISTS ` process ` (
` pid ` int unsigned NOT NULL COMMENT ' ' ,
` command ` varbinary ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
PRIMARY KEY ( ` pid ` ) ,
INDEX ` command ` ( ` command ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Currently running system processes ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE profile
--
CREATE TABLE IF NOT EXISTS ` profile ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner User id ' ,
2020-01-19 15:43:15 +01:00
` profile - name ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` is - default ` boolean COMMENT ' Deprecated ' ,
2018-05-29 16:11:25 +02:00
` hide - friends ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Hide friend list from viewers of this profile ' ,
2018-02-20 13:59:37 +01:00
` name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2020-02-09 08:35:39 +01:00
` pdesc ` varchar ( 255 ) COMMENT ' Deprecated ' ,
2018-05-29 16:11:25 +02:00
` dob ` varchar ( 32 ) NOT NULL DEFAULT ' 0000-00-00 ' COMMENT ' Day of birth ' ,
2018-02-20 13:59:37 +01:00
` address ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` locality ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` region ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` postal - code ` varchar ( 32 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` country - name ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2020-01-19 15:43:15 +01:00
` hometown ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` gender ` varchar ( 32 ) COMMENT ' Deprecated ' ,
` marital ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` with ` text COMMENT ' Deprecated ' ,
` howlong ` datetime COMMENT ' Deprecated ' ,
` sexual ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` politic ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` religion ` varchar ( 255 ) COMMENT ' Deprecated ' ,
2018-02-20 13:59:37 +01:00
` pub_keywords ` text COMMENT ' ' ,
` prv_keywords ` text COMMENT ' ' ,
2020-01-19 15:43:15 +01:00
` likes ` text COMMENT ' Deprecated ' ,
` dislikes ` text COMMENT ' Deprecated ' ,
2020-02-09 08:35:39 +01:00
` about ` text COMMENT ' Profile description ' ,
2020-01-19 15:43:15 +01:00
` summary ` varchar ( 255 ) COMMENT ' Deprecated ' ,
` music ` text COMMENT ' Deprecated ' ,
` book ` text COMMENT ' Deprecated ' ,
` tv ` text COMMENT ' Deprecated ' ,
` film ` text COMMENT ' Deprecated ' ,
` interest ` text COMMENT ' Deprecated ' ,
` romance ` text COMMENT ' Deprecated ' ,
` work ` text COMMENT ' Deprecated ' ,
` education ` text COMMENT ' Deprecated ' ,
` contact ` text COMMENT ' Deprecated ' ,
2018-02-20 13:59:37 +01:00
` homepage ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` xmpp ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` photo ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` thumb ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` publish ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' publish default profile in local directory ' ,
` net - publish ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' publish profile in global directory ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
2019-01-14 07:36:08 +01:00
INDEX ` uid_is - default ` ( ` uid ` , ` is - default ` ) ,
FULLTEXT INDEX ` pub_keywords ` ( ` pub_keywords ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' user profiles data ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE profile_check
--
CREATE TABLE IF NOT EXISTS ` profile_check ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
2018-05-29 16:11:25 +02:00
` cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' contact.id ' ,
2018-02-20 13:59:37 +01:00
` dfrn_id ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` sec ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` expire ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' DFRN remote auth use ' ;
2018-02-20 13:59:37 +01:00
2019-11-08 04:09:19 +01:00
--
-- TABLE profile_field
--
CREATE TABLE IF NOT EXISTS ` profile_field ` (
2020-03-02 21:31:16 +01:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' Owner user id ' ,
` order ` mediumint unsigned NOT NULL DEFAULT 1 COMMENT ' Field ordering per user ' ,
` psid ` int unsigned COMMENT ' ID of the permission set of this profile field - 0 = public ' ,
` label ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Label of the field ' ,
` value ` text COMMENT ' Value of the field ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' creation time ' ,
` edited ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' last edit time ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid ` ( ` uid ` ) ,
INDEX ` order ` ( ` order ` ) ,
INDEX ` psid ` ( ` psid ` )
2019-11-08 04:09:19 +01:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Custom profile fields ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE push_subscriber
--
CREATE TABLE IF NOT EXISTS ` push_subscriber ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` callback_url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` topic ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` nickname ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-19 05:56:29 +02:00
` push ` tinyint NOT NULL DEFAULT 0 COMMENT ' Retrial counter ' ,
2018-05-18 01:35:24 +02:00
` last_update ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of last successful trial ' ,
` next_try ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Next retrial date ' ,
2018-05-18 14:50:57 +02:00
` renewed ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Date of last subscription renewal ' ,
2018-02-20 13:59:37 +01:00
` secret ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-18 01:35:24 +02:00
PRIMARY KEY ( ` id ` ) ,
INDEX ` next_try ` ( ` next_try ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Used for OStatus: Contains feed subscribers ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE register
--
CREATE TABLE IF NOT EXISTS ` register ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` hash ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` password ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` language ` varchar ( 16 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` note ` text COMMENT ' ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' registrations requiring admin approval ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE search
--
CREATE TABLE IF NOT EXISTS ` search ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` term ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` uid ` ( ` uid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE session
--
CREATE TABLE IF NOT EXISTS ` session ` (
2018-05-29 16:11:25 +02:00
` id ` bigint unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` sid ` varbinary ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` data ` text COMMENT ' ' ,
` expire ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` sid ` ( ` sid ` ( 64 ) ) ,
INDEX ` expire ` ( ` expire ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' web session storage ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE term
--
CREATE TABLE IF NOT EXISTS ` term ` (
` tid ` int unsigned NOT NULL auto_increment COMMENT ' ' ,
` oid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` otype ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` type ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` term ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` url ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` guid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` received ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` global ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
PRIMARY KEY ( ` tid ` ) ,
2019-03-26 22:38:15 +01:00
INDEX ` term_type ` ( ` term ` ( 64 ) , ` type ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` oid_otype_type_term ` ( ` oid ` , ` otype ` , ` type ` , ` term ` ( 32 ) ) ,
INDEX ` uid_otype_type_term_global_created ` ( ` uid ` , ` otype ` , ` type ` , ` term ` ( 32 ) , ` global ` , ` created ` ) ,
INDEX ` uid_otype_type_url ` ( ` uid ` , ` otype ` , ` type ` , ` url ` ( 64 ) ) ,
INDEX ` guid ` ( ` guid ` ( 64 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' item taxonomy (categories, tags, etc.) table ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE thread
--
CREATE TABLE IF NOT EXISTS ` thread ` (
2018-05-29 16:11:25 +02:00
` iid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` contact - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` owner - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Item owner ' ,
` author - id ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Item author ' ,
2018-02-20 13:59:37 +01:00
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` edited ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` commented ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` received ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` changed ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' ' ,
` wall ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2020-03-02 21:48:26 +01:00
` private ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' 0=public, 1=private, 2=unlisted ' ,
2018-02-20 13:59:37 +01:00
` pubmail ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` moderated ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` visible ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` starred ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` ignored ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-07-19 15:52:05 +02:00
` post - type ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' Post type (personal note, bookmark, ...) ' ,
2018-02-20 13:59:37 +01:00
` unseen ` boolean NOT NULL DEFAULT ' 1 ' COMMENT ' ' ,
` deleted ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` origin ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` forum_mode ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` mention ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` network ` char ( 4 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-07-19 15:52:05 +02:00
` bookmark ` boolean COMMENT ' ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` iid ` ) ,
INDEX ` uid_network_commented ` ( ` uid ` , ` network ` , ` commented ` ) ,
2019-07-18 08:11:02 +02:00
INDEX ` uid_network_received ` ( ` uid ` , ` network ` , ` received ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` uid_contactid_commented ` ( ` uid ` , ` contact - id ` , ` commented ` ) ,
2019-07-18 08:11:02 +02:00
INDEX ` uid_contactid_received ` ( ` uid ` , ` contact - id ` , ` received ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` contactid ` ( ` contact - id ` ) ,
INDEX ` ownerid ` ( ` owner - id ` ) ,
INDEX ` authorid ` ( ` author - id ` ) ,
2019-07-18 08:11:02 +02:00
INDEX ` uid_received ` ( ` uid ` , ` received ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` uid_commented ` ( ` uid ` , ` commented ` ) ,
2019-07-18 08:11:02 +02:00
INDEX ` uid_wall_received ` ( ` uid ` , ` wall ` , ` received ` ) ,
2018-02-20 13:59:37 +01:00
INDEX ` private_wall_origin_commented ` ( ` private ` , ` wall ` , ` origin ` , ` commented ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Thread related data ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE tokens
--
CREATE TABLE IF NOT EXISTS ` tokens ` (
` id ` varchar ( 40 ) NOT NULL COMMENT ' ' ,
` secret ` text COMMENT ' ' ,
` client_id ` varchar ( 20 ) NOT NULL DEFAULT ' ' ,
` expires ` int NOT NULL DEFAULT 0 COMMENT ' ' ,
` scope ` varchar ( 200 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
PRIMARY KEY ( ` id ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' OAuth usage ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE user
--
CREATE TABLE IF NOT EXISTS ` user ` (
2018-05-29 16:11:25 +02:00
` uid ` mediumint unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` parent - uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' The parent user that has full control about this user ' ,
2018-05-29 16:11:25 +02:00
` guid ` varchar ( 64 ) NOT NULL DEFAULT ' ' COMMENT ' A unique identifier for this user ' ,
` username ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Name that this user is known by ' ,
` password ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' encrypted password ' ,
2018-02-20 13:59:37 +01:00
` legacy_password ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Is the password hash double-hashed? ' ,
2018-05-29 16:11:25 +02:00
` nickname ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' nick- and user name ' ,
` email ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' the users email address ' ,
2018-02-20 13:59:37 +01:00
` openid ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` timezone ` varchar ( 128 ) NOT NULL DEFAULT ' ' COMMENT ' PHP-legal timezone ' ,
` language ` varchar ( 32 ) NOT NULL DEFAULT ' en ' COMMENT ' default language ' ,
` register_date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' timestamp of registration ' ,
` login_date ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' timestamp of last login ' ,
` default - location ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' Default for item.location ' ,
` allow_location ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 allows to display the location ' ,
` theme ` varchar ( 255 ) NOT NULL DEFAULT ' ' COMMENT ' user theme preference ' ,
` pubkey ` text COMMENT ' RSA public key 4096 bit ' ,
` prvkey ` text COMMENT ' RSA private key 4096 bit ' ,
2018-02-20 13:59:37 +01:00
` spubkey ` text COMMENT ' ' ,
` sprvkey ` text COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` verified ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' user is verified through email ' ,
` blocked ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' 1 for user is blocked ' ,
` blockwall ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Prohibit contacts to post to the profile page of the user ' ,
` hidewall ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Hide profile details from unkown viewers ' ,
` blocktags ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Prohibit contacts to tag the post of this user ' ,
` unkmail ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Permit unknown people to send private mails to this user ' ,
2018-02-20 13:59:37 +01:00
` cntunkmail ` int unsigned NOT NULL DEFAULT 10 COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` notify - flags ` smallint unsigned NOT NULL DEFAULT 65535 COMMENT ' email notification options ' ,
` page - flags ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' page/profile type ' ,
2018-02-20 13:59:37 +01:00
` account - type ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
` prvnets ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
` pwdreset ` varchar ( 255 ) COMMENT ' Password reset request token ' ,
` pwdreset_time ` datetime COMMENT ' Timestamp of the last password reset request ' ,
` maxreq ` int unsigned NOT NULL DEFAULT 10 COMMENT ' ' ,
` expire ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` account_removed ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' if 1 the account is removed ' ,
2018-02-20 13:59:37 +01:00
` account_expired ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' ' ,
2018-05-29 16:11:25 +02:00
` account_expires_on ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' timestamp when account expires and will be deleted ' ,
` expire_notification_sent ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' timestamp of last warning of account expiration ' ,
2018-02-20 13:59:37 +01:00
` def_gid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2019-10-28 21:59:55 +01:00
` allow_cid ` mediumtext COMMENT ' default permission for this user ' ,
` allow_gid ` mediumtext COMMENT ' default permission for this user ' ,
` deny_cid ` mediumtext COMMENT ' default permission for this user ' ,
` deny_gid ` mediumtext COMMENT ' default permission for this user ' ,
2018-02-20 13:59:37 +01:00
` openidserver ` text COMMENT ' ' ,
PRIMARY KEY ( ` uid ` ) ,
INDEX ` nickname ` ( ` nickname ` ( 32 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' The local users ' ;
2018-02-20 13:59:37 +01:00
--
-- TABLE userd
--
CREATE TABLE IF NOT EXISTS ` userd ` (
2018-05-29 16:11:25 +02:00
` id ` int unsigned NOT NULL auto_increment COMMENT ' sequential ID ' ,
2018-02-20 13:59:37 +01:00
` username ` varchar ( 255 ) NOT NULL COMMENT ' ' ,
PRIMARY KEY ( ` id ` ) ,
INDEX ` username ` ( ` username ` ( 32 ) )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Deleted usernames ' ;
2018-02-20 13:59:37 +01:00
2018-08-25 15:48:00 +02:00
--
-- TABLE user-contact
--
CREATE TABLE IF NOT EXISTS ` user - contact ` (
` cid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Contact id of the linked public contact ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
` blocked ` boolean COMMENT ' Contact is completely blocked for this user ' ,
` ignored ` boolean COMMENT ' Posts from this contact are ignored ' ,
` collapsed ` boolean COMMENT ' Posts from this contact are collapsed ' ,
PRIMARY KEY ( ` uid ` , ` cid ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' User specific public contact data ' ;
2018-05-26 20:07:27 +02:00
--
-- TABLE user-item
--
CREATE TABLE IF NOT EXISTS ` user - item ` (
` iid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Item id ' ,
` uid ` mediumint unsigned NOT NULL DEFAULT 0 COMMENT ' User id ' ,
2018-06-02 07:03:23 +02:00
` hidden ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Marker to hide an item from the user ' ,
2018-08-08 22:32:11 +02:00
` ignored ` boolean COMMENT ' Ignore this thread if set ' ,
2019-11-07 06:39:15 +01:00
` pinned ` boolean COMMENT ' The item is pinned on the profile page ' ,
2020-01-04 13:21:42 +01:00
` notification - type ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' ' ,
2019-11-07 07:53:18 +01:00
PRIMARY KEY ( ` uid ` , ` iid ` ) ,
2020-01-05 13:48:18 +01:00
INDEX ` uid_pinned ` ( ` uid ` , ` pinned ` ) ,
INDEX ` iid_uid ` ( ` iid ` , ` uid ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' User specific item data ' ;
--
-- TABLE worker-ipc
--
CREATE TABLE IF NOT EXISTS ` worker - ipc ` (
` key ` int NOT NULL COMMENT ' ' ,
` jobs ` boolean COMMENT ' Flag for outstanding jobs ' ,
PRIMARY KEY ( ` key ` )
) ENGINE = MEMORY DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Inter process communication between the frontend and the worker ' ;
2018-05-26 20:07:27 +02:00
2018-02-20 13:59:37 +01:00
--
-- TABLE workerqueue
--
CREATE TABLE IF NOT EXISTS ` workerqueue ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' Auto incremented worker task id ' ,
2019-01-22 07:32:55 +01:00
` parameter ` mediumtext COMMENT ' Task command ' ,
2018-02-20 13:59:37 +01:00
` priority ` tinyint unsigned NOT NULL DEFAULT 0 COMMENT ' Task priority ' ,
` created ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Creation date ' ,
` pid ` int unsigned NOT NULL DEFAULT 0 COMMENT ' Process id of the worker ' ,
` executed ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Execution date ' ,
2018-10-15 23:42:55 +02:00
` next_try ` datetime NOT NULL DEFAULT ' 0001-01-01 00:00:00 ' COMMENT ' Next retrial date ' ,
` retrial ` tinyint NOT NULL DEFAULT 0 COMMENT ' Retrial counter ' ,
2018-05-29 16:11:25 +02:00
` done ` boolean NOT NULL DEFAULT ' 0 ' COMMENT ' Marked 1 when the task was done - will be deleted later ' ,
2018-02-20 13:59:37 +01:00
PRIMARY KEY ( ` id ` ) ,
2019-03-25 22:51:32 +01:00
INDEX ` done_parameter ` ( ` done ` , ` parameter ` ( 64 ) ) ,
INDEX ` done_executed ` ( ` done ` , ` executed ` ) ,
INDEX ` done_priority_created ` ( ` done ` , ` priority ` , ` created ` ) ,
2018-11-16 21:21:33 +01:00
INDEX ` done_priority_next_try ` ( ` done ` , ` priority ` , ` next_try ` ) ,
2019-03-25 22:51:32 +01:00
INDEX ` done_pid_next_try ` ( ` done ` , ` pid ` , ` next_try ` ) ,
INDEX ` done_pid_priority_created ` ( ` done ` , ` pid ` , ` priority ` , ` created ` )
2018-06-02 07:03:23 +02:00
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Background tasks queue entries ' ;
2015-09-11 21:56:37 +02:00
2018-11-29 08:36:39 +01:00
--
-- TABLE storage
--
CREATE TABLE IF NOT EXISTS ` storage ` (
` id ` int unsigned NOT NULL auto_increment COMMENT ' Auto incremented image data id ' ,
` data ` longblob NOT NULL COMMENT ' file data ' ,
PRIMARY KEY ( ` id ` )
) DEFAULT COLLATE utf8mb4_general_ci COMMENT = ' Data stored by Database storage backend ' ;
2018-03-24 22:57:50 +01:00