]> git.mxchange.org Git - friendica.git/blobdiff - static/dbstructure.config.php
Calculate the interaction score
[friendica.git] / static / dbstructure.config.php
index 53289addfb81764b1424f49966b24d17c7f60d55..7520a11092f8e17c72b60c212497e17d6aa7c206 100644 (file)
@@ -1,6 +1,6 @@
 <?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
  *
@@ -54,8 +54,9 @@
 
 use Friendica\Database\DBA;
 
+// This file is required several times during the test in DbaDefinition which justifies this condition
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1490);
+       define('DB_UPDATE_VERSION', 1530);
 }
 
 return [
@@ -89,6 +90,7 @@ 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"],
                ],
@@ -115,6 +117,7 @@ return [
                        "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"],
@@ -125,7 +128,7 @@ return [
                        "verified" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "user is verified through email"],
                        "blocked" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 for user is blocked"],
                        "blockwall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Prohibit contacts to post to the profile page of the user"],
-                       "hidewall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide profile details from unkown viewers"],
+                       "hidewall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide profile details from unknown viewers"],
                        "blocktags" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Prohibit contacts to tag the post of this user"],
                        "unkmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Permit unknown people to send private mails to this user"],
                        "cntunkmail" => ["type" => "int unsigned", "not null" => "1", "default" => "10", "comment" => ""],
@@ -156,6 +159,18 @@ return [
                        "email" => ["email(64)"],
                ]
        ],
+       "user-gserver" => [
+               "comment" => "User settings about remote servers",
+               "fields" => [
+                       "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "foreign" => ["user" => "uid"], "comment" => "Owner User id"],
+                       "gsid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["gserver" => "id"], "comment" => "Gserver id"],
+                       "ignored" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "server accounts are ignored for the user"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["uid", "gsid"],
+                       "gsid" => ["gsid"]
+               ],
+       ],
        "item-uri" => [
                "comment" => "URI and GUID for items",
                "fields" => [
@@ -185,6 +200,7 @@ return [
                        "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" => ""],
@@ -214,8 +230,8 @@ return [
                        "archive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
                        "unsearchable" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact prefers to not be searchable"],
                        "sensitive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact posts sensitive content"],
-                       "baseurl" => ["type" => "varbinary(383)", "default" => "", "comment" => "baseurl of the contact"],
-                       "gsid" => ["type" => "int unsigned", "foreign" => ["gserver" => "id", "on delete" => "restrict"], "comment" => "Global Server ID"],
+                       "baseurl" => ["type" => "varbinary(383)", "default" => "", "comment" => "baseurl of the contact from the gserver record, can be missing"],
+                       "gsid" => ["type" => "int unsigned", "foreign" => ["gserver" => "id", "on delete" => "restrict"], "comment" => "Global Server ID, can be missing"],
                        "bd" => ["type" => "date", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""],
                        // User depending fields
                        "reason" => ["type" => "text", "comment" => ""],
@@ -246,7 +262,7 @@ return [
                        "confirm" => ["type" => "varbinary(383)", "comment" => ""],
                        "poco" => ["type" => "varbinary(383)", "comment" => ""],
                        "writable" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
-                       "forum" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a forum. Deprecated, use 'contact-type' = 'community' and 'manually-approve' = false instead"],
+                       "forum" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a group. Deprecated, use 'contact-type' = 'community' and 'manually-approve' = false instead"],
                        "prv" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a private group. Deprecated, use 'contact-type' = 'community' and 'manually-approve' = true instead"],
                        "bdyear" => ["type" => "varchar(4)", "not null" => "1", "default" => "", "comment" => ""],
                        // Deprecated fields that aren't in use anymore
@@ -308,9 +324,9 @@ return [
                        "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" => "Owner id of this permission set"],
                        "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"],
-                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"],
+                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed circles"],
                        "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"],
-                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"],
+                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied circles"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -371,6 +387,18 @@ return [
                        "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" => [
@@ -384,23 +412,6 @@ return [
                        "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" => [
@@ -515,9 +526,9 @@ return [
                        "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time"],
                        "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edit time"],
                        "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>"],
-                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"],
+                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed circles"],
                        "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"],
-                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"],
+                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied circles"],
                        "backend-class" => ["type" => "tinytext", "comment" => "Storage backend class"],
                        "backend-ref" => ["type" => "text", "comment" => "Storage backend data reference"],
                ],
