views:

29

answers:

2

Hi, I'm testing my app with the development server. When I manually interrupt a request, it sometimes clears the datastore. This clears even models that are not modified by my request, like users, etc.

Any idea why is this? Thanks

A: 

The GAE development data store is only functionally equivalent to the production data store. It's really just a file (or set of files) on your local disk simulating BigTable. So if you abort it in the middle of doing something important, it could end up in an inconsistent state.

If you're concerned about this, you can easily back up your local data store and restore it if this happens.

dkamins
+2  A: 

I would recommend using the SQLite stub, instead of the default file-based stub, in your SDK; read all about it in this blog entry by Nick Johnson, who made it. Just pass flag --use_sqlite=true to dev_appserver.py to gain all of SQLite goodness (including, at least in design intent, no datastore wiping on crashes).

Alex Martelli