]> git.mxchange.org Git - friendica.git/blobdiff - static/dbstructure.config.php
Merge pull request #12674 from nupplaphil/bug/config_typesafe
[friendica.git] / static / dbstructure.config.php
index f8e01e51eec7e93f139c2b0f5494efbc33be6c4c..d25d9cc3f1ddaac8b8a037a836e1c709341bc9c5 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
  *
@@ -55,7 +55,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1497);
+       define('DB_UPDATE_VERSION', 1510);
 }
 
 return [
@@ -186,6 +186,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" => ""],
@@ -552,19 +553,6 @@ return [
                        "k_expires" => ["k", "expires"],
                ]
        ],
-       "config" => [
-               "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" => ""],
-                       "v" => ["type" => "mediumtext", "comment" => ""],
-               ],
-               "indexes" => [
-                       "PRIMARY" => ["id"],
-                       "cat_k" => ["UNIQUE", "cat", "k"],
-               ]
-       ],
        "contact-relation" => [
                "comment" => "Contact relations",
                "fields" => [
@@ -637,6 +625,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 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" => [
@@ -690,39 +729,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" => [
@@ -853,6 +859,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"],
@@ -863,6 +870,7 @@ return [
                "indexes" => [
                        "PRIMARY" => ["url"],
                        "uri-id" => ["uri-id"],
+                       "gsid" => ["gsid"],
                ]
        ],
        "intro" => [
@@ -870,7 +878,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" => ""],
@@ -888,6 +896,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" => [
@@ -1323,6 +1342,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"],
@@ -1454,7 +1476,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"],
@@ -1669,8 +1691,11 @@ 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"],
                        "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"],
@@ -1679,6 +1704,7 @@ return [
                        "PRIMARY" => ["id"],
                        "uid" => ["uid"],
                        "cid" => ["cid"],
+                       "reporter-id" => ["reporter-id"],
                ]
        ],
        "report-post" => [