]> git.mxchange.org Git - friendica.git/commitdiff
New post update to fill the item-activity table
authorMichael <heluecht@pirati.ca>
Fri, 6 Jul 2018 05:17:44 +0000 (05:17 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 6 Jul 2018 05:17:44 +0000 (05:17 +0000)
src/Database/PostUpdate.php

index e50250ff5f0bae6b0d17a15c83d5f880c8926366..88bec31b74f42d5e4fbe0e0c75b31193b4e17a20 100644 (file)
@@ -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;
        }