-- ------------------------------------------
-- Friendica 2018.08-dev (The Tazmans Flax-lily)
--- DB_UPDATE_VERSION 1267
+-- DB_UPDATE_VERSION 1268
-- ------------------------------------------
`plugin_admin` boolean NOT NULL DEFAULT '0' COMMENT '1 = has admin config, 0 = has no admin config',
PRIMARY KEY(`id`),
UNIQUE INDEX `name` (`name`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='registered addons';
--
-- TABLE attach
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='file attachments';
--
-- TABLE auth_codes
`expires` int NOT NULL DEFAULT 0 COMMENT '',
`scope` varchar(250) NOT NULL DEFAULT '' COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='OAuth usage';
--
-- TABLE cache
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of cache insertion',
PRIMARY KEY(`k`),
INDEX `k_expires` (`k`,`expires`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Stores temporary data';
--
-- TABLE challenge
`type` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`last_update` varchar(255) NOT NULL DEFAULT '' COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
-- TABLE clients
`icon` text COMMENT '',
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
PRIMARY KEY(`client_id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='OAuth usage';
--
-- TABLE config
`v` mediumtext COMMENT '',
PRIMARY KEY(`id`),
UNIQUE INDEX `cat_k` (`cat`,`k`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='main configuration storage';
--
-- TABLE contact
INDEX `nick_uid` (`nick`(32),`uid`),
INDEX `dfrn-id` (`dfrn-id`(64)),
INDEX `issued-id` (`issued-id`(64))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contact table';
--
-- TABLE conv
`subject` text COMMENT 'subject of initial message',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='private messages';
--
-- TABLE conversation
PRIMARY KEY(`item-uri`),
INDEX `conversation-uri` (`conversation-uri`),
INDEX `received` (`received`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Raw data and structure information for messages';
--
-- TABLE event
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
PRIMARY KEY(`id`),
INDEX `uid_start` (`uid`,`start`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Events';
--
-- TABLE fcontact
PRIMARY KEY(`id`),
INDEX `addr` (`addr`(32)),
UNIQUE INDEX `url` (`url`(190))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Diaspora compatible contacts - used in the Diaspora implementation';
--
-- TABLE fsuggest
`note` text COMMENT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='friend suggestion stuff';
--
-- TABLE gcign
PRIMARY KEY(`id`),
INDEX `uid` (`uid`),
INDEX `gcid` (`gcid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contacts ignored by friend suggestions';
--
-- TABLE gcontact
INDEX `addr` (`addr`(64)),
INDEX `hide_network_updated` (`hide`,`network`,`updated`),
INDEX `updated` (`updated`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='global contacts';
--
-- TABLE glink
PRIMARY KEY(`id`),
UNIQUE INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`),
INDEX `gcid` (`gcid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='\'friends of friends\' linkages derived from poco';
--
-- TABLE group
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'human readable name of group',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy groups, group info';
--
-- TABLE group_member
PRIMARY KEY(`id`),
INDEX `contactid` (`contact-id`),
UNIQUE INDEX `gid_contactid` (`gid`,`contact-id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy groups, member info';
--
-- TABLE gserver
`last_failure` datetime DEFAULT '0001-01-01 00:00:00' COMMENT '',
PRIMARY KEY(`id`),
UNIQUE INDEX `nurl` (`nurl`(190))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Global servers';
--
-- TABLE gserver-tag
`tag` varchar(100) NOT NULL DEFAULT '' COMMENT 'Tag that the server has subscribed',
PRIMARY KEY(`gserver-id`,`tag`),
INDEX `tag` (`tag`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Tags that the server has subscribed';
--
-- TABLE hook
`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',
PRIMARY KEY(`id`),
UNIQUE INDEX `hook_file_function` (`hook`,`file`,`function`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='addon hook registry';
--
-- TABLE intro
`blocked` boolean NOT NULL DEFAULT '1' COMMENT '',
`ignore` boolean NOT NULL DEFAULT '0' COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
-- TABLE item
`extid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`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',
`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)',
+ `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',
`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',
`target-type` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams target type if applicable (URI)',
`target` text COMMENT 'JSON encoded target structure if used',
`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',
- `plink` varchar(255) NOT NULL DEFAULT '' COMMENT 'permalink or URL toa displayable copy of the message at its source',
+ `plink` varchar(255) NOT NULL DEFAULT '' COMMENT 'permalink or URL to a displayable copy of the message at its source',
`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',
`tag` mediumtext COMMENT '',
INDEX `uid_eventid` (`uid`,`event-id`),
INDEX `uid_authorlink` (`uid`,`author-link`(190)),
INDEX `uid_ownerlink` (`uid`,`owner-link`(190))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='All posts';
--
-- TABLE locks
`locked` boolean NOT NULL DEFAULT '0' COMMENT '',
`pid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Process ID',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
-- TABLE mail
INDEX `uri` (`uri`(64)),
INDEX `parent-uri` (`parent-uri`(64)),
INDEX `contactid` (`contact-id`(32))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='private messages';
--
-- TABLE mailacct
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
`last_check` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Mail account data for fetching mails';
--
-- TABLE manage
`mid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
PRIMARY KEY(`id`),
UNIQUE INDEX `uid_mid` (`uid`,`mid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='table of accounts that can manage each other';
--
-- TABLE notify
INDEX `seen_uid_date` (`seen`,`uid`,`date`),
INDEX `uid_date` (`uid`,`date`),
INDEX `uid_type_link` (`uid`,`type`,`link`(190))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='notifications';
--
-- TABLE notify-threads
`parent-item` int unsigned NOT NULL DEFAULT 0 COMMENT '',
`receiver-uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
-- TABLE oembed
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of creation',
PRIMARY KEY(`url`,`maxwidth`),
INDEX `created` (`created`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='cache for OEmbed queries';
--
-- TABLE parsed_url
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of creation',
PRIMARY KEY(`url`,`guessing`,`oembed`),
INDEX `created` (`created`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='cache for \'parse_url\' queries';
--
-- TABLE participation
`cid` int unsigned NOT NULL COMMENT '',
`fid` int unsigned NOT NULL COMMENT '',
PRIMARY KEY(`iid`,`server`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Storage for participation messages from Diaspora';
--
-- TABLE pconfig
`v` mediumtext COMMENT '',
PRIMARY KEY(`id`),
UNIQUE INDEX `uid_cat_k` (`uid`,`cat`,`k`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='personal (per user) configuration storage';
--
-- TABLE photo
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`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='photo storage';
--
-- TABLE poll
`q9` text COMMENT '',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Currently unused table for storing poll results';
--
-- TABLE poll_result
`choice` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
PRIMARY KEY(`id`),
INDEX `poll_id` (`poll_id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='data for polls - currently unused';
--
-- TABLE process
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
PRIMARY KEY(`pid`),
INDEX `command` (`command`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Currently running system processes';
--
-- TABLE profile
`net-publish` boolean NOT NULL DEFAULT '0' COMMENT 'publish profile in global directory',
PRIMARY KEY(`id`),
INDEX `uid_is-default` (`uid`,`is-default`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='user profiles data';
--
-- TABLE profile_check
`sec` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`expire` int unsigned NOT NULL DEFAULT 0 COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='DFRN remote auth use';
--
-- TABLE push_subscriber
`secret` varchar(255) NOT NULL DEFAULT '' COMMENT '',
PRIMARY KEY(`id`),
INDEX `next_try` (`next_try`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Used for OStatus: Contains feed subscribers';
--
-- TABLE queue
PRIMARY KEY(`id`),
INDEX `last` (`last`),
INDEX `next` (`next`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Queue for messages that couldn\'t be delivered';
--
-- TABLE register
`language` varchar(16) NOT NULL DEFAULT '' COMMENT '',
`note` text COMMENT '',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='registrations requiring admin approval';
--
-- TABLE search
`term` varchar(255) NOT NULL DEFAULT '' COMMENT '',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
-- TABLE session
PRIMARY KEY(`id`),
INDEX `sid` (`sid`(64)),
INDEX `expire` (`expire`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='web session storage';
--
-- TABLE sign
`signer` varchar(255) NOT NULL DEFAULT '' COMMENT '',
PRIMARY KEY(`id`),
UNIQUE INDEX `iid` (`iid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Diaspora signatures';
--
-- TABLE term
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))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='item taxonomy (categories, tags, etc.) table';
--
-- TABLE thread
INDEX `uid_commented` (`uid`,`commented`),
INDEX `uid_wall_created` (`uid`,`wall`,`created`),
INDEX `private_wall_origin_commented` (`private`,`wall`,`origin`,`commented`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Thread related data';
--
-- TABLE tokens
`scope` varchar(200) NOT NULL DEFAULT '' COMMENT '',
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
PRIMARY KEY(`id`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='OAuth usage';
--
-- TABLE user
`openidserver` text COMMENT '',
PRIMARY KEY(`uid`),
INDEX `nickname` (`nickname`(32))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='The local users';
--
-- TABLE userd
`username` varchar(255) NOT NULL COMMENT '',
PRIMARY KEY(`id`),
INDEX `username` (`username`(32))
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Deleted usernames';
--
-- 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',
- `hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Hidden marker',
+ `hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide an item from the user',
PRIMARY KEY(`uid`,`iid`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) 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';
--
-- TABLE workerqueue
INDEX `parameter` (`parameter`(64)),
INDEX `priority_created` (`priority`,`created`),
INDEX `done_executed` (`done`,`executed`)
-) DEFAULT COLLATE utf8mb4_general_ci;
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Background tasks queue entries';
echo "--\n";
echo "-- TABLE $name\n";
echo "--\n";
- self::createTable($name, $structure['fields'], true, false, $structure["indexes"]);
+ self::createTable($name, $structure, true, false);
echo "\n";
}
$is_unique = false;
$temp_name = $name;
if (!isset($database[$name])) {
- $r = self::createTable($name, $structure["fields"], $verbose, $action, $structure['indexes']);
+ $r = self::createTable($name, $structure, $verbose, $action);
if (!DBM::is_result($r)) {
$errors .= self::printUpdateError($name);
}
}
}
+ if (isset($database[$name]["table_status"]["Engine"]) && isset($structure['engine'])) {
+ if ($database[$name]["table_status"]["Engine"] != $structure['engine']) {
+ $sql2 = "ENGINE = '".dbesc($structure['engine'])."'";
+
+ if ($sql3 == "") {
+ $sql3 = "ALTER" . $ignore . " TABLE `".$temp_name."` ".$sql2;
+ } else {
+ $sql3 .= ", ".$sql2;
+ }
+ }
+ }
+
if (isset($database[$name]["table_status"]["Collation"])) {
if ($database[$name]["table_status"]["Collation"] != 'utf8mb4_general_ci') {
$sql2 = "DEFAULT COLLATE utf8mb4_general_ci";
return($fieldstruct);
}
- private static function createTable($name, $fields, $verbose, $action, $indexes=null) {
+ private static function createTable($name, $structure, $verbose, $action) {
$r = true;
+ $engine = "";
+ $comment = "";
$sql_rows = [];
$primary_keys = [];
- foreach ($fields AS $fieldname => $field) {
+ foreach ($structure["fields"] AS $fieldname => $field) {
$sql_rows[] = "`".dbesc($fieldname)."` ".self::FieldCommand($field);
if (x($field,'primary') && $field['primary']!='') {
$primary_keys[] = $fieldname;
}
}
- if (!is_null($indexes)) {
- foreach ($indexes AS $indexname => $fieldnames) {
+ if (!is_null($structure["indexes"])) {
+ foreach ($structure["indexes"] AS $indexname => $fieldnames) {
$sql_index = self::createIndex($indexname, $fieldnames, "");
if (!is_null($sql_index)) {
$sql_rows[] = $sql_index;
}
}
+ if (!is_null($structure["engine"])) {
+ $engine = " ENGINE=" . $structure["engine"];
+ }
+
+ if (!is_null($structure["comment"])) {
+ $comment = " COMMENT='" . dbesc($structure["comment"]) . "'";
+ }
+
$sql = implode(",\n\t", $sql_rows);
- $sql = sprintf("CREATE TABLE IF NOT EXISTS `%s` (\n\t", dbesc($name)).$sql."\n) DEFAULT COLLATE utf8mb4_general_ci";
+ $sql = sprintf("CREATE TABLE IF NOT EXISTS `%s` (\n\t", dbesc($name)).$sql.
+ "\n)" . $engine . " DEFAULT COLLATE utf8mb4_general_ci" . $comment;
if ($verbose) {
echo $sql.";\n";
}
"PRIMARY" => ["uid", "iid"],
]
];
+ $database["worker-ipc"] = [
+ "comment" => "Inter process communication between the frontend and the worker",
+ "fields" => [
+ "key" => ["type" => "int", "not null" => "1", "primary" => "1", "comment" => ""],
+ "jobs" => ["type" => "boolean", "comment" => "Flag for outstanding jobs"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["key"],
+ ],
+ "engine" => "MEMORY",
+ ];
+
$database["workerqueue"] = [
"comment" => "Background tasks queue entries",
"fields" => [