]> git.mxchange.org Git - friendica.git/blobdiff - static/dbstructure.config.php
Merge pull request #8300 from annando/expiry-settings
[friendica.git] / static / dbstructure.config.php
index aca6cf16b3d65489adb812990f3b87a38270370f..9786664601364570d8074dfc49d2168d7a98e7d9 100755 (executable)
@@ -1,6 +1,23 @@
 <?php
-
-/* Main database structure configuration file.
+/**
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ * Main database structure configuration file.
  *
  * Here are described all the tables, fields and indexes Friendica needs to work.
  *
@@ -34,7 +51,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1320);
+       define('DB_UPDATE_VERSION', 1333);
 }
 
 return [
@@ -44,13 +61,13 @@ return [
                        "id" => ["type" => "mediumint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Password ID for revocation"],
                        "uid" => ["type" => "mediumint unsigned", "not null" => "1", "relation" => ["user" => "uid"], "comment" => "User ID"],
                        "description" => ["type" => "varchar(255)", "comment" => "Description of the usage of the password"],
-                       "hashed_password" => ["type" => "varchar(255)", "not null" => "1", "primary" => "1", "comment" => "Hashed password"],
+                       "hashed_password" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Hashed password"],
                        "generated" => ["type" => "datetime", "not null" => "1", "comment" => "Datetime the password was generated"],
                        "last_used" => ["type" => "datetime", "comment" => "Datetime the password was last used"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
-                       "uid_description" => ["uid", "description"],
+                       "uid_description" => ["uid", "description(190)"],
                ]
        ],
        "2fa_recovery_codes" => [
@@ -102,6 +119,9 @@ return [
                        "pubkey" => ["type" => "text", "comment" => ""],
                        "baseurl" => ["type" => "varchar(255)", "comment" => "baseurl of the ap contact"],
                        "generator" => ["type" => "varchar(255)", "comment" => "Name of the contact's system"],
+                       "following_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of following contacts"],
+                       "followers_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of followers"],
+                       "statuses_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of posts"],
                        "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""]
                ],
                "indexes" => [
@@ -220,7 +240,7 @@ return [
                        "location" => ["type" => "varchar(255)", "default" => "", "comment" => ""],
                        "about" => ["type" => "text", "comment" => ""],
                        "keywords" => ["type" => "text", "comment" => "public keywords (interests) of the contact"],
-                       "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],
+                       "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Deprecated"],
                        "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "attag" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "avatar" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@@ -274,7 +294,7 @@ return [
                        "reason" => ["type" => "text", "comment" => ""],
                        "closeness" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "99", "comment" => ""],
                        "info" => ["type" => "mediumtext", "comment" => ""],
-                       "profile-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""],
+                       "profile-id" => ["type" => "int unsigned", "comment" => "Deprecated"],
                        "bdyear" => ["type" => "varchar(4)", "not null" => "1", "default" => "", "comment" => ""],
                        "bd" => ["type" => "date", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""],
                        "notify_new_posts" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
@@ -446,7 +466,7 @@ return [
                        "location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "about" => ["type" => "text", "comment" => ""],
                        "keywords" => ["type" => "text", "comment" => "puplic keywords (interests)"],
-                       "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],
+                       "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Deprecated"],
                        "birthday" => ["type" => "varchar(32)", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""],
                        "community" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 if contact is forum account"],
                        "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "-1", "comment" => ""],
@@ -523,6 +543,7 @@ return [
                        "info" => ["type" => "text", "comment" => ""],
                        "register_policy" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""],
                        "registered-users" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Number of registered users"],
+                       "directory-type" => ["type" => "tinyint", "default" => "0", "comment" => "Type of directory service (Poco, Mastodon)"],
                        "poco" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "noscrape" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""],
@@ -702,6 +723,7 @@ return [
                        "resource-id" => ["resource-id"],
                        "deleted_changed" => ["deleted", "changed"],
                        "uid_wall_changed" => ["uid", "wall", "changed"],
+                       "mention_uid_id" => ["mention", "uid", "id"],
                        "uid_eventid" => ["uid", "event-id"],
                        "icid" => ["icid"],
                        "iaid" => ["iaid"],
@@ -763,6 +785,7 @@ return [
                        "inform" => ["type" => "mediumtext", "comment" => "Additional receivers of the linked item"],
                        "queue_count" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Initial number of delivery recipients, used as item.delivery_queue_count"],
                        "queue_done" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries, used as item.delivery_queue_done"],
+                       "queue_failed" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of unsuccessful deliveries, used as item.delivery_queue_failed"],
                        "activitypub" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via ActivityPub"],
                        "dfrn" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via DFRN"],
                        "legacy_dfrn" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via legacy DFRN"],
@@ -867,7 +890,6 @@ return [
                "comment" => "notifications",
                "fields" => [
                        "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
-                       "hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => ""],
                        "type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
                        "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@@ -886,7 +908,6 @@ return [
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
-                       "hash_uid" => ["hash", "uid"],
                        "seen_uid_date" => ["seen", "uid", "date"],
                        "uid_date" => ["uid", "date"],
                        "uid_type_link" => ["uid", "type", "link(190)"],
@@ -1080,40 +1101,40 @@ 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", "relation" => ["user" => "uid"], "comment" => "Owner User id"],
-                       "profile-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name of the profile"],
-                       "is-default" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Mark this profile as default profile"],
+                       "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" => ""],
-                       "pdesc" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Title or description"],
+                       "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" => ""],
                        "locality" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "region" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "postal-code" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],
                        "country-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "hometown" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],
-                       "marital" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "with" => ["type" => "text", "comment" => ""],
-                       "howlong" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
-                       "sexual" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "politic" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "religion" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
+                       "hometown" => ["type" => "varchar(255)", "comment" => "Deprecated"],
+                       "gender" => ["type" => "varchar(32)", "comment" => "Deprecated"],
+                       "marital" => ["type" => "varchar(255)", "comment" => "Deprecated"],
+                       "with" => ["type" => "text", "comment" => "Deprecated"],
+                       "howlong" => ["type" => "datetime", "comment" => "Deprecated"],
+                       "sexual" => ["type" => "varchar(255)", "comment" => "Deprecated"],
+                       "politic" => ["type" => "varchar(255)", "comment" => "Deprecated"],
+                       "religion" => ["type" => "varchar(255)", "comment" => "Deprecated"],
                        "pub_keywords" => ["type" => "text", "comment" => ""],
                        "prv_keywords" => ["type" => "text", "comment" => ""],
-                       "likes" => ["type" => "text", "comment" => ""],
-                       "dislikes" => ["type" => "text", "comment" => ""],
-                       "about" => ["type" => "text", "comment" => ""],
-                       "summary" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "music" => ["type" => "text", "comment" => ""],
-                       "book" => ["type" => "text", "comment" => ""],
-                       "tv" => ["type" => "text", "comment" => ""],
-                       "film" => ["type" => "text", "comment" => ""],
-                       "interest" => ["type" => "text", "comment" => ""],
-                       "romance" => ["type" => "text", "comment" => ""],
-                       "work" => ["type" => "text", "comment" => ""],
-                       "education" => ["type" => "text", "comment" => ""],
-                       "contact" => ["type" => "text", "comment" => ""],
+                       "likes" => ["type" => "text", "comment" => "Deprecated"],
+                       "dislikes" => ["type" => "text", "comment" => "Deprecated"],
+                       "about" => ["type" => "text", "comment" => "Profile description"],
+                       "summary" => ["type" => "varchar(255)", "comment" => "Deprecated"],
+                       "music" => ["type" => "text", "comment" => "Deprecated"],
+                       "book" => ["type" => "text", "comment" => "Deprecated"],
+                       "tv" => ["type" => "text", "comment" => "Deprecated"],
+                       "film" => ["type" => "text", "comment" => "Deprecated"],
+                       "interest" => ["type" => "text", "comment" => "Deprecated"],
+                       "romance" => ["type" => "text", "comment" => "Deprecated"],
+                       "work" => ["type" => "text", "comment" => "Deprecated"],
+                       "education" => ["type" => "text", "comment" => "Deprecated"],
+                       "contact" => ["type" => "text", "comment" => "Deprecated"],
                        "homepage" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@@ -1141,6 +1162,25 @@ return [
                        "PRIMARY" => ["id"],
                ]
        ],
+       "profile_field" => [
+               "comment" => "Custom profile fields",
+               "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", "relation" => ["user" => "uid"], "comment" => "Owner user id"],
+                       "order" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "1", "comment" => "Field ordering per user"],
+                       "psid" => ["type" => "int unsigned", "relation" => ["permissionset" => "id"], "comment" => "ID of the permission set of this profile field - 0 = public"],
+                       "label" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Label of the field"],
+                       "value" => ["type" => "text", "comment" => "Value of the field"],
+                       "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"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["id"],
+                       "uid" => ["uid"],
+                       "order" => ["order"],
+                       "psid" => ["psid"],
+               ]
+       ],
        "push_subscriber" => [
                "comment" => "Used for OStatus: Contains feed subscribers",
                "fields" => [
@@ -1383,10 +1423,14 @@ return [
                        "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"],
                        "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"],
                        "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"],
-                       "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"]
+                       "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"],
+                       "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"],
+                       "notification-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
                ],
                "indexes" => [
-                       "PRIMARY" => ["uid", "iid"]
+                       "PRIMARY" => ["uid", "iid"],
+                       "uid_pinned" => ["uid", "pinned"],
+                       "iid_uid" => ["iid", "uid"]
                ]
        ],
        "worker-ipc" => [