The SAML MCM uses Spring Boot and Spring JPA for database configuration. Out of the box it ships with JDBC drivers for H2, MariaDB, Mysql, SQL Server and Postgres.
With no custom database configuration the application will default to an embedded in-memory H2 database which will be cleared out on application exit.
application.yml:
database configuration spring:
profiles:
include:
datasource:
platform: mysql
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://db:3306/shibui
username: shibui
password: shibui
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MariaDB103Dialect
----------------------------------------------------------------
spring:
profiles:
include:
datasource:
platform: mysql
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://db:3306/shibui
username: shibui
password: shibui
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL8Dialect
----------------------------------------------------------------
spring:
profiles:
include:
datasource:
platform: postgres
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://db:5432/shibui
username: shibui
password: shibui
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQL95Dialect
----------------------------------------------------------------
spring:
profiles:
include:
datasource:
platform: sqlserver
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://db:1433;databaseName=shibui
username: shibui
password: shibui
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.SQLServerDialect
|
application.properties:
# Database Credentials spring.datasource.username=shibui spring.datasource.password=shibui # Database Configuration H2 spring.datasource.url=jdbc:h2:mem:shibui;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE spring.datasource.platform=h2 spring.datasource.driverClassName=org.h2.Driver spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.h2.console.enabled=true # Database Configuration MariaDB #spring.datasource.url=jdbc:mariadb://localhost:3306/shibui #spring.datasource.driverClassName=org.mariadb.jdbc.Driver #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDB103Dialect # Database Configuration PostgreSQL #spring.datasource.url=jdbc:postgresql://localhost:5432/shibui #spring.datasource.driverClassName=org.postgresql.Driver #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL95Dialect # Database Configuration Mysql #spring.datasource.url=jdbc:mysql://localhost:3306/shibui #spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Mysql8Dialect # Database Configuration SQLServer #spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=shibui #spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect # Liquibase properties spring.liquibase.enabled=false #spring.liquibase.change-log=classpath:edu/internet2/tier/shibboleth/admin/ui/database/masterchangelog.xml # Hibernate properties # for production never ever use create, create-drop. It's BEST to use validate spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl spring.jpa.show-sql=false spring.jpa.properties.hibernate.format_sql=false spring.jpa.hibernate.use-new-id-generator-mappings=true