@@ -543,8 +554,8 @@ return [
                "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" => [
@@ -560,6 +571,10 @@ return [
                        "last-interaction" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last interaction"],
                        "follow-updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last update of the contact relationship"],
                        "follows" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
+                       "score" => ["type" => "smallint unsigned", "comment" => "score for interactions of cid on relation-cid"],
+                       "relation-score" => ["type" => "smallint unsigned", "comment" => "score for interactions of relation-cid on cid"],
+                       "thread-score" => ["type" => "smallint unsigned", "comment" => "score for interactions of cid on threads of relation-cid"],
+                       "relation-thread-score" => ["type" => "smallint unsigned", "comment" => "score for interactions of relation-cid on threads of cid"],
                ],
                "indexes" => [
                        "PRIMARY" => ["cid", "relation-cid"],
@@ -624,6 +639,57 @@ return [
                        "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 interacts 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" => [
@@ -666,9 +732,9 @@ return [
                        "nofinish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if event does have no end this is 1"],
                        "ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "0 or 1"],
                        "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"],
-                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"],
+                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed circles"],
                        "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"],
-                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"],
+                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied circles"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -677,39 +743,6 @@ return [
                        "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" => [
@@ -744,14 +777,14 @@ return [
                ]
        ],
        "group" => [
-               "comment" => "privacy groups, group info",
+               "comment" => "privacy circles, circle info",
                "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" => "Owner User id"],
                        "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the member list is not private"],
-                       "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the group has been deleted"],
-                       "cid" => ["type" => "int unsigned", "foreign" => ["contact" => "id"], "comment" => "Contact id of forum. When this field is filled then the members are synced automatically."],
-                       "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "human readable name of group"],
+                       "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the circle has been deleted"],
+                       "cid" => ["type" => "int unsigned", "foreign" => ["contact" => "id"], "comment" => "Contact id of group. When this field is filled then the members are synced automatically."],
+                       "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "human readable name of circle"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -760,11 +793,11 @@ return [
                ]
        ],
        "group_member" => [
-               "comment" => "privacy groups, member info",
+               "comment" => "privacy circles, member info",
                "fields" => [
                        "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
-                       "gid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["group" => "id"], "comment" => "groups.id of the associated group"],
-                       "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "comment" => "contact.id of the member assigned to the associated group"],
+                       "gid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["group" => "id"], "comment" => "group.id of the associated circle"],
+                       "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "comment" => "contact.id of the member assigned to the associated circle"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -840,6 +873,7 @@ return [
                "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"],
@@ -850,6 +884,7 @@ return [
                "indexes" => [
                        "PRIMARY" => ["url"],
                        "uri-id" => ["uri-id"],
+                       "gsid" => ["gsid"],
                ]
        ],
        "intro" => [
@@ -857,7 +892,7 @@ return [
                "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" => ""],
@@ -875,6 +910,17 @@ return [
                        "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" => [
@@ -897,7 +943,7 @@ return [
                        "guid" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this private message"],
                        "from-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "name of the sender"],
                        "from-photo" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => "contact photo link of the sender"],
-                       "from-url" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => "profile linke of the sender"],
+                       "from-url" => ["type" => "varbinary(383)", "not null" => "1", "default" => "", "comment" => "profile link of the sender"],
                        "contact-id" => ["type" => "varbinary(255)", "relation" => ["contact" => "id"], "comment" => "contact.id"],
                        "author-id" => ["type" => "int unsigned", "foreign" => ["contact" => "id", "on delete" => "restrict"], "comment" => "Link to the contact table with uid=0 of the author of the mail"],
                        "convid" => ["type" => "int unsigned", "relation" => ["conv" => "id"], "comment" => "conv.id"],
@@ -1116,13 +1162,14 @@ return [
                        "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" => ""],
                        "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"],
-                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"],
+                       "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed circles"],
                        "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"],
-                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"],
+                       "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied circles"],
                        "accessible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Make photo publicly accessible, ignoring permissions"],
                        "backend-class" => ["type" => "tinytext", "comment" => "Storage backend class"],
                        "backend-ref" => ["type" => "text", "comment" => "Storage backend data reference"],
@@ -1309,6 +1356,9 @@ return [
                        "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"],
