ローカルのGoogle App-engineデータストアからすべてのエンティティを削除するにはどうすればよいですか?
-
06-07-2019 - |
質問
dev_appserverですべてのエンティティを削除したり、ローカルデータストアをリセットしたりするにはどうすればよいですか?テスト中に誤って再帰的に関数を呼び出してエンティティを作成しました。
Pythonを搭載したVistaでGoogle App-engine SDKを使用しています。
解決
他のヒント
Javaソリューションのためにここに来た場合:次のファイルを削除します:
{project root} /WEB-INF/appengine-generated/local_db.bin
プロジェクトを再構築して再起動します。
dev_appserver.py [アプリディレクトリ] --clear_datastore true
ポートを解放するために実行中のサーバーをシャットダウンする必要があります
行うべき便利なことは、常に--datastore_pathを指定することです。 --datastore_path = test.datastore。
削除するには、ファイルを削除するだけです。また、コピーを保持し、それらを交換できます。そして、ストアはリブート後も持続します(Linuxでのデフォルトの場所/ tmp /がクリアされた場合)
実稼働中-にアクセスできます appengineダッシュボード=>データストア管理者
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('.')
所属していません StackOverflow