2011-12-15 14 views

Respuesta

15

Google diseñados protobuf a ser bastante indulgente con control de versiones:

  • inesperada de datos o bien se almacena como "extensiones" (lo que es de ida y vuelta segura), o en silencio cayeron, dependiendo de la implementación
  • nuevos campos se añaden generalmente como "opcional", lo que significa que los datos antiguos se pueden cargar con éxito
embargo

:

  • no cambiar la numeración de los campos - que rompería los datos existentes
  • Normalmente no debería cambiar la forma en cualquier campo se almacena (es decir, desde un fijo, con 32 bits int a un "varint")

En términos generales, sin embargo - que se acaba de trabajar , y usted no tiene que preocuparse mucho acerca de versiones.

+0

¿Presumiblemente, eliminar _required_ fields también generaría problemas? –

+0

@jon sería pasar datos a un cliente que todavía lo considera necesario –

+0

@MarcGravell me puede dar algún ejemplo de manejo de versiones de protobuf – Hunt

Cuestiones relacionadas