Browse Source

Delete of item-content should work now

pull/5289/head
Michael 4 years ago
parent
commit
6b568bb8fa
  1. 3
      database.sql
  2. 1
      src/Database/DBStructure.php
  3. 5
      src/Worker/Expire.php

3
database.sql

@ -541,7 +541,8 @@ CREATE TABLE IF NOT EXISTS `item` (
INDEX `contactid_verb` (`contact-id`,`verb`),
INDEX `deleted_changed` (`deleted`,`changed`),
INDEX `uid_wall_changed` (`uid`,`wall`,`changed`),
INDEX `uid_eventid` (`uid`,`event-id`)
INDEX `uid_eventid` (`uid`,`event-id`),
INDEX `icid` (`icid`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Structure for all posts';
--

1
src/Database/DBStructure.php

@ -1248,6 +1248,7 @@ class DBStructure
"deleted_changed" => ["deleted","changed"],
"uid_wall_changed" => ["uid","wall","changed"],
"uid_eventid" => ["uid","event-id"],
"icid" => ["icid"],
]
];
$database["item-content"] = [

5
src/Worker/Expire.php

@ -26,9 +26,12 @@ class Expire {
if ($param == 'delete') {
logger('Delete expired items', LOGGER_DEBUG);
// physically remove anything that has been deleted for more than two months
$r = dba::p("SELECT `id` FROM `item` WHERE `deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY");
$r = dba::p("SELECT `id`, `icid` FROM `item` WHERE `deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY");
while ($row = dba::fetch($r)) {
dba::delete('item', ['id' => $row['id']]);
if (!dba::exists('item', ['icid' => $row['icid']])) {
dba::delete('item-content', ['id' => $row['icid']]);
}
}
dba::close($r);

Loading…
Cancel
Save