// This file is required several times during the test in DbaDefinition which justifies this condition
if (!defined('DB_UPDATE_VERSION')) {
- define('DB_UPDATE_VERSION', 1524);
+ define('DB_UPDATE_VERSION', 1542);
}
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"], "primary" => "1", "comment" => "Owner User id"],
+ "gsid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["gserver" => "id"], "primary" => "1", "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" => [
"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" => ""],
"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"], ],
+ "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"],
"k_expires" => ["k", "expires"],
]
],
+ "channel" => [
+ "comment" => "User defined Channels",
+ "fields" => [
+ "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""],
+ "uid" => ["type" => "mediumint unsigned", "not null" => "1", "foreign" => ["user" => "uid"], "comment" => "User id"],
+ "label" => ["type" => "varchar(64)", "not null" => "1", "comment" => "Channel label"],
+ "description" => ["type" => "varchar(64)", "comment" => "Channel description"],
+ "circle" => ["type" => "int", "comment" => "Circle or channel that this channel is based on"],
+ "access-key" => ["type" => "varchar(1)", "comment" => "Access key"],
+ "include-tags" => ["type" => "varchar(1023)", "comment" => "Comma separated list of tags that will be included in the channel"],
+ "exclude-tags" => ["type" => "varchar(1023)", "comment" => "Comma separated list of tags that aren't allowed in the channel"],
+ "full-text-search" => ["type" => "varchar(1023)", "comment" => "Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode"],
+ "media-type" => ["type" => "smallint unsigned", "comment" => "Filtered media types"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["id"],
+ "uid" => ["uid"],
+ ]
+ ],
"config" => [
"comment" => "main configuration storage",
"fields" => [
"fields" => [
"cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "primary" => "1", "comment" => "contact the related contact had interacted with"],
"relation-cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "primary" => "1", "comment" => "related contact who had interacted with the contact"],
- "last-interaction" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last interaction"],
+ "last-interaction" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last interaction by relation-cid on cid"],
"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" => ""],
+ "follows" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if true, relation-cid follows cid"],
+ "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"],
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
"url" => ["type" => "varbinary(383)", "comment" => "url that awaiting to be fetched"],
"created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date of the fetch request"],
- "wid" => ["type" => "int unsigned", "foreign" => ["workerqueue" => "id"], "comment" => "Workerqueue id"], ],
+ "wid" => ["type" => "int unsigned", "foreign" => ["workerqueue" => "id"], "comment" => "Workerqueue id"],
+ ],
"indexes" => [
"PRIMARY" => ["id"],
"url" => ["UNIQUE", "url"],
"gserver-tag" => [
"comment" => "Tags that the server has subscribed",
"fields" => [
- "gserver-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["gserver" => "id"], "primary" => "1",
- "comment" => "The id of the gserver"],
+ "gserver-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["gserver" => "id"], "primary" => "1", "comment" => "The id of the gserver"],
"tag" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "primary" => "1", "comment" => "Tag that the server has subscribed"],
],
"indexes" => [
"signer" => ["type" => "varchar(255)", "comment" => ""],
"push" => ["type" => "boolean", "comment" => "Is the entry pushed or have pulled it?"],
"trust" => ["type" => "boolean", "comment" => "Do we trust this entry?"],
- "wid" => ["type" => "int unsigned", "foreign" => ["workerqueue" => "id"], "comment" => "Workerqueue id"], ],
+ "wid" => ["type" => "int unsigned", "foreign" => ["workerqueue" => "id"], "comment" => "Workerqueue id"],
+ ],
"indexes" => [
"PRIMARY" => ["id"],
"activity-id" => ["UNIQUE", "activity-id"],
"master-parent-item" => ["type" => "int unsigned", "comment" => "Deprecated"],
"master-parent-uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Item-uri id of the parent of the related post"],
"parent-item" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""],
- "receiver-uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "foreign" => ["user" => "uid"],
- "comment" => "User id"],
+ "receiver-uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "foreign" => ["user" => "uid"], "comment" => "User id"],
],
"indexes" => [
"PRIMARY" => ["id"],
"PRIMARY" => ["uri-id"],
]
],
+ "post-engagement" => [
+ "comment" => "Engagement data per post",
+ "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 item uri"],
+ "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "comment" => "Item owner"],
+ "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Person, organisation, news, community, relay"],
+ "media-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Type of media in a bit array (1 = image, 2 = video, 4 = audio"],
+ "language" => ["type" => "varbinary(128)", "comment" => "Language information about this post"],
+ "searchtext" => ["type" => "mediumtext", "comment" => "Simplified text for the full text search"],
+ "created" => ["type" => "datetime", "comment" => ""],
+ "restricted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "If true, this post is either unlisted or not from a federated network"],
+ "comments" => ["type" => "mediumint unsigned", "comment" => "Number of comments"],
+ "activities" => ["type" => "mediumint unsigned", "comment" => "Number of activities (like, dislike, ...)"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["uri-id"],
+ "owner-id" => ["owner-id"],
+ "created" => ["created"],
+ "searchtext" => ["FULLTEXT", "searchtext"],
+ ]
+ ],
"post-history" => [
"comment" => "Post history",
"fields" => [
"event-id" => ["event-id"],
"psid" => ["psid"],
"author-id_uid" => ["author-id", "uid"],
- "author-id_received" => ["author-id", "received"],
+ "author-id_created" => ["author-id", "created"],
+ "owner-id_created" => ["owner-id", "created"],
"parent-uri-id_uid" => ["parent-uri-id", "uid"],
"uid_wall_received" => ["uid", "wall", "received"],
"uid_contactid" => ["uid", "contact-id"],
"psid" => ["psid"],
"post-user-id" => ["post-user-id"],
"commented" => ["commented"],
+ "received" => ["received"],
+ "author-id_created" => ["author-id", "created"],
+ "owner-id_created" => ["owner-id", "created"],
"uid_received" => ["uid", "received"],
"uid_wall_received" => ["uid", "wall", "received"],
"uid_commented" => ["uid", "commented"],
+ "uid_received" => ["uid", "received"],
+ "uid_created" => ["uid", "created"],
"uid_starred" => ["uid", "starred"],
"uid_mention" => ["uid", "mention"],
+ "contact-id_commented" => ["contact-id", "commented"],
+ "contact-id_received" => ["contact-id", "received"],
+ "contact-id_created" => ["contact-id", "created"],
]
],
"post-user-notification" => [
"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" => ""],
"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_*"],
+ "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"],
"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" => ""],
+ "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_DATETIME6, "comment" => ""],
"edited" => ["type" => "datetime(6)", "comment" => "Last time the report has been edited"],
],
"indexes" => [
"uid_application-id" => ["uid", "application-id"],
]
],
+ "check-full-text-search" => [
+ "comment" => "Check for a full text search match in user defined channels before storing the message in the system",
+ "fields" => [
+ "pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "The ID of the process"],
+ "searchtext" => ["type" => "mediumtext", "comment" => "Simplified text for the full text search"],
+ ],
+ "indexes" => [
+ "PRIMARY" => ["pid"],
+ "searchtext" => ["FULLTEXT", "searchtext"],
+ ],
+ ],
"userd" => [
"comment" => "Deleted usernames",
"fields" => [
"collapsed" => ["type" => "boolean", "comment" => "Posts from this contact are collapsed"],
"hidden" => ["type" => "boolean", "comment" => "This contact is hidden from the others"],
"is-blocked" => ["type" => "boolean", "comment" => "User is blocked by this contact"],
+ "channel-frequency" => ["type" => "tinyint unsigned", "comment" => "Controls the frequency of the appearance of this contact in channels"],
"pending" => ["type" => "boolean", "comment" => ""],
"rel" => ["type" => "tinyint unsigned", "comment" => "The kind of the relation between the user and the contact"],
"info" => ["type" => "mediumtext", "comment" => ""],