-- ------------------------------------------
--- Friendica 2020.12-dev (Red Hot Poker)
--- DB_UPDATE_VERSION 1378
+-- Friendica 2021.03-dev (Red Hot Poker)
+-- DB_UPDATE_VERSION 1385
-- ------------------------------------------
`poco` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`noscrape` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`network` char(4) NOT NULL DEFAULT '' COMMENT '',
+ `protocol` tinyint unsigned COMMENT 'The protocol of the server',
`platform` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`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',
`detection-method` tinyint unsigned COMMENT 'Method that had been used to detect that server',
`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 '',
+ `last_contact` datetime DEFAULT '0001-01-01 00:00:00' COMMENT 'Last successful connection request',
+ `last_failure` datetime DEFAULT '0001-01-01 00:00:00' COMMENT 'Last failed connection request',
`failed` boolean COMMENT 'Connection failed',
+ `next_contact` datetime DEFAULT '0001-01-01 00:00:00' COMMENT 'Next connection request',
PRIMARY KEY(`id`),
- UNIQUE INDEX `nurl` (`nurl`(190))
+ UNIQUE INDEX `nurl` (`nurl`(190)),
+ INDEX `next_contact` (`next_contact`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Global servers';
--
INDEX `alias` (`alias`(190)),
INDEX `followers` (`followers`(190)),
INDEX `baseurl` (`baseurl`(190)),
+ INDEX `sharedinbox` (`sharedinbox`(190)),
INDEX `gsid` (`gsid`),
FOREIGN KEY (`gsid`) REFERENCES `gserver` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='ActivityPub compatible contacts - used in the ActivityPub implementation';
INDEX `received` (`received`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Raw data and structure information for messages';
+--
+-- TABLE delayed-post
+--
+CREATE TABLE IF NOT EXISTS `delayed-post` (
+ `id` int unsigned NOT NULL auto_increment,
+ `uri` varchar(255) COMMENT 'URI of the post that will be distributed later',
+ `uid` mediumint unsigned COMMENT 'Owner User id',
+ `delayed` datetime COMMENT 'delay time',
+ PRIMARY KEY(`id`),
+ UNIQUE INDEX `uid_uri` (`uid`,`uri`(190)),
+ FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Posts that are about to be distributed at a later time';
+
--
-- TABLE diaspora-interaction
--
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
`guid` char(16) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this photo',
`resource-id` char(32) NOT NULL DEFAULT '' COMMENT '',
+ `hash` char(32) COMMENT 'hash value of the photo',
`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',
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '',
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`),
- FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE,
+ FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE RESTRICT,
FOREIGN KEY (`contact-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='photo storage';
CREATE TABLE IF NOT EXISTS `post-user` (
`uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
`uid` mediumint unsigned NOT NULL COMMENT 'Owner id which owns this copy of the item',
+ `protocol` tinyint unsigned COMMENT 'Protocol used to deliver the item for this user',
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
`unseen` boolean NOT NULL DEFAULT '1' COMMENT 'post has not been seen',
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide the post from the user',
--
CREATE TABLE IF NOT EXISTS `workerqueue` (
`id` int unsigned NOT NULL auto_increment COMMENT 'Auto incremented worker task id',
- `parameter` mediumtext COMMENT 'Task command',
+ `command` varchar(100) COMMENT 'Task command',
+ `parameter` mediumtext COMMENT 'Task parameter',
`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',
`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 `done_parameter` (`done`,`parameter`(64)),
+ INDEX `command` (`command`),
+ INDEX `done_command_parameter` (`done`,`command`,`parameter`(64)),
INDEX `done_executed` (`done`,`executed`),
INDEX `done_priority_retrial_created` (`done`,`priority`,`retrial`,`created`),
INDEX `done_priority_next_try` (`done`,`priority`,`next_try`),
FROM `process`
INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid`
WHERE NOT `workerqueue`.`done`;
-
-