The following handling has been introduced


Database bootstrapping
The OX Guard databases will be created within the first server start after installation of guard based on your configuration made within the guard-core.properties file. Please set all database related values carefully! After the configuration has been set and the server was started the first time all database relevant configurations from guard-core.properties shouldn't get changed anymore to prevent inconsistency and undesired behaviours.

If not yet existing ox guard will create all relevant schemas (guard schema, shard schemata) and tables (on OX user schema) while server startup. This happens based on the config set for 'com.openexchange.guard.dbSchemaBaseName'. Never change this setting after guard has been in production! To create/update schemas on the flow the configured database user (via com.openexchange.guard.databaseUsername) should have appropriate permissions/grants to create schemas.

If you configured a master-slave setup for guard (by setting values for e. g. com.openexchange.guard.oxguardDatabaseHostname and com.openexchange.guard.oxguardDatabaseRead for ox guard schema and/or com.openexchange.guard.oxguardShardDatabase and com.openexchange.guard.oxguardShardRead for all shard schemas) make sure the hosts are available.

Based on that change no explicit '/opt/open-xchange/guard/sbin/guard init' (or with 2.4.0: '/opt/open-xchange/sbin/guard init') call is required any more.

Have a look at the log output while server startup to ensure everything worked fine!


Using of Liquibase for database migration
The mechanism described above is based on the Liquibase framework used and provided by the middleware. To handle the current status Liquibase creates two new tables for on each schema: DATABASECHANGELOG and DATABASECHANGELOGLOCK. Have a look at Oxpedia for a more detailed description of Liquibases usage in the Open-Xchange middleware: https://oxpedia.org/wiki/index.php?title=AppSuiteBMigration


Using the update task mechanism to update OX user schemata
Besides handling guard specific schemas the guard tables that should be available on Open-Xchange user schemas will be created based on the middlewares CreateTable/UpdateTask mechanisms.


Registration of the guard schemas in configdb
Each schema created based on the new bootstrapping mechanism will be registered within the config database. If master-slave setup is configured the slave (and its parameters like URL) will also be registered to associated entry. With that all connections are lying under the control of the middleware. Requested read connections will be routed to the slave and write connections to the master.