diff --git a/src/Database/PostUpdate.php b/src/Database/PostUpdate.php index e50250ff5f..88bec31b74 100644 --- a/src/Database/PostUpdate.php +++ b/src/Database/PostUpdate.php @@ -34,6 +34,9 @@ class PostUpdate if (!self::update1274()) { return; } + if (!self::update1275()) { + return; + } } /** @@ -272,6 +275,45 @@ class PostUpdate } dba::close($items); + logger("Processed rows: " . $rows, LOGGER_DEBUG); + return true; + } + /** + * @brief update the "item-activity" table + * + * @return bool "true" when the job is done + */ + private static function update1275() + { + // Was the script completed? + if (Config::get("system", "post_update_version") >= 1275) { + return true; + } + + logger("Start", LOGGER_DEBUG); + + $fields = ['id', 'verb']; + + $condition = ["`iaid` IS NULL AND NOT `icid` IS NULL AND `verb` IN (?, ?, ?, ?, ?)", + ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE]; + + $params = ['limit' => 10000]; + $items = Item::select($fields, $condition, $params); + + if (!DBM::is_result($items)) { + Config::set("system", "post_update_version", 1275); + logger("Done", LOGGER_DEBUG); + return true; + } + + $rows = 0; + + while ($item = Item::fetch($items)) { + Item::update($item, ['id' => $item['id']]); + ++$rows; + } + dba::close($items); + logger("Processed rows: " . $rows, LOGGER_DEBUG); return true; }