When updating a GAE app, the best way to update a data model?
The application version number allows you to split multiple versions, but these application versions use the same data store (according to How do I change the application after deployment in Google App Engine? ). So what happens when I download a version of an application with a different data model (I think python is here, but the question should also be valid for Java)? I think this should not be a problem if the changes add a field with a null value and some new classes, so the existing model can be extended without harm. But what if a data model change is deeper? Am I really losing existing data if it becomes incompatible with the new data model?
The only option that I see at the moment is putting the data warehouse in read-only maintenance mode, converting the data offline and deploying the whole again.
source share