X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=database.sql;h=1143ac6d9b0111b172dfbe9ee136a7ee5b20b1df;hb=3f03f3b4b7e5bdaefe80d50ec9185e1bf668b927;hp=d963ce9720f13fc1fc68e10b717213191dfeefb0;hpb=ec49d004e32d873dfb67e93e733c27602255d8ee;p=friendica.git diff --git a/database.sql b/database.sql index d963ce9720..1143ac6d9b 100644 --- a/database.sql +++ b/database.sql @@ -1,6 +1,6 @@ -- ------------------------------------------ --- Friendica 2018.08-dev (The Tazmans Flax-lily) --- DB_UPDATE_VERSION 1279 +-- Friendica 2019.03-dev (The Tazmans Flax-lily) +-- DB_UPDATE_VERSION 1295 -- ------------------------------------------ @@ -19,6 +19,34 @@ CREATE TABLE IF NOT EXISTS `addon` ( UNIQUE INDEX `name` (`name`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='registered addons'; +-- +-- 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 '', + `manually-approve` boolean COMMENT '', + `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', + `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '', + PRIMARY KEY(`url`), + INDEX `addr` (`addr`(32)), + INDEX `alias` (`alias`(190)), + INDEX `url` (`followers`(190)) +) DEFAULT COLLATE utf8mb4_general_ci COMMENT='ActivityPub compatible contacts - used in the ActivityPub implementation'; + -- -- TABLE attach -- @@ -163,6 +191,7 @@ CREATE TABLE IF NOT EXISTS `contact` ( `hidden` boolean NOT NULL DEFAULT '0' COMMENT '', `archive` boolean NOT NULL DEFAULT '0' COMMENT '', `pending` boolean NOT NULL DEFAULT '1' COMMENT '', + `deleted` boolean NOT NULL DEFAULT '0' COMMENT 'Contact has been deleted', `rating` tinyint NOT NULL DEFAULT 0 COMMENT '', `reason` text COMMENT '', `closeness` tinyint unsigned NOT NULL DEFAULT 99 COMMENT '', @@ -208,11 +237,11 @@ CREATE TABLE IF NOT EXISTS `conv` ( -- TABLE conversation -- CREATE TABLE IF NOT EXISTS `conversation` ( - `item-uri` varbinary(255) NOT NULL COMMENT 'URI of the item', + `item-uri` varbinary(255) NOT NULL COMMENT 'Original URI of the item - unrelated to the table with the same name', `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', - `protocol` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'The protocol of the item', + `protocol` tinyint unsigned NOT NULL DEFAULT 255 COMMENT 'The protocol of the item', `source` mediumtext COMMENT 'Original source', `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Receiving date', PRIMARY KEY(`item-uri`), @@ -220,6 +249,15 @@ CREATE TABLE IF NOT EXISTS `conversation` ( INDEX `received` (`received`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Raw data and structure information for messages'; +-- +-- 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'; + -- -- TABLE event -- @@ -455,10 +493,13 @@ CREATE TABLE IF NOT EXISTS `item` ( `id` int unsigned NOT NULL auto_increment, `guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this item', `uri` varchar(255) NOT NULL DEFAULT '' COMMENT '', + `uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the item uri', `uri-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri', `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', + `parent-uri-id` int unsigned COMMENT 'Id of the item-uri table that contains the parent uri', `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', + `thr-parent-id` int unsigned COMMENT 'Id of the item-uri table that contains the thread parent uri', `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation timestamp.', `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of last edit (default is created)', `commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of last comment/reply to this item', @@ -487,13 +528,13 @@ CREATE TABLE IF NOT EXISTS `item` ( `mention` boolean NOT NULL DEFAULT '0' COMMENT 'The owner of this item was mentioned in it', `forum_mode` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '', `psid` int unsigned COMMENT 'ID of the permission set of this post', - `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', `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', + `allow_cid` mediumtext COMMENT 'Deprecated', + `allow_gid` mediumtext COMMENT 'Deprecated', + `deny_cid` mediumtext COMMENT 'Deprecated', + `deny_gid` mediumtext COMMENT 'Deprecated', `postopts` text COMMENT 'Deprecated', `inform` mediumtext COMMENT 'Deprecated', `type` varchar(20) COMMENT 'Deprecated', @@ -538,6 +579,7 @@ CREATE TABLE IF NOT EXISTS `item` ( INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`), INDEX `authorid_created` (`author-id`,`created`), INDEX `ownerid` (`owner-id`), + INDEX `contact-id` (`contact-id`), INDEX `uid_uri` (`uid`,`uri`(190)), INDEX `resource-id` (`resource-id`), INDEX `deleted_changed` (`deleted`,`changed`), @@ -545,7 +587,7 @@ CREATE TABLE IF NOT EXISTS `item` ( INDEX `uid_eventid` (`uid`,`event-id`), INDEX `icid` (`icid`), INDEX `iaid` (`iaid`), - INDEX `psid` (`psid`) + INDEX `psid_wall` (`psid`,`wall`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Structure for all posts'; -- @@ -554,11 +596,13 @@ CREATE TABLE IF NOT EXISTS `item` ( CREATE TABLE IF NOT EXISTS `item-activity` ( `id` int unsigned NOT NULL auto_increment, `uri` varchar(255) COMMENT '', + `uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the item uri', `uri-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri', `activity` smallint unsigned NOT NULL DEFAULT 0 COMMENT '', PRIMARY KEY(`id`), UNIQUE INDEX `uri-hash` (`uri-hash`), - INDEX `uri` (`uri`(191)) + INDEX `uri` (`uri`(191)), + INDEX `uri-id` (`uri-id`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Activities for items'; -- @@ -567,6 +611,7 @@ CREATE TABLE IF NOT EXISTS `item-activity` ( CREATE TABLE IF NOT EXISTS `item-content` ( `id` int unsigned NOT NULL auto_increment, `uri` varchar(255) COMMENT '', + `uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the item uri', `uri-plink-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri', `title` varchar(255) NOT NULL DEFAULT '' COMMENT 'item title', `content-warning` varchar(255) NOT NULL DEFAULT '' COMMENT '', @@ -585,7 +630,8 @@ CREATE TABLE IF NOT EXISTS `item-content` ( `verb` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams verb', PRIMARY KEY(`id`), UNIQUE INDEX `uri-plink-hash` (`uri-plink-hash`), - INDEX `uri` (`uri`(191)) + INDEX `uri` (`uri`(191)), + INDEX `uri-id` (`uri-id`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Content for all posts'; -- @@ -598,6 +644,18 @@ CREATE TABLE IF NOT EXISTS `item-delivery-data` ( PRIMARY KEY(`iid`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Delivery data for items'; +-- +-- 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'; + -- -- TABLE locks -- @@ -757,7 +815,9 @@ CREATE TABLE IF NOT EXISTS `participation` ( `server` varchar(60) NOT NULL COMMENT '', `cid` int unsigned NOT NULL COMMENT '', `fid` int unsigned NOT NULL COMMENT '', - PRIMARY KEY(`iid`,`server`) + PRIMARY KEY(`iid`,`server`), + INDEX `cid` (`cid`), + INDEX `fid` (`fid`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Storage for participation messages from Diaspora'; -- @@ -813,6 +873,8 @@ CREATE TABLE IF NOT EXISTS `photo` ( `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', + `backend-class` tinytext COMMENT 'Storage backend class', + `backend-ref` text COMMENT 'Storage backend data reference', PRIMARY KEY(`id`), INDEX `contactid` (`contact-id`), INDEX `uid_contactid` (`uid`,`contact-id`), @@ -911,7 +973,8 @@ CREATE TABLE IF NOT EXISTS `profile` ( `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', PRIMARY KEY(`id`), - INDEX `uid_is-default` (`uid`,`is-default`) + INDEX `uid_is-default` (`uid`,`is-default`), + FULLTEXT INDEX `pub_keywords` (`pub_keywords`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='user profiles data'; -- @@ -1156,6 +1219,18 @@ CREATE TABLE IF NOT EXISTS `userd` ( INDEX `username` (`username`(32)) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Deleted usernames'; +-- +-- 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'; + -- -- TABLE user-item -- @@ -1163,6 +1238,7 @@ 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', `hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide an item from the user', + `ignored` boolean COMMENT 'Ignore this thread if set', PRIMARY KEY(`uid`,`iid`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User specific item data'; @@ -1185,12 +1261,26 @@ CREATE TABLE IF NOT EXISTS `workerqueue` ( `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', + `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', `done` boolean NOT NULL DEFAULT '0' COMMENT 'Marked 1 when the task was done - will be deleted later', PRIMARY KEY(`id`), INDEX `pid` (`pid`), INDEX `parameter` (`parameter`(64)), - INDEX `priority_created` (`priority`,`created`), - INDEX `done_executed` (`done`,`executed`) + INDEX `priority_created_next_try` (`priority`,`created`,`next_try`), + INDEX `done_priority_executed_next_try` (`done`,`priority`,`executed`,`next_try`), + INDEX `done_executed_next_try` (`done`,`executed`,`next_try`), + INDEX `done_priority_next_try` (`done`,`priority`,`next_try`), + INDEX `done_next_try` (`done`,`next_try`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Background tasks queue entries'; +-- +-- 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'; +