RDB

Implementation of metadata storage and permissions (if using local user auth/local permissions)

Uses Spring Data JPA and Hibernate for ORM for main db

Tested most with PostgreSQL, should also work for MySQL and others

Currently, a separate database is created for each project, and table for each head of branch. Each table contains pointers to the latest element (json document) for that branch.

Configuration

The following are a list of options to configure the RDB Module for MMS.

spring.datasource.url

The datasource url in jdbc format. Required.

spring.datasource.database

The database name to use for global MMS configuration. Required.

spring.datasource.username

The username to use for authentication. Optional.

spring.datasource.password

The password to use for authentication. Optional.

spring.datasource.driver-class-name

The driver to use for JDBC. Any database driver supported by Spring Data can be used. Required.

spring.datasource.initialization-mode

The initialization mode to use when starting the MMS application. Accepted values are always, embedded, and never. Required.

spring.jpa.properties.hibernate.dialect

The hibernate dialect to use. Required.

spring.jpa.properties.hibernate.dialect.storage_engine

The storage engine to use. Optional.

spring.jpa.hibernate.ddl-auto

The DDL generation option. Accepted values are none, create, create-drop, validate, and update Required.

Required Properties

These properties are required for the MMS application to provide all available features. They are set by default, but are listed here for completeness.

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.open-in-view=false
spring.main.allow-bean-definition-overriding=true