X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=83011108b539b6dcaafcd7b724e01d33bd9e4584;hb=5bfbc1224c21928b42e3306bbc6133c23012e1ce;hp=4b719682aafb707252f408ce6d7ce20a33385f13;hpb=ce8e200461ed777fb31a9d3c2f07c7e8c31b3b56;p=friendica.git diff --git a/update.php b/update.php index 4b719682aa..83011108b5 100644 --- a/update.php +++ b/update.php @@ -45,6 +45,7 @@ use Friendica\Core\Logger; use Friendica\Core\Update; use Friendica\Core\Worker; use Friendica\Database\DBA; +use Friendica\Database\DBStructure; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\GContact; @@ -474,3 +475,47 @@ 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; +} + +function update_1351() +{ + if (!DBA::e("UPDATE `thread` INNER JOIN `item` ON `thread`.`iid` = `item`.`id` SET `thread`.`uri-id` = `item`.`uri-id`")) { + return Update::FAILED; + } + + return Update::SUCCESS; +} + +function pre_update_1354() +{ + if (DBStructure::existsColumn('contact', ['ffi_keyword_blacklist']) + && !DBA::e("ALTER TABLE `contact` CHANGE `ffi_keyword_blacklist` `ffi_keyword_denylist` text null")) { + return Update::FAILED; + } + + return Update::SUCCESS; +}