X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=48d44813b15f23d58634bc22fab494f574abeddf;hb=ba9cf32f366e06189b9e8eb92ea4bf3b6df8a1b3;hp=bb733ebc20118d9e4bb19f008f0ecc609fafa726;hpb=156712597c39d7e930118568fe3560eb8c066eda;p=friendica.git diff --git a/update.php b/update.php index bb733ebc20..48d44813b1 100644 --- a/update.php +++ b/update.php @@ -70,7 +70,8 @@ function update_1181() { // Fill the new fields in the term table. - Worker::add(PRIORITY_LOW, "TagUpdate"); + // deactivated, the "term" table is deprecated + // Worker::add(PRIORITY_LOW, "TagUpdate"); return Update::SUCCESS; } @@ -434,10 +435,12 @@ function update_1347() function pre_update_1348() { - DBA::insert('contact', ['nurl' => '']); - $lastid = DBA::lastInsertId(); - if ($lastid != 0) { - DBA::update('contact', ['id' => 0], ['id' => $lastid]); + if (!DBA::exists('contact', ['id' => 0])) { + DBA::insert('contact', ['nurl' => '']); + $lastid = DBA::lastInsertId(); + if ($lastid != 0) { + DBA::update('contact', ['id' => 0], ['id' => $lastid]); + } } // The tables "permissionset" and "tag" could or could not exist during the update. @@ -452,19 +455,47 @@ function pre_update_1348() function update_1348() { // Insert a permissionset with id=0 - // Setting it to -1 and then changing the value to 0 tricks the auto increment - DBA::insert('permissionset', ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']); - $lastid = DBA::lastInsertId(); - if ($lastid != 0) { - DBA::update('permissionset', ['id' => 0], ['id' => $lastid]); + // Inserting it without an ID and then changing the value to 0 tricks the auto increment + if (!DBA::exists('permissionset', ['id' => 0])) { + DBA::insert('permissionset', ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']); + $lastid = DBA::lastInsertId(); + if ($lastid != 0) { + DBA::update('permissionset', ['id' => 0], ['id' => $lastid]); + } } - - DBA::insert('tag', ['name' => '']); - $lastid = DBA::lastInsertId(); - if ($lastid != 0) { - DBA::update('tag', ['id' => 0], ['id' => $lastid]); + if (!DBA::exists('tag', ['id' => 0])) { + DBA::insert('tag', ['name' => '']); + $lastid = DBA::lastInsertId(); + if ($lastid != 0) { + DBA::update('tag', ['id' => 0], ['id' => $lastid]); + } } 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