]> git.mxchange.org Git - friendica.git/blobdiff - database.sql
Merge pull request #9401 from annando/accounttype
[friendica.git] / database.sql
index f149425e60c8e262be262866978392135096fc34..1e439213d4b46c27b6dfdd63954e22a8dc20239e 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
--- Friendica 2020.09-dev (Red Hot Poker)
--- DB_UPDATE_VERSION 1365
+-- Friendica 2020.12-dev (Red Hot Poker)
+-- DB_UPDATE_VERSION 1370
 -- ------------------------------------------
 
 
@@ -98,6 +98,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
        `forum` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a forum',
        `prv` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a private group',
        `contact-type` tinyint NOT NULL DEFAULT 0 COMMENT '',
+       `manually-approve` boolean COMMENT '',
        `hidden` boolean NOT NULL DEFAULT '0' COMMENT '',
        `archive` boolean NOT NULL DEFAULT '0' COMMENT '',
        `pending` boolean NOT NULL DEFAULT '1' COMMENT '',
@@ -584,6 +585,16 @@ CREATE TABLE IF NOT EXISTS `hook` (
         UNIQUE INDEX `hook_file_function` (`hook`,`file`,`function`)
 ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='addon hook registry';
 
+--
+-- TABLE host
+--
+CREATE TABLE IF NOT EXISTS `host` (
+       `id` tinyint unsigned NOT NULL auto_increment COMMENT 'sequential ID',
+       `name` varchar(128) NOT NULL DEFAULT '' COMMENT 'The hostname',
+        PRIMARY KEY(`id`),
+        UNIQUE INDEX `name` (`name`)
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Hostname';
+
 --
 -- TABLE inbox-status
 --
@@ -643,6 +654,7 @@ CREATE TABLE IF NOT EXISTS `item` (
        `network` char(4) NOT NULL DEFAULT '' COMMENT 'Network from where the item comes from',
        `owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the owner of this item',
        `author-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the author of this item',
+       `causer-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the contact that caused the item creation',
        `icid` int unsigned COMMENT 'Id of the item-content table entry that contains the whole item content',
        `iaid` int unsigned COMMENT 'Id of the item-activity table entry that contains the activity data',
        `vid` smallint unsigned COMMENT 'Id of the verb table entry that contains the activity verbs',
@@ -728,9 +740,11 @@ CREATE TABLE IF NOT EXISTS `item` (
         INDEX `uri-id` (`uri-id`),
         INDEX `parent-uri-id` (`parent-uri-id`),
         INDEX `thr-parent-id` (`thr-parent-id`),
+        INDEX `causer-id` (`causer-id`),
        FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
        FOREIGN KEY (`parent-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
        FOREIGN KEY (`thr-parent-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
+       FOREIGN KEY (`causer-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
        FOREIGN KEY (`psid`) REFERENCES `permissionset` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
 ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Structure for all posts';
 
@@ -775,6 +789,7 @@ CREATE TABLE IF NOT EXISTS `item-content` (
        `verb` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams verb',
         PRIMARY KEY(`id`),
         UNIQUE INDEX `uri-plink-hash` (`uri-plink-hash`),
+        FULLTEXT INDEX `title-content-warning-body` (`title`,`content-warning`,`body`),
         INDEX `uri` (`uri`(191)),
         INDEX `plink` (`plink`(191)),
         INDEX `uri-id` (`uri-id`),
@@ -1434,13 +1449,15 @@ CREATE VIEW `network-item-view` AS SELECT
        `item`.`network` AS `network`,
        `item`.`unseen` AS `unseen`,
        `item`.`gravity` AS `gravity`,
-       `item`.`contact-id` AS `contact-id`
+       `item`.`contact-id` AS `contact-id`,
+       `ownercontact`.`contact-type` AS `contact-type`
        FROM `item`
                        INNER JOIN `thread` ON `thread`.`iid` = `item`.`parent`
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id`
                        LEFT JOIN `user-item` ON `user-item`.`iid` = `item`.`id` AND `user-item`.`uid` = `thread`.`uid`
                        LEFT JOIN `user-contact` AS `author` ON `author`.`uid` = `thread`.`uid` AND `author`.`cid` = `thread`.`author-id`
                        LEFT JOIN `user-contact` AS `owner` ON `owner`.`uid` = `thread`.`uid` AND `owner`.`cid` = `thread`.`owner-id`
+                       LEFT JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `thread`.`owner-id`
                        WHERE `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated`
                        AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
                        AND (`user-item`.`hidden` IS NULL OR NOT `user-item`.`hidden`)
@@ -1463,13 +1480,15 @@ CREATE VIEW `network-thread-view` AS SELECT
        `thread`.`starred` AS `starred`,
        `thread`.`mention` AS `mention`,
        `thread`.`network` AS `network`,
-       `thread`.`contact-id` AS `contact-id`
+       `thread`.`contact-id` AS `contact-id`,
+       `ownercontact`.`contact-type` AS `contact-type`
        FROM `thread`
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id`
                        STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid`
                        LEFT JOIN `user-item` ON `user-item`.`iid` = `item`.`id` AND `user-item`.`uid` = `thread`.`uid`
                        LEFT JOIN `user-contact` AS `author` ON `author`.`uid` = `thread`.`uid` AND `author`.`cid` = `thread`.`author-id`
                        LEFT JOIN `user-contact` AS `owner` ON `owner`.`uid` = `thread`.`uid` AND `owner`.`cid` = `thread`.`owner-id`
+                       LEFT JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `thread`.`owner-id`
                        WHERE `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated`
                        AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
                        AND (`user-item`.`hidden` IS NULL OR NOT `user-item`.`hidden`)
@@ -1540,6 +1559,7 @@ CREATE VIEW `owner-view` AS SELECT
        `contact`.`forum` AS `forum`,
        `contact`.`prv` AS `prv`,
        `contact`.`contact-type` AS `contact-type`,
+       `contact`.`manually-approve` AS `manually-approve`,
        `contact`.`hidden` AS `hidden`,
        `contact`.`archive` AS `archive`,
        `contact`.`pending` AS `pending`,