Summary: With release 7.6.1 it is possible to change the database schema based on usage of the open source tool Liquibase. Currently only updating the configdb with the new mechanism is desired. This article gives a short introduction based on an existing sample bundle how to write custom database migration bundles and how to attach your custom statements to those given by Open-Xchange.
Please have a look at liquibase, its features and documentation before writing custom bundles: http://www.liquibase.org/documentation/ . Current available version of liquibase within the Open-Xchange server is 3.0.7.
This article is based on an existing sample bundle located in the public git repository backend-samples. Clone the repository by executing
git clone https://git.open-xchange.com/git/examples/backend-samples
The required bundle is named 'com.openexchange.sample.database.migration'.
Database migrations can only be applied to the configdb!
To execute custom database migration for the configdb you have to track the service com.openexchange.database.migration.DBMigrationExecutorService (default provided within bundle com.openexchange.database.migration).
If you would like to have the Open-Xchange database migrations executed before your custom statements are used you even have to track the service com.openexchange.database.migration.ox.DBMigrationOXExcecutorService which is provided within the bundle com.openexchange.database.migration.ox
Usage of both is shown within the sample bundle.