]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Allow scripts/decache.php to blow out cache for objects that don't exist (anymore).
authorBrion Vibber <brion@pobox.com>
Mon, 8 Feb 2010 23:32:20 +0000 (15:32 -0800)
committerBrion Vibber <brion@pobox.com>
Mon, 8 Feb 2010 23:32:20 +0000 (15:32 -0800)
May miss keys other than the given or primary key, but should work for a lot of common cases where a bad entry's been removed from DB but lingers in cache.

scripts/decache.php

index 7cabd78adaa5f09681be909011835d6036854d1a..094bdb5aa00bd8e7f16d0938e57d51e49f61abf3 100644 (file)
@@ -24,6 +24,8 @@ $helptext = <<<ENDOFHELP
 USAGE: decache.php <table> <id> [<column>]
 Clears the cache for the object in table <table> with id <id>
 If <column> is specified, use that instead of 'id'
+
+
 ENDOFHELP;
 
 require_once INSTALLDIR.'/scripts/commandline.inc';
@@ -43,8 +45,10 @@ if (count($args) > 2) {
 $object = Memcached_DataObject::staticGet($table, $column, $id);
 
 if (!$object) {
-    print "No such '$table' with $column = '$id'.\n";
-    exit(1);
+    print "No such '$table' with $column = '$id'; it's possible some cache keys won't be cleared properly.\n";
+    $class = ucfirst($table);
+    $object = new $class();
+    $object->column = $id;
 }
 
 $result = $object->decache();