It is perfectly possible to alter a PolyModel inheritance tree and then migrate the existing entities to the new tree. Without running a migration, the data will get deserialized from bigtable with just the fields of the class which is the parent of the changes.
In the following example code, I will alter the tree from
GrandParent -> Child to
GrandParent -> Parent -> Child,
and add the intermediary
Parent class to the
class_ field where
the inheritance path is tracked. If I did not run the migration, then we
would just see those fields that exist on
View GitHub Gist.
117 words. Post tags: database, model, Google App Engine, PolyModel, inheritance, migrate, and python.