Database setup¶
The Onegini Extension Engine requires a database connection to store and load configuration and custom extension scripts.
Setup the database schema¶
The database schema can be created at the application startup or manually. Flyway is used to do it automatically at startup. This feature is enabled by default. The database user used by the application requires the rights to manipulate the database schema for this feature.
To create the database schema manually via a DBA, Flyway should be disabled by setting the property DATABASE_MIGRATIONS_ENABLED
to false
. All DB schema
files mentioned in the upgrade instructions should be executed.
Configure the database¶
The Onegini Extension Engine supports three different types of database, including Oracle, MySQL, and SQL Server.
Configuring the database type¶
The database type can be selected by setting the DATABASE_TYPE
environment variable. If no type specified, MySQL will be used by default.
Oracle example:
- DATABASE_TYPE=oracle
SQL Server example:
- DATABASE_TYPE=mssql
MySQL example:
- DATABASE_TYPE=mysql
Configuring the database connection¶
Several environment variables must be set in the docker compose file to allow the application to access the database. Properties with a specified default value can be omitted.
Property | Default | Description |
---|---|---|
DATABASE_TYPE |
mysql | The type of the database. |
DATABASE_URL |
The URL of the database. Example: jdbc:mysql://localhost/test . |
|
DATABASE_USERNAME |
The username the application will use to access the database. | |
DATABASE_PASSWORD |
The password for the username above. | |
DATABASE_ENCRYPTION_PASSWORD |
The password used to encrypt sensitive configuration properties. For security purposes, this password should not match that of the database. | |
DATABASE_ENCRYPTION_POOLSIZE |
4 | The poolsize of the Jasypt string encryptor used to encrypt config properties. |
DATABASE_MIGRATIONS_ENABLED |
true |
Whether Flyway migrations are enabled or not. |