如何删除GAE中所有名称空间中的所有实体?

2024-05-19 05:06:16 发布

您现在位置:Python中文网/ 问答频道 /正文

googleappengine允许管理数据存储 http://code.google.com/appengine/docs/adminconsole/datastoreadmin.html

但除了默认名称空间外,没有提到名称空间。在

我有很多名称空间,现在我想删除数据存储中的所有实体/名称空间。有简单的方法吗?在


Tags: 数据方法实体名称comhttpdocshtml
1条回答
网友
1楼 · 发布于 2024-05-19 05:06:16

不确定这是否符合简单,但。。。在

您可以使用mapper api创建遍历整个集合的函数,并且可以通过db.GqlQuery("SELECT * FROM __namespace__")获得使用的所有名称空间

因此,假设您有一个用于映射所有实体like this one的函数,称为each()。您可以在任务中运行以下操作,也可以在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)

相关问题 更多 >

    热门问题