33

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

我在带有 Python 的 Vista 上使用 Google App-engine SDK。

4

7 回答 7

31
dev_appserver.py --clear_datastore=yes myapp

请参阅此处了解更多信息。

速记版本:

dev_appserver.py -c
于 2009-06-18T03:06:45.373 回答
20

如果您来这里是为了Java 解决方案:删除以下文件:

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

重建并重新启动您的项目。

于 2013-04-09T08:59:06.600 回答
4

dev_appserver.py [应用目录] --clear_datastore true

如果服务器当时正在运行,则需要关闭服务器以释放端口

于 2013-12-20T09:02:49.553 回答
2

一个有用的做法是始终指定--datastore_path,例如--datastore_path=test.datastore。

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

于 2010-03-25T15:36:32.870 回答
0

在生产中 - 您可以转到 appengine 仪表板 => 数据存储区管理员

于 2012-03-27T08:14:31.060 回答
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 管理控制台并编辑/删除数据存储实体。

于 2017-03-21T15:14:01.247 回答
-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('.')     
于 2011-05-06T11:06:51.413 回答