すべてのエンティティを削除したり、dev_appserver のローカル データストアをリセットするにはどうすればよいですか? テスト時にエンティティを作成する関数を誤って再帰的に呼び出してしまいました。
Vista で Python を使用して Google App-engine SDK を使用しています。
すべてのエンティティを削除したり、dev_appserver のローカル データストアをリセットするにはどうすればよいですか? テスト時にエンティティを作成する関数を誤って再帰的に呼び出してしまいました。
Vista で Python を使用して Google App-engine SDK を使用しています。
Java ソリューションを求めてここに来た場合: 次のファイルを削除します。
{project root}/WEB-INF/appengine-generated/local_db.bin
プロジェクトを再構築して再起動します。
--datastore_path=test.datastore のように、常に --datastore_path を指定すると便利です。
それを削除するには、ファイルを削除するだけです。また、コピーを保持し、それらを交換することもできます。また、ストアは再起動後も保持されます (/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 管理コンソールに移動して、データストア エンティティを編集/削除できます。
本番環境では、appengine ダッシュボード => データストア管理者に移動できます
本番環境では、これも便利になる可能性があります (またはセキュリティの悪夢になる可能性があります)。
# 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('.')