Google App Engine允许管理数据存储区 http://code.google.com/appengine/docs/adminconsole/datastoreadmin.html
但除了默认名称空间外,没有提及名称空间。
我有很多命名空间,现在我想要删除数据存储区中的所有实体/命名空间。有简单的方法吗?
答案 0 :(得分:7)
不确定这是否符合简单条件,但是......
您可以使用mapper api创建将遍历整个集合的函数,并且可以通过db.GqlQuery("SELECT * FROM __namespace__")
获取所有名称空间
因此,假设您具有映射所有名为each()
的实体like this one的功能。您可以在任务中运行以下内容,也可以在remote_api enabled console的帮助下在本地运行以删除所有内容。
for namespace in each(db.GqlQuery("SELECT * FROM __namespace__")):
# set the namespace
namespace_manager.set_namespace( namespace.namespace_name )
# get all the kinds used in this namespace
for kind in each(db.GqlQuery("SELECT * FROM __kind__")):
# get entity 'keys only'
for key in each(db.GqlQuery("SELECT __key__ FROM %s" % kind.kind_name)):
db.delete(key)