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 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/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