Hinweise zu Datenbanken#

Dieses Kapitel beschreibt, wie eine leere Datenbank für Allegra eingerichtet wird für die offiziell unterstützten Datenbanksysteme.

Unterstützte Datenbanksysteme#

Allegra wurde mit den folgenden Datenbanksystemen getestet:

  • PostgreSQL: 18.x (empfohlen)

  • Microsoft SQL Server: 2017, 2019, 2022

  • MySQL/MariaDB: MySQL 8.4 LTS

  • Oracle: 19c

Hinweis

Allegra wird mit JDBC-Treibern für MySQL/MariaDB, PostgreSQL und MS SQL Server ausgeliefert.

PostgreSQL#

Allegra benötigt eine eigene PostgreSQL-Datenbank und einen dedizierten Datenbankbenutzer. Führen Sie die folgenden Befehle direkt in psql als Superuser (z. B. postgres) aus.

1) Benutzerrolle anlegen

CREATE ROLE allegra LOGIN PASSWORD '<SICHERES_PASSWORT>';

2) Datenbank erstellen (UTF-8, Besitzer allegra)

CREATE DATABASE allegra
  WITH OWNER = allegra
       ENCODING = 'UTF8'
       LC_COLLATE = 'C.UTF-8'
       LC_CTYPE   = 'C.UTF-8'
       TEMPLATE   = template0;

3) Mit der neuen Datenbank verbinden

\c allegra

4) Schema-/Objektrechte setzen (Pflicht)

GRANT ALL PRIVILEGES ON DATABASE allegra TO allegra;

ALTER SCHEMA public OWNER TO allegra;

GRANT ALL PRIVILEGES ON ALL TABLES    IN SCHEMA public TO allegra;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO allegra;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO allegra;

ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT ALL PRIVILEGES ON TABLES    TO allegra;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT ALL PRIVILEGES ON SEQUENCES TO allegra;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT ALL PRIVILEGES ON FUNCTIONS TO allegra;

Bemerkung

Ersetzen Sie <SICHERES_PASSWORT>. Wenn C.UTF-8 auf Ihrem System nicht existiert, verwenden Sie eine vorhandene UTF-8-Locale (z. B. de_DE.UTF-8 oder en_US.UTF-8).

MS SQL Server#

Allegra unterstützt Microsoft SQL Server über den offiziellen JDBC-Treiber (com.microsoft.sqlserver.jdbc.SQLServerDriver).

Für die Einrichtung der Datenbank folgen Sie den üblichen Best Practices Ihrer Organisation (z. B. Anlegen eines dedizierten Benutzers, Erstellen einer Datenbank, Zuweisen der entsprechenden Rollen sowie Einrichten von Backups und Monitoring).

MySQL and MariaDB#

Allegra supports MySQL and MariaDB. For database provisioning, follow your organization’s standard SQL best practices (create a dedicated login/user, create a database, assign the appropriate role, configure backups/monitoring).

Oracle#

Um Oracle-Datenbanken zu verwenden, müssen Sie einen kompatiblen JDBC-Treiber bereitstellen. Kopieren Sie die Treiberdatei in das Verzeichnis <INSTALLATION_DIRECTORY>/lib und starten Sie Allegra anschließend neu.

Datenbankverbindung konfigurieren#

Allegra stellt die Verbindung zu der zuvor erstellten Datenbank über die Konfiguration in der Datei <INSTALLATION_DIRECTORY>/conf/application.properties her.

Sie können die Datenbankverbindung interaktiv einrichten oder aktualisieren mit:

./allegra.sh setup-db     # Datenbankverbindung konfigurieren
# allegra.bat setup-db

Dieser Befehl schreibt die wichtigsten Datenbankeigenschaften in die Konfigurationsdatei.

Beispielkonfiguration:

# Datenbankkonfiguration
allegra.db.adapter  = postgresql
allegra.db.driver   = org.postgresql.Driver
allegra.db.url      = jdbc:postgresql://localhost:5432/allegra
allegra.db.username = allegra
allegra.db.password = secret

Stellen Sie sicher, dass Datenbankname, Benutzername und Passwort den zuvor angelegten Zugangsdaten entsprechen. Der JDBC-Treiber und die Verbindungs-URL müssen zum verwendeten Datenbanktyp passen (PostgreSQL, MySQL, SQL Server, Oracle usw.).

Nach Änderungen an der Konfiguration starten Sie Allegra neu, damit diese wirksam werden.