Files structure

As mentioned before, we should support all versions matching old-stable, stable and master, which translates to two main versions behind current-version, that is version: current-version - 2). This results in having 3 versions of the schema in the repository at any given time (two of them being ``upgrades'' to the oldest, base schema):

  • current-version minus 2: base schema
  • current-version minus 1: all changes from current-version minus 2 to current-version minus 1
  • current-version: all changes from current-version minus 1 to current-version


current-version MUST always match version of the component (defined in pom.xml).


It’s possible to have multiple files within version (related to smaller, maintenance upgrade) as the SchemaLoader would collect all files which version falls within range and .

For example with the release of version 8.0.0 this will translate to following versions:

  • 7.0.0: base schema
  • 7.1.0: all changes from 7.0.0 to 7.1.0
  • 8.0.0: all changes from 7.1.0 to 8.0.0


All schema files must be stored under src/main/database/