If you don't have to do it often you can use the following method.

Make a version of the application that displays a page that the site
is temporarily under maintenance. Give an estimate for how long it
will take.
app.yaml redirects all requests to maintenance.py

Find a time of day where the site is less busy.
Make the maintenance version current.
Update version X to the new schema.
Do the update using  urls http://X.latest.myapp.appspot.com
Test the update
Make X the new version.

This is the least hassle, I think.

2009/4/28 Alkis Evlogimenos ('Αλκης Ευλογημένος) <[email protected]>:
> Sometimes you want to make the datastore readonly for users to perform some
> global changes (say schema update).
> How do people achieve this?
> Out of what I can think of:
> - Do you write another version of your application that errors on each
> request that writes to the datastore? This seems error prone and a
> maintenance headache.
> - Do you monkeypatch db.put and db.delete to unconditionally throw an
> exception and make that exception visible to the frontend?
> - Do you use hooks and pre hook datastore operations to throw an exception
> and make that exception visible to the frontend?
> Any other ideas?
> --
>
> Alkis

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to