Как удалить все объекты или reset локальное хранилище данных на моем dev_appserver? Я случайно рекурсивно называю функцию для создания объекта при тестировании.
Я использую SDK Google App Engine для Vista с Python.
Как удалить все объекты или reset локальное хранилище данных на моем dev_appserver? Я случайно рекурсивно называю функцию для создания объекта при тестировании.
Я использую SDK Google App Engine для Vista с Python.
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.datastore.
Чтобы удалить его, вы можете просто удалить файл. Вы также можете хранить копии и менять их. И хранилище будет сохраняться после перезагрузки (когда/tmp/местоположение по умолчанию для него на Linux в любом случае очищается)
В производстве - вы можете пойти в appengine dashboard = > Datastore admin
Вот мой вывод после запуска 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('.')