Skip to content

Explain schema evolution #7

Open
@tv42

Description

@tv42

Go-specific details:

The idea is that if you have message Person v1 and message Person v2, the code gen would include an interface which is implemented by both (with fields getting default values where missing), so consuming code doesn't need to care which one it received.

An Envelope would include one number for Person v1 and another for Person v2.

Code that cares about types can type switch. Code that knows it'll always see Person v2 can skip the interface level and ask to view the right concrete type directly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions