The following information applies to the SQL repository implementation (currently the only one).
Database schema version is an indication of a version of the database schema, i.e. the structure of database tables, indices, constraints, and so on. Because the schema usually changes with each midPoint minor version (3.8, 3.9, 4.0, and so on), the common situation is that database version is the same as the midPoint minor version that works with the database.
There are some exceptions, though:
- The database schema can stay unchanged on midPoint minor version change. For example, when going from 4.0 to 4.1 there were no DB schema changes. In this case, the database schema version 4.1 does not exist, and midPoint 4.1 works with the schema version 4.0. (If there will be some changes in midPoint database schema in 4.2, then midPoint 4.2 will work with database schema 4.2. If there will be none, midPoint 4.2 will work with the schema version 4.0.)
- The database schema can change with midPoint maintenance release. Although this is quite unusual, it can occur. For example, midPoint 3.7.1 used schema version 3.7, but 3.7.2 brought some minor changes, so the database schema used is labeled as 3.7.2.
Note: During development of a midPoint minor release there are usually some database schema changes that are gathered incrementally. These are currently not versioned; but we expect to devise some schema for their versioning in the future.
Recent database schema versions are summarized in the following table:
|midPoint version||Database schema version||Note|
|4.1||4.0||Content change (see note below)|
Note: Sometimes - very exceptionally - there are changes in the way how data are stored without schema as such being changed. This is the case of 4.0 → 4.1 upgrade, where "incomplete" flag was added for some items. Please see a discussion for this in 4.1 release notes and this commit.