]> git.mxchange.org Git - friendica.git/commitdiff
Update the "vid"
authorMichael <heluecht@pirati.ca>
Tue, 19 May 2020 20:28:27 +0000 (20:28 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 19 May 2020 20:28:27 +0000 (20:28 +0000)
static/dbstructure.config.php
update.php

index dd1528a2f59e860bb2a0c4d891a310c74e8a84c0..512002f25cb5578f2de8075944d3499df0d1d646 100755 (executable)
@@ -54,7 +54,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1348);
+       define('DB_UPDATE_VERSION', 1349);
 }
 
 return [
index 4b719682aafb707252f408ce6d7ce20a33385f13..48d44813b15f23d58634bc22fab494f574abeddf 100644 (file)
@@ -474,3 +474,28 @@ function update_1348()
 
        return Update::SUCCESS;
 }
+
+function update_1349()
+{
+       $correct = true;
+       foreach (Item::ACTIVITIES as $index => $activity) {
+               if (!DBA::exists('verb', ['id' => $index + 1, 'name' => $activity])) {
+                       $correct = false;
+               }
+       }
+
+       if (!$correct) {
+               // The update failed - but it cannot be recovered, since the data doesn't match our expectation
+               // This means that we can't use this "shortcut" to fill the "vid" field and we have to rely upon
+               // the postupdate. This is not fatal, but means that it will take some longer time for the system
+               // to fill all data.
+               return Update::SUCCESS;
+       }
+
+       if (!DBA::e("UPDATE `item` INNER JOIN `item-activity` ON `item`.`uri-id` = `item-activity`.`uri-id`
+               SET `vid` = `item-activity`.`activity` + 1 WHERE `gravity` = ? AND (`vid` IS NULL OR `vid` = 0)", GRAVITY_ACTIVITY)) {
+               return Update::FAILED;
+       }
+
+       return Update::SUCCESS;
+}
\ No newline at end of file