Как удалить все объекты из локального хранилища данных Google App-engine?
Как удалить все объекты или сбросить локальное хранилище данных на моем dev_appserver? Я случайно рекурсивно вызвал функцию для создания сущности при тестировании.
Я использую Google App-engine SDK на Vista с Python.
7 ответов
dev_appserver.py --clear_datastore=yes myapp
посмотреть здесь для получения дополнительной информации.
сокращенный вариант:
dev_appserver.py -c
Если вы пришли сюда Java-решение: удалить следующий файл:
{project root}/WEB-INF/appengine-generated/local_db.bin
восстановить и перезапустить проект.
dev_appserver.py [каталог приложений] --clear_datastore true
вам нужно выключить сервер, если он работает в то время, чтобы освободить порты
полезно всегда указывать --datastore_path, например --datastore_path=test.хранилище данных.
чтобы удалить его, вы можете просто удалить файл. Вы также можете хранить копии и менять их местами. И магазин будет сохраняться над перезагрузками (когда /tmp/ местоположение по умолчанию для него в Linux в любом случае очищается)
вот мой вывод после запуска 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 и редактировать/удалять объекты хранилища данных.
в производстве, это также может пригодиться (или быть кошмаром безопасности).
# 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('.')