Migration Principle

The general migration principle is as follows:

Enumerations

  • parse all EP V1 Enums and create EP V2 Enums and 1 Version

    • all EP V2 Enums are created within a single EP V2 Application Domain which is configurable

    • all EP V2 Enums are shared

Application Domains

  • for each EP V1 Application Domain:

    • create an EP V2 Application Domain

      • if an EP V2 applicationDomainPrefix is configured, the CLI prepends the prefix to each Application Domain Name

        Note

        Note: this is useful for test runs, as it allows for a quick undo of the migration run by deleting all EP V2 Application Domains starting with the prefix.

      • if a EP V1 Topic Domain is configured, it is migrated to EP V2

        Note

        EP V2 Topic Domains have restrictions such as if configured with a variable, it must be an Enum. See also Known Limitations.

    • parse all EP V1 Schemas and create EP V2 Schema Objects & 1 Version.

    • parse all EP V1 Events and create EP V2 Events and 1 Version.

    • parse all EP V1 Applications and create EP V2 Applications and 1 Version.

Existing Objects & Versioning

The CLI also works if EP V2 already has the same Application Domain(s) and/or Objects & Versions defined.

In case an existing object/version is found, the following logic is applied:

  • check if the EP V1 object is different to the existing EP V2 object

    • if yes, update the object

  • check if the EP V1 object is different to the existing EP V2 version:

    • if yes, create a new EP V2 version

      • note: the new version number is defined by the versionStrategy configuration option