Hi CRI,
I ran into this as well, however, the Datastore viewer only allows someone to
view a certain number of entries at a time. If you're app has thousands of
saved entities, it can be time consuming to delete them all. I created a few
simple tasks to do this for me. I make these both POSTs and only invoke them
manually from my computer using RESTClient.
NOTE: I'm using objectify.
The first one loops through each class type and calls a servlet to delete each
of that type:
Class[] clazzes = {Operator.class,
DDMessage.class, Event.class,
DailyStatus.class, DocumentGroup.class, Document.class,
StatusCapture.class};
for (Class clazz : clazzes) {
Queue queue = QueueFactory.getQueue("trashcan");
queue.add(withUrl("/deletealloftype")
.param("kind", clazz.getName())
.method(POST));
}
This servlet deletes each item one after another until it hits the deadline,
and then it puts itself back in the task queue.
try {
DAO dao = new DAO();
Class clazz =
Class.forName(request.getParameter("kind"));
Query<Object> query = dao.ofy().query(clazz);
QueryResultIterator<Object> iterator = query.iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
Objectify ofy = dao.fact().beginTransaction();
ofy.delete(o);
ofy.getTxn().commit();
}
} catch (DeadlineExceededException dee) {
Queue queue = QueueFactory.getQueue("trashcan");
queue.add(withUrl("/deletealloftype")
.param("kind",
request.getParameter("kind"))
.method(POST));
}
Hope this helps,
MG
On Dec 29, 2010, at 11:00 AM, Didier Durand wrote:
> Hi,
>
> You can very easily empty your datastore using the Datastore viewer of
> the admin console: you can select and delete all entities from the
> viewer screen.
>
> regards
>
> didier
>
> On Dec 29, 4:52 pm, cghersi <[email protected]> wrote:
>> Hi,
>>
>> I've got an app on GAE with 4 versions, up to now.
>>
>> Until the 4th version I had an entity with an ancestor, so its keys
>> were of the type (EntityID-AncestorID).
>> In the 5th version I changed my design and now this entity hasn't got
>> ancestor any more. Its keys are now simple long values.
>>
>> On my development server all is OK, given that my local datastore has
>> been correctly updated.
>> But with the online app I'm not able to remove the unused indexes and
>> to create entities with the new long key.
>>
>> How may I completely erase my datastore online in order to rebuild it
>> from scratch?
>>
>> Thank you very much!!!
>> Bye
>> CRI
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.