<?php
/**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
use Friendica\Database\DBA;
if (!defined('DB_UPDATE_VERSION')) {
- define('DB_UPDATE_VERSION', 1492);
+ define('DB_UPDATE_VERSION', 1517);
}
return [
"last_poco_query" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""],
"last_contact" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => "Last successful connection request"],
"last_failure" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => "Last failed connection request"],
+ "blocked" => ["type" => "boolean", "comment" => "Server is blocked"],
"failed" => ["type" => "boolean", "comment" => "Connection failed"],
"next_contact" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => "Next connection request"],
],
"language" => ["type" => "varchar(32)", "not null" => "1", "default" => "en", "comment" => "default language"],
"register_date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of registration"],
"login_date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of last login"],
+ "last-activity" => ["type" => "date", "comment" => "Day of the last activity"],
"default-location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Default for item.location"],
"allow_location" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 allows to display the location"],
"theme" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "user theme preference"],
"xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "XMPP address"],
"matrix" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Matrix address"],
"avatar" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
+ "blurhash" => ["type" => "varbinary(255)", "comment" => "BlurHash representation of the avatar"],
"header" => ["type" => "varbinary(383)", "comment" => "Header picture"],
"url" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
"nurl" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
"uid" => ["uid"],
]
],
+ "account-suggestion" => [
+ "comment" => "Account suggestion",
+ "fields" => [
+ "uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the account url"],
+ "uid" => ["type" => "mediumint unsigned", "not null" => "1", "primary" => "1", "foreign" => ["user" => "uid"], "comment" => "User ID"],
+ "level" => ["type" => "smallint unsigned", "comment" => "level of closeness"],
+ "ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "If set, this account will not be suggested again"], ],
+ "indexes" => [
+ "PRIMARY" => ["uid", "uri-id"],
+ "uri-id_uid" => ["uri-id", "uid"],
+ ]
+ ],
"account-user" => [
"comment" => "Remote and local accounts",
"fields" => [
"uid_uri-id" => ["uid", "uri-id"],
]
],
- "addon" => [
- "comment" => "registered addons",
- "fields" => [
- "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""],
- "name" => ["type" => "varchar(50)", "not null" => "1", "default" => "", "comment" => "addon base (file)name"],
- "version" => ["type" => "varchar(50)", "not null" => "1", "default" => "", "comment" => "currently unused"],
- "installed" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "currently always 1"],
- "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "currently unused"],
- "timestamp" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "file timestamp to check for reloads"],
- "plugin_admin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = has admin config, 0 = has no admin config"],
- ],
- "indexes" => [
- "PRIMARY" => ["id"],
- "installed_name" => ["installed", "name"],
- "name" => ["UNIQUE", "name"],
- ]
- ],
"apcontact" => [
"comment" => "ActivityPub compatible contacts - used in the ActivityPub implementation",
"fields" => [
"comment" => "main configuration storage",
"fields" => [
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""],
- "cat" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""],
- "k" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""],
+ "cat" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => "The category of the entry"],
+ "k" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => "The key of the entry"],
"v" => ["type" => "mediumtext", "comment" => ""],
],
"indexes" => [
"wid" => ["wid"],
]
],
+ "delivery-queue" => [
+ "comment" => "Delivery data for posts for the batch processing",
+ "fields" => [
+ "gsid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["gserver" => "id", "on delete" => "restrict"], "comment" => "Target server"],
+ "uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Delivered post"],
+ "created" => ["type" => "datetime", "comment" => ""],
+ "command" => ["type" => "varbinary(32)", "comment" => ""],
+ "cid" => ["type" => "int unsigned", "foreign" => ["contact" => "id"], "comment" => "Target contact"],
+ "uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Delivering user"],
+ "failed" => ["type" => "tinyint", "default" => 0, "comment" => "Number of times the delivery has failed"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["uri-id", "gsid"],
+ "gsid_created" => ["gsid", "created"],
+ "uid" => ["uid"],
+ "cid" => ["cid"],
+ ]
+ ],
+ "diaspora-contact" => [
+ "comment" => "Diaspora compatible contacts - used in the Diaspora implementation",
+ "fields" => [
+ "uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the contact URL"],
+ "addr" => ["type" => "varchar(255)", "comment" => ""],
+ "alias" => ["type" => "varchar(255)", "comment" => ""],
+ "nick" => ["type" => "varchar(255)", "comment" => ""],
+ "name" => ["type" => "varchar(255)", "comment" => ""],
+ "given-name" => ["type" => "varchar(255)", "comment" => ""],
+ "family-name" => ["type" => "varchar(255)", "comment" => ""],
+ "photo" => ["type" => "varchar(255)", "comment" => ""],
+ "photo-medium" => ["type" => "varchar(255)", "comment" => ""],
+ "photo-small" => ["type" => "varchar(255)", "comment" => ""],
+ "batch" => ["type" => "varchar(255)", "comment" => ""],
+ "notify" => ["type" => "varchar(255)", "comment" => ""],
+ "poll" => ["type" => "varchar(255)", "comment" => ""],
+ "subscribe" => ["type" => "varchar(255)", "comment" => ""],
+ "searchable" => ["type" => "boolean", "comment" => ""],
+ "pubkey" => ["type" => "text", "comment" => ""],
+ "gsid" => ["type" => "int unsigned", "foreign" => ["gserver" => "id", "on delete" => "restrict"], "comment" => "Global Server ID"],
+ "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+ "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+ "interacting_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of contacts this contact interactes with"],
+ "interacted_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of contacts that interacted with this contact"],
+ "post_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of posts and comments"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["uri-id"],
+ "addr" => ["UNIQUE", "addr"],
+ "alias" => ["alias"],
+ "gsid" => ["gsid"],
+ ]
+ ],
"diaspora-interaction" => [
"comment" => "Signed Diaspora Interaction",
"fields" => [
"uri-id" => ["uri-id"],
]
],
- "fcontact" => [
- "comment" => "Diaspora compatible contacts - used in the Diaspora implementation",
- "fields" => [
- "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
- "guid" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "unique id"],
- "url" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the fcontact url"],
- "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
- "photo" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "request" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
- "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
- "batch" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "notify" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "poll" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "confirm" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
- "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""],
- "alias" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => ""],
- "pubkey" => ["type" => "text", "comment" => ""],
- "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
- "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
- "interacting_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of contacts this contact interactes with"],
- "interacted_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of contacts that interacted with this contact"],
- "post_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of posts and comments"],
- ],
- "indexes" => [
- "PRIMARY" => ["id"],
- "addr" => ["addr(32)"],
- "url" => ["UNIQUE", "url(190)"],
- "uri-id" => ["UNIQUE", "uri-id"],
- ]
- ],
"fetch-entry" => [
"comment" => "",
"fields" => [
"fields" => [
"url" => ["type" => "varbinary(383)", "not null" => "1", "primary" => "1", "comment" => "URL of the inbox"],
"uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Item-uri id of inbox url"],
+ "gsid" => ["type" => "int unsigned", "foreign" => ["gserver" => "id", "on delete" => "restrict"], "comment" => "ID of the related server"],
"created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date of this entry"],
"success" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last successful delivery"],
"failure" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last failed delivery"],
"indexes" => [
"PRIMARY" => ["url"],
"uri-id" => ["uri-id"],
+ "gsid" => ["gsid"],
]
],
"intro" => [
"fields" => [
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
"uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "foreign" => ["user" => "uid"], "comment" => "User id"],
- "fid" => ["type" => "int unsigned", "relation" => ["fcontact" => "id"], "comment" => "deprecated"],
+ "fid" => ["type" => "int unsigned", "comment" => "deprecated"],
"contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "comment" => ""],
"suggest-cid" => ["type" => "int unsigned", "foreign" => ["contact" => "id"], "comment" => "Suggested contact"],
"knowyou" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
"uid" => ["uid"],
]
],
+ "key-value" => [
+ "comment" => "A key value storage",
+ "fields" => [
+ "k" => ["type" => "varbinary(50)", "not null" => "1", "primary" => "1", "comment" => ""],
+ "v" => ["type" => "mediumtext", "comment" => ""],
+ "updated_at" => ["type" => "int unsigned", "not null" => "1", "comment" => "timestamp of the last update"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["k"],
+ ],
+ ],
"locks" => [
"comment" => "",
"fields" => [
"height" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
"width" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
"datasize" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""],
+ "blurhash" => ["type" => "varbinary(255)", "comment" => "BlurHash representation of the photo"],
"data" => ["type" => "mediumblob", "not null" => "1", "comment" => ""],
"scale" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
"profile" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
"uri-id" => ["type" => "int unsigned", "not null" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"],
"url" => ["type" => "varbinary(511)", "not null" => "1", "comment" => "External URL"],
"mimetype" => ["type" => "varchar(60)", "comment" => ""],
+ "height" => ["type" => "smallint unsigned", "comment" => "Height of the media"],
+ "width" => ["type" => "smallint unsigned", "comment" => "Width of the media"],
+ "blurhash" => ["type" => "varbinary(255)", "comment" => "BlurHash representation of the link"],
],
"indexes" => [
"PRIMARY" => ["id"],
"height" => ["type" => "smallint unsigned", "comment" => "Height of the media"],
"width" => ["type" => "smallint unsigned", "comment" => "Width of the media"],
"size" => ["type" => "bigint unsigned", "comment" => "Media size"],
+ "blurhash" => ["type" => "varbinary(255)", "comment" => "BlurHash representation of the image"],
"preview" => ["type" => "varbinary(512)", "comment" => "Preview URL"],
"preview-height" => ["type" => "smallint unsigned", "comment" => "Height of the preview picture"],
"preview-width" => ["type" => "smallint unsigned", "comment" => "Width of the preview picture"],
"event-id" => ["type" => "int unsigned", "foreign" => ["event" => "id"], "comment" => "Used to link to the event.id"],
"unseen" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "post has not been seen"],
"hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide the post from the user"],
- "notification-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
+ "notification-type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
"wall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "This item was posted to the wall of uid"],
"origin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item originated at this site"],
"psid" => ["type" => "int unsigned", "foreign" => ["permissionset" => "id", "on delete" => "restrict"], "comment" => "ID of the permission set of this post"],
"comment" => "Currently running system processes",
"fields" => [
"pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "The ID of the process"],
- "hostname" => ["type" => "varchar(32)", "not null" => "1", "primary" => "1", "comment" => "The name of the host the process is ran on"],
+ "hostname" => ["type" => "varchar(255)", "not null" => "1", "primary" => "1", "comment" => "The name of the host the process is ran on"],
"command" => ["type" => "varbinary(32)", "not null" => "1", "default" => "", "comment" => ""],
"created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
],
"fields" => [
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
"uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Reporting user"],
+ "reporter-id" => ["type" => "int unsigned", "foreign" => ["contact" => "id"], "comment" => "Reporting contact"],
"cid" => ["type" => "int unsigned", "not null" => "1", "foreign" => ["contact" => "id"], "comment" => "Reported contact"],
"comment" => ["type" => "text", "comment" => "Report"],
+ "category" => ["type" => "varchar(20)", "comment" => "Category of the report (spam, violation, other)"],
+ "rules" => ["type" => "text", "comment" => "Violated rules"],
"forward" => ["type" => "boolean", "comment" => "Forward the report to the remote server"],
"created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+ "status" => ["type" => "tinyint unsigned", "comment" => "Status of the report"],
],
"indexes" => [
"PRIMARY" => ["id"],
"uid" => ["uid"],
"cid" => ["cid"],
+ "reporter-id" => ["reporter-id"],
]
],
"report-post" => [
"fields" => [
"rid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["report" => "id"], "comment" => "Report id"],
"uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Uri-id of the reported post"],
+ "status" => ["type" => "tinyint unsigned", "comment" => "Status of the reported post"],
],
"indexes" => [
"PRIMARY" => ["rid", "uri-id"],