company logo

Schema versioning

Schema versioning is a typical application for Managed versioning. Since online schema evolution requires at least the previous and the current schema version, this problem can be solved simply by using major database versions.

When considering the complex relationships in an ODABA dictionary, it becomes obvious that it does not make sense to create versions of a single complex data type. By creating schema versions, which are object space versions for the dictionary, the complete state of the dictionary including type definitions, actions, method definitions, forms and many other project resources, are preserved.

Using object space versions for creating schema versions enables ODABA to support online schema evolution, which means, that databases need not to be reorganized after schema modifications. Instead, old instances are converted from older schema versions to the current type definition. Schema evolution is supported for any number of schema versions.