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 -~----------~----~----~----~------~----~------~--~---
