"cascade" for "post-engagement" / fixes for "report" definition
This commit is contained in:
parent
8452d3fdf2
commit
8c9e4c46a0
5 changed files with 31 additions and 26 deletions
|
@ -1,6 +1,6 @@
|
||||||
-- ------------------------------------------
|
-- ------------------------------------------
|
||||||
-- Friendica 2023.09-dev (Giant Rhubarb)
|
-- Friendica 2023.09-dev (Giant Rhubarb)
|
||||||
-- DB_UPDATE_VERSION 1531
|
-- DB_UPDATE_VERSION 1532
|
||||||
-- ------------------------------------------
|
-- ------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@ -1316,7 +1316,7 @@ CREATE TABLE IF NOT EXISTS `post-engagement` (
|
||||||
INDEX `owner-id` (`owner-id`),
|
INDEX `owner-id` (`owner-id`),
|
||||||
INDEX `created` (`created`),
|
INDEX `created` (`created`),
|
||||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||||
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
|
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Engagement data per post';
|
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Engagement data per post';
|
||||||
|
|
||||||
--
|
--
|
||||||
|
@ -1741,7 +1741,7 @@ CREATE TABLE IF NOT EXISTS `report` (
|
||||||
`assigned-uid` mediumint unsigned COMMENT 'Assigned moderator user',
|
`assigned-uid` mediumint unsigned COMMENT 'Assigned moderator user',
|
||||||
`status` tinyint unsigned NOT NULL COMMENT 'Status of the report, one of Entity\Report::STATUS_*',
|
`status` tinyint unsigned NOT NULL COMMENT 'Status of the report, one of Entity\Report::STATUS_*',
|
||||||
`resolution` tinyint unsigned COMMENT 'Resolution of the report, one of Entity\Report::RESOLUTION_*',
|
`resolution` tinyint unsigned COMMENT 'Resolution of the report, one of Entity\Report::RESOLUTION_*',
|
||||||
`created` datetime(6) NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
`created` datetime(6) NOT NULL DEFAULT '0001-01-01 00:00:00.000000' COMMENT '',
|
||||||
`edited` datetime(6) COMMENT 'Last time the report has been edited',
|
`edited` datetime(6) COMMENT 'Last time the report has been edited',
|
||||||
PRIMARY KEY(`id`),
|
PRIMARY KEY(`id`),
|
||||||
INDEX `uid` (`uid`),
|
INDEX `uid` (`uid`),
|
||||||
|
|
|
@ -6,24 +6,24 @@ Table report
|
||||||
Fields
|
Fields
|
||||||
------
|
------
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| --------------- | ------------------------------------------------------------ | ------------------ | ---- | --- | ------------------- | -------------- |
|
| --------------- | ------------------------------------------------------------ | ------------------ | ---- | --- | -------------------------- | -------------- |
|
||||||
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| uid | Reporting user | mediumint unsigned | YES | | NULL | |
|
| uid | Reporting user | mediumint unsigned | YES | | NULL | |
|
||||||
| reporter-id | Reporting contact | int unsigned | YES | | NULL | |
|
| reporter-id | Reporting contact | int unsigned | YES | | NULL | |
|
||||||
| cid | Reported contact | int unsigned | NO | | NULL | |
|
| cid | Reported contact | int unsigned | NO | | NULL | |
|
||||||
| gsid | Reported contact server | int unsigned | YES | | NULL | |
|
| gsid | Reported contact server | int unsigned | YES | | NULL | |
|
||||||
| comment | Report | text | YES | | NULL | |
|
| comment | Report | text | YES | | NULL | |
|
||||||
| category-id | Report category, one of Entity\Report::CATEGORY_* | int unsigned | NO | | 1 | |
|
| category-id | Report category, one of Entity\Report::CATEGORY_* | int unsigned | NO | | 1 | |
|
||||||
| forward | Forward the report to the remote server | boolean | YES | | NULL | |
|
| forward | Forward the report to the remote server | boolean | YES | | NULL | |
|
||||||
| public-remarks | Remarks shared with the reporter | text | YES | | NULL | |
|
| public-remarks | Remarks shared with the reporter | text | YES | | NULL | |
|
||||||
| private-remarks | Remarks shared with the moderation team | text | YES | | NULL | |
|
| private-remarks | Remarks shared with the moderation team | text | YES | | NULL | |
|
||||||
| last-editor-uid | Last editor user | mediumint unsigned | YES | | NULL | |
|
| last-editor-uid | Last editor user | mediumint unsigned | YES | | NULL | |
|
||||||
| assigned-uid | Assigned moderator user | mediumint unsigned | YES | | NULL | |
|
| assigned-uid | Assigned moderator user | mediumint unsigned | YES | | NULL | |
|
||||||
| status | Status of the report, one of Entity\Report::STATUS_* | tinyint unsigned | NO | | NULL | |
|
| status | Status of the report, one of Entity\Report::STATUS_* | tinyint unsigned | NO | | NULL | |
|
||||||
| resolution | Resolution of the report, one of Entity\Report::RESOLUTION_* | tinyint unsigned | YES | | NULL | |
|
| resolution | Resolution of the report, one of Entity\Report::RESOLUTION_* | tinyint unsigned | YES | | NULL | |
|
||||||
| created | | datetime(6) | NO | | 0001-01-01 00:00:00 | |
|
| created | | datetime(6) | NO | | 0001-01-01 00:00:00.000000 | |
|
||||||
| edited | Last time the report has been edited | datetime(6) | YES | | NULL | |
|
| edited | Last time the report has been edited | datetime(6) | YES | | NULL | |
|
||||||
|
|
||||||
Indexes
|
Indexes
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -42,6 +42,11 @@ class DBA
|
||||||
*/
|
*/
|
||||||
const NULL_DATETIME = '0001-01-01 00:00:00';
|
const NULL_DATETIME = '0001-01-01 00:00:00';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lowest possible datetime(6) value
|
||||||
|
*/
|
||||||
|
const NULL_DATETIME6 = '0001-01-01 00:00:00.000000';
|
||||||
|
|
||||||
public static function connect(): bool
|
public static function connect(): bool
|
||||||
{
|
{
|
||||||
return DI::dba()->connect();
|
return DI::dba()->connect();
|
||||||
|
|
|
@ -284,7 +284,7 @@ class DBStructure
|
||||||
echo $sql;
|
echo $sql;
|
||||||
}
|
}
|
||||||
if ($action) {
|
if ($action) {
|
||||||
$r = DBA::e($sql);
|
$r = DBA::e(str_replace('\\', '\\\\', $sql));
|
||||||
if (!DBA::isResult($r)) {
|
if (!DBA::isResult($r)) {
|
||||||
$errors .= self::printUpdateError($name);
|
$errors .= self::printUpdateError($name);
|
||||||
}
|
}
|
||||||
|
@ -493,7 +493,7 @@ class DBStructure
|
||||||
DI::config()->set('system', 'maintenance_reason', DI::l10n()->t('%s: updating %s table.', DateTimeFormat::utcNow() . ' ' . date('e'), $name));
|
DI::config()->set('system', 'maintenance_reason', DI::l10n()->t('%s: updating %s table.', DateTimeFormat::utcNow() . ' ' . date('e'), $name));
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = DBA::e($sql3);
|
$r = DBA::e(str_replace('\\', '\\\\', $sql3));
|
||||||
if (!DBA::isResult($r)) {
|
if (!DBA::isResult($r)) {
|
||||||
$errors .= self::printUpdateError($sql3);
|
$errors .= self::printUpdateError($sql3);
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ use Friendica\Database\DBA;
|
||||||
|
|
||||||
// This file is required several times during the test in DbaDefinition which justifies this condition
|
// This file is required several times during the test in DbaDefinition which justifies this condition
|
||||||
if (!defined('DB_UPDATE_VERSION')) {
|
if (!defined('DB_UPDATE_VERSION')) {
|
||||||
define('DB_UPDATE_VERSION', 1531);
|
define('DB_UPDATE_VERSION', 1532);
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
@ -1328,7 +1328,7 @@ return [
|
||||||
"comment" => "Engagement data per post",
|
"comment" => "Engagement data per post",
|
||||||
"fields" => [
|
"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"],
|
"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", "on delete" => "restrict"], "comment" => "Item owner"],
|
"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"],
|
"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"],
|
"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"],
|
"language" => ["type" => "varbinary(128)", "comment" => "Language information about this post"],
|
||||||
|
@ -1736,7 +1736,7 @@ return [
|
||||||
"assigned-uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Assigned moderator 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_*"],
|
"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_*"],
|
"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" => ""],
|
"created" => ["type" => "datetime(6)", "not null" => "1", "default" => DBA::NULL_DATETIME6, "comment" => ""],
|
||||||
"edited" => ["type" => "datetime(6)", "comment" => "Last time the report has been edited"],
|
"edited" => ["type" => "datetime(6)", "comment" => "Last time the report has been edited"],
|
||||||
],
|
],
|
||||||
"indexes" => [
|
"indexes" => [
|
||||||
|
|
Loading…
Reference in a new issue