@@ -1327,6 +1377,7 @@ return [
                        "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"],
@@ -1439,7 +1490,7 @@ return [
                        "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"],
@@ -1531,7 +1582,7 @@ return [
                "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" => ""],
                ],
@@ -1548,7 +1599,7 @@ return [
                        "profile-name" => ["type" => "varchar(255)", "comment" => "Deprecated"],
                        "is-default" => ["type" => "boolean", "comment" => "Deprecated"],
                        "hide-friends" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide friend list from viewers of this profile"],
-                       "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
+                       "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Unused in favor of user.username"],
                        "pdesc" => ["type" => "varchar(255)", "comment" => "Deprecated"],
                        "dob" => ["type" => "varchar(32)", "not null" => "1", "default" => "0000-00-00", "comment" => "Day of birth"],
                        "address" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@@ -1654,28 +1705,57 @@ return [
                "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"],
+                       "gsid" => ["type" => "int unsigned", "foreign" => ["gserver" => "id"], "comment" => "Reported contact server"],
                        "comment" => ["type" => "text", "comment" => "Report"],
+                       "category-id" => ["type" => "int unsigned", "not null" => 1, "default" => \Friendica\Moderation\Entity\Report::CATEGORY_OTHER, "comment" => "Report category, one of Entity\Report::CATEGORY_*"],
                        "forward" => ["type" => "boolean", "comment" => "Forward the report to the remote server"],
-                       "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+                       "public-remarks" => ["type" => "text", "comment" => "Remarks shared with the reporter"],
+                       "private-remarks" => ["type" => "text", "comment" => "Remarks shared with the moderation team"],
+                       "last-editor-uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Last editor user"],
+                       "assigned-uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Assigned moderator user"],
+                       "status" => ["type" => "tinyint unsigned", "not null" => "1", "comment" => "Status of the report, one of Entity\Report::STATUS_*"],
+                       "resolution" => ["type" => "tinyint unsigned", "comment" => "Resolution of the report, one of Entity\Report::RESOLUTION_*"],
+                       "created" => ["type" => "datetime(6)", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+                       "edited" => ["type" => "datetime(6)", "comment" => "Last time the report has been edited"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
                        "uid" => ["uid"],
                        "cid" => ["cid"],
+                       "reporter-id" => ["reporter-id"],
+                       "gsid" => ["gsid"],
+                       "last-editor-uid" => ["last-editor-uid"],
+                       "assigned-uid" => ["assigned-uid"],
+                       "status-resolution" => ["status", "resolution"],
+                       "created" => ["created"],
+                       "edited" => ["edited"],
                ]
        ],
        "report-post" => [
-               "comment" => "",
+               "comment" => "Individual posts attached to a moderation report",
                "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"],
                        "uri-id" => ["uri-id"],
                ]
        ],
+       "report-rule" => [
+               "comment" => "Terms of service rule lines relevant to a moderation report",
+               "fields" => [
+                       "rid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["report" => "id"], "comment" => "Report id"],
+                       "line-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "Terms of service rule line number, may become invalid after a TOS change."],
+                       "text" => ["type" => "text", "not null" => "1", "comment" => "Terms of service rule text recorded at the time of the report"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["rid", "line-id"],
+               ]
+       ],
        "search" => [
                "comment" => "",
                "fields" => [
@@ -1762,8 +1842,8 @@ return [
                        "rel" => ["type" => "tinyint unsigned", "comment" => "The kind of the relation between the user and the contact"],
                        "info" => ["type" => "mediumtext", "comment" => ""],
                        "notify_new_posts" => ["type" => "boolean", "comment" => ""],
-                       "remote_self" => ["type" => "boolean", "comment" => ""],
-                       "fetch_further_information" => ["type" => "tinyint unsigned", "comment" => ""],
+                       "remote_self" => ["type" => "tinyint unsigned", "comment" => "0 => No mirroring, 1-2 => Mirror as own post, 3 => Mirror as reshare"],
+                       "fetch_further_information" => ["type" => "tinyint unsigned", "comment" => "0 => None, 1 => Fetch information, 3 => Fetch keywords, 2 => Fetch both"],
                        "ffi_keyword_denylist" => ["type" => "text", "comment" => ""],
                        "subhub" => ["type" => "boolean", "comment" => ""],
                        "hub-verify" => ["type" => "varbinary(383)", "comment" => ""],