From: Mikael Nordfeldth Date: Thu, 27 Nov 2014 17:56:57 +0000 (+0100) Subject: Conversation URIs could be NULL on upgrade X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=d02f3c4648210205520606cf7ef883f44db3beb6;p=quix0rs-gnu-social.git Conversation URIs could be NULL on upgrade --- diff --git a/scripts/upgrade.php b/scripts/upgrade.php index bd4a73d3af..c221a495af 100644 --- a/scripts/upgrade.php +++ b/scripts/upgrade.php @@ -34,6 +34,8 @@ require_once INSTALLDIR.'/scripts/commandline.inc'; function main() { if (Event::handle('StartUpgrade')) { + fixupConversationURIs(); + updateSchemaCore(); updateSchemaPlugins(); @@ -199,6 +201,29 @@ function initConversation() printfnq("DONE.\n"); } +function fixupConversationURIs() +{ + printfnq("Ensuring all conversations have a URI..."); + + $conv = new Conversation(); + $conv->whereAdd('uri IS NULL'); + + if ($conv->find()) { + $rounds = 0; + while ($conv->fetch()) { + $uri = common_local_url('conversation', array('id' => $conv->id)); + $sql = sprintf('UPDATE conversation SET uri="%1$s" WHERE id="%2$d";', + $conv->escape($uri), $conv->id); + $conv->query($sql); + if (($conv->N-++$rounds) % 500 == 0) { + printfnq(sprintf(' %d items left...', $conv->N-$rounds)); + } + } + } + + printfnq("DONE.\n"); +} + function initGroupProfileId() { printfnq("Ensuring all User_group entries have a Profile and profile_id...");