5

Digamos que diseña las clases de su modelo de App Engine de una manera particular, pone su código en producción y permite a los usuarios interactuar con su aplicación durante un tiempo, generando datos en el almacén de datos de App Engine.¿Cómo concilia los datos de producción existentes con un cambio de esquema en App Engine?

Ahora, supongamos que decide realizar un cambio en una de sus clases de modelo.

Hay un proceso recomendado para hacer esto, en mi caso en una aplicación Java, de modo que cuando el nuevo código se ponga en producción, no cause que la aplicación se rompa mientras se ejecuta con los datos preexistentes que tiene el viejo esquema?

Por ejemplo, ¿debería descargar sus datos de producción y probarlos antes de cargar cualquier código nuevo en la producción?

¿Cuáles son las mejores prácticas para este tipo de problema?

+0

La respuesta correcta a menudo dependerá de cuánto hayan cambiado sus datos y qué tan rígido sea su marco de acceso a los datos. el almacén de datos en sí no tiene esquemas, por lo que no le importa. –

+0

objectify ofrece este http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Migrating_Schemas – systempuntoout

Respuesta

2

Un enfoque, si su cambio de esquema lo permite, es retrasar la fabricación de la versión que requiere el cambio de esquema predeterminado hasta que se realice el cambio de esquema.

Cargue la nueva versión, déjela reposar durante un tiempo mientras se actualizan los índices, y luego ejecute un mapreduce para tocar (y migrar) las entidades que necesiten actualizarse. Cuando haya terminado, cree la nueva versión predeterminada.

Cuestiones relacionadas