如何从本地Google App引擎数据存储中删除所有实体?

时间:2009-06-18 03:04:32

标签: google-app-engine google-cloud-datastore

如何在dev_appserver上删除所有实体或重置本地数据存储?我在测试时不小心递归地调用了一个创建实体的函数。

我在Vista上使用Google App引擎SDK。

7 个答案:

答案 0 :(得分:31)

dev_appserver.py --clear_datastore=yes myapp

有关详细信息,请参阅here

速记版:

dev_appserver.py -c

答案 1 :(得分:19)

如果您来到这里寻找 Java解决方案:删除以下文件:

{project root}/WEB-INF/appengine-generated/local_db.bin

重建并重新启动项目。

答案 2 :(得分:4)

dev_appserver.py [app directory] ​​--clear_datastore true

如果服务器在当时正在运行以释放端口

,则需要关闭服务器

答案 3 :(得分:2)

有用的事情是始终指定--datastore_path,例如--datastore_path = test.datastore。

要删除它,您只需删除该文件即可。您还可以保留副本并交换它们。并且商店将继续重新启动(当/ tmp / Linux上的默认位置无论如何都被清除)

答案 4 :(得分:0)

在制作中 - 你可以去 appengine dashboard =>数据存储管理员

答案 5 :(得分:0)

这是运行dev_appserver

后的输出
INFO     2017-03-21 15:07:36,085 devappserver2.py:764] Skipping SDK update check.
INFO     2017-03-21 15:07:38,342 api_server.py:268] Starting API server at: http://localhost:63970
INFO     2017-03-21 15:07:38,349 dispatcher.py:199] Starting module "default" running at: http://localhost:8080
INFO     2017-03-21 15:07:38,373 admin_server.py:116] Starting admin server at:

所以我转到http://localhost:8000,我可以访问我的本地App Engine管理员控制台并编辑/删除数据存储区实体。

答案 6 :(得分:-1)

在生产中,这也可能派上用场(或者成为安全噩梦)。

# will DELETE the database use http://localhost:8083/deletemodels?force=true
class DeleteModels(webapp.RequestHandler):
    def get(self):

    def dMsg(msg):
      self.response.out.write(msg + '\n')
    n = self.request.get('force')
    if n:
      dMsg('clearing YourModelHere data....')
      for uc in YourModelHere.all():
               uc.delete()
               dMsg('.')
      dMsg('clearing YouNextModelHere data....')           
      for uc in YouNextModelHere.all():
               uc.delete()
               dMsg('.')