60 lines
2.5 KiB
Text
60 lines
2.5 KiB
Text
|
|
=== Database Configuration
|
|
|
|
The configuration for this component lies in the _keycloak-server.json_ file. If you are running in standalone mode, this file is in the _.../standalone/configuration_ directory. If you are running in domain mode this file will live in the _.../domain/servers/{server name}/configuration_ directory.
|
|
|
|
.Database Config
|
|
[source,json]
|
|
----
|
|
"connectionsJpa": {
|
|
"default": {
|
|
"dataSource": "java:jboss/datasources/KeycloakDS",
|
|
"initializeEmpty": false,
|
|
"migrationStrategy": "manual",
|
|
"migrationExport": "${jboss.home.dir}/keycloak-database-update.sql"
|
|
}
|
|
},
|
|
----
|
|
|
|
Possible configuration options are:
|
|
|
|
dataSource::
|
|
JNDI name of the dataSource
|
|
|
|
jta::
|
|
boolean property to specify if datasource is JTA capable
|
|
|
|
driverDialect::
|
|
Value of database dialect.
|
|
In most cases you don't need to specify this property as dialect will be autodetected by Hibernate.
|
|
|
|
initializeEmpty::
|
|
Initialize database if empty. If set to false the database has to be manually initialized. If you want to manually initialize the database set migrationStrategy to `manual` which will create a file with SQL commands to initialize the database. Defaults to true.
|
|
|
|
migrationStrategy::
|
|
Strategy to use to migrate database. Valid values are `update`, `manual` and `validate`. Update will automatically migrate the database schema. Manual will export the required changes to a file with SQL commands that you can manually execute on the database. Validate will simply check if the database is up-to-date.
|
|
|
|
migrationExport::
|
|
Path for where to write manual database initialization/migration file.
|
|
|
|
databaseSchema::
|
|
Specify if schema should be updated or validated.
|
|
Valid values are `update` (default) and `validate`. The `update` value will set up or update
|
|
the table definitions that {{book.project.name}} needs. `validate` just makes sure that the database has
|
|
the appropriate table definitions set up.
|
|
|
|
showSql::
|
|
Specify whether Hibernate should show all SQL commands in the console (false by default). This is very verbose!
|
|
|
|
formatSql::
|
|
Specify whether Hibernate should format SQL commands (true by default)
|
|
|
|
globalStatsInterval::
|
|
Will log global statistics from Hibernate about executed DB queries and other things.
|
|
Statistics are always reported to server log at specified interval (in seconds) and are cleared after each report.
|
|
|
|
schema::
|
|
Specify the database schema to use
|
|
|
|
NOTE: All these configuration switches and more are described in the link:{{book.appserver.jpa.link}}[{{book.appserver.jpa.name}}].
|
|
|