{"id":636,"date":"2009-06-23T10:14:09","date_gmt":"2009-06-23T14:14:09","guid":{"rendered":"http:\/\/www.dr-chuck.com\/wordpress\/?p=636"},"modified":"2011-12-17T12:30:40","modified_gmt":"2011-12-17T16:30:40","slug":"clearing-entries-in-app-engine-clearing-the-data-store","status":"publish","type":"post","link":"https:\/\/www.dr-chuck.com\/csev-blog\/2009\/06\/clearing-entries-in-app-engine-clearing-the-data-store\/","title":{"rendered":"Clearing Entries in App Engine &#8211; Clearing the Data Store"},"content":{"rendered":"<p>It would be nice to have bulk clear of the App Engine Data Store.   Many folks have resorted to little REST like ways to do this.  Here is my take on it:<\/p>\n<pre>\nclass PurgeHandler(webapp.RequestHandler):\ndef get(self):\nif not users.is_current_user_admin() :\nself.response.out.write('Must be admin.')\nreturn\nlimit = self.request.get(\"limit\")\nif not limit:\nlimit = 10\ntable = self.request.get('table')\nif not table:\nself.response.out.write('Must specify a table.')\nreturn\nq = db.GqlQuery(\"SELECT __key__ FROM \"+table)\nresults = q.fetch(10)\nself.response.out.write(\"%s records\" % len(results))\ndb.delete(results)\n<\/pre>\n<p>\nNothing fancy.  This could easily be improved and I may improve it after I get some free time.<\/p>\n<p>\nReference: I got my inspiration from this <a href=\"http:\/\/groups.google.com\/group\/google-appengine\/browse_thread\/thread\/db0ad0f6d9bf2f61\/3cd30c5ee5d93825\" target=\"_new\">Google Groups Post<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It would be nice to have bulk clear of the App Engine Data Store. Many folks have resorted to little REST like ways to do this. Here is my take on it: class PurgeHandler(webapp.RequestHandler): def get(self): if not users.is_current_user_admin() : self.response.out.write(&#8216;Must be admin.&#8217;) return limit = self.request.get(&#8220;limit&#8221;) if not limit: limit = 10 table = [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-636","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/comments?post=636"}],"version-history":[{"count":1,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/636\/revisions"}],"predecessor-version":[{"id":2737,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/636\/revisions\/2737"}],"wp:attachment":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/media?parent=636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/categories?post=636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/tags?post=636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}