App Engine: Comment “reset” sur la banque de données?
Bien, je suis en développement dans App Engine (Java) et après beaucoup d'essais et des déploiements, j'ai besoin de réinitialiser la banque de données. Il y a beaucoup de données aléatoires, j'ai ajouté à la performance de test, et en outre que les entités changé beaucoup de choses, donc j'ai besoin de supprimer toutes les données, tables, index.
Comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
Il n'est pas intégré dans la commande équivalente à DROP TABLE ou TRUNCATE TABLE en SQL. Vous avez juste besoin de créer un "supprimer tout" à la page dans votre application, puis appeler à plusieurs reprises que la page via un script. Dans cette page, vous souhaitez supprimer autant d'entités que vous pouvez encore raisonnablement s'attendre à terminer avant la demande arrive à expiration. Le code exact dépend de si vous utilisez JDO/JPA ou le faible niveau de l'API. (le faible niveau de l'API sera plus rapide, car vous pouvez utiliser les opérations de traitement.)
Ce précédente DONC, la question est à peu près la même, seulement pour Python
Désolé de réveiller ce fil de discussion, mais juste au cas où je voudrais ajouter une astuce pour les noobs comme moi (enfin trouvé la réponse dans google documents) :
Si vous souhaitez réinitialiser le Local de la banque de données (par exemple, tout en développant l'utilisation d'eclipse) à la fois, arrêtez le serveur, de trouver le fichier 'local_db.bin' dans votre projet (doit être dans le dossier WEB-INF/appengine généré par/répertoire), et de le supprimer.
Fonctionne très bien avec java, n'essayez pas avec python encore.
++
De compensation le Serveur de Développement de la banque de données
Le développement web server utilise une version locale de la banque de données pour les tests de votre application, à l'aide de fichiers temporaires. Les données persiste tant que les fichiers temporaires existent, et que le serveur web n'a pas modifié ces fichiers, sauf si vous lui demandez de le faire.
Si vous souhaitez que le serveur de développement pour effacer sa banque de données avant de procéder au démarrage, utilisez l'option --clear_datastore option lors du démarrage du serveur:
À l'aide de la banque de données
--clear_datastore=1
.Juste exécuter une requête sans filtre pour récupérer toutes les entités, et les supprimer un par un.
désolé d'être aussi en retard sur ce point, mais j'essayais juste de faire la même chose moi-même...
Je me suis connecté à mon compte (appengine.google.com) et trouvé l'option pour parcourir la banque de données par le biais d'un utilitaire d'administration (banque de données/dataviewer)... qui permet de créer/mettre à jour/supprimer.
Selon GAE docs vous pouvez supprimer plusieurs objets dans JDO, appelez le PersistenceManager de deletePersistentAll(...) la méthode avec une Collection d'objets.
Supprimer tous les (ou une partie) les données de votre application est maintenant une partie de la console d'administration
Pour activer cette fonctionnalité, il suffit d'activer la suite intégré dans votre application.fichier yaml:
L'ajout de ces lignes à l'app.yaml permet à la “banque de données Administrateur” à la page dans votre application Console d'administration de
Hors contexte pour java dev mais puisqu'il y a peu de documentation voici comment le faire en aller :
Si vous utilisez maven dans votre projet, il vous suffit de faire un "mvn clean install". Qui sera remise à zéro à la banque de données localement bien sûr.
Suppression des données locales peut être fait par l'ouverture de http://localhost:8000/datastore
dans mon cas (travail avec eclipse plugin et jouer au cadre), j'ai dû arrêter l'application, supprimer le dossier /apps/crud-gae/tmp/banque de données, puis redémarrez l'application
il a travaillé pour moi... en travaillant localement, bien sûr...
Lorsque l'on travaille en local, sur Windows 7, le fichier est utilisateurs\nom d'utilisateur\AppData\Local\Temp\dev_appserver.la banque de données de
J'ai été en utilisant app engine avec Google Coursebuilder et a dû utiliser cette commande pour effacer le magasin de données:
Pour ajouter un autre peu d'info utile: Si vous utilisez Eclipse et que vous souhaitez effacer le magasin de données local, regardez pour cette console d'erreur:
Il ne s'affiche après que vous faire quelque chose pour forcer la banque de données d'initialisation, par exemple, qui pourrait être de l'actualisation de la liste des entités sur la page d'administration. Alors arrêtez votre serveur et de supprimer le fichier, et lorsque vous redémarrez, vous devriez voir:
Il ne fonctionne pas pour moi.
J'ai une application GAE où j'ai l'enregistrement de moi au début.
J'ai supprimé mon local_db.fichier bin (j'ai plus les fichiers dans ce dossier: datastore-indexes-auto.xml et local_search.bn). J'ai ré-ouvert mon projet et l'exécuter en tant que. Lorsque je lance ma main .jsp, c'est la demande de chargement de mon magasin de données mais je n'ai pas les données du magasin de données, et me demandant mon PMF (persistant gestionnaire de l'usine).
Devrais-je supprimer plusieurs choses?
Exactement, je suis en train d'essayer d'ouvrir: localhost:8888/_ah/admin/mais il n'est pas trouvé.
Diego.