Clone
1
Database Backends.de
Patrick Gniza edited this page 2026-08-17 10:48:39 +02:00

Deutsch | English

Datenbank-Backends

Romexis unterstützt mehrere Datenbank-Backends. Dieses Docker-Projekt behandelt Microsoft SQL Server derzeit als Standard-Backend und Firebird über ein eigenes Compose-Override als paralleles Backend.


Auswahl des Compose-Backends

Das Datenbank-Backend wird in .env mit DATABASE_BACKEND und COMPOSE_FILE ausgewählt.

Microsoft SQL Server

DATABASE_BACKEND=mssql
COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=docker-compose.yml:docker-compose.${DATABASE_BACKEND}.yml

Firebird

DATABASE_BACKEND=firebird
COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=docker-compose.yml:docker-compose.${DATABASE_BACKEND}.yml

Das backend-spezifische Compose-Override setzt die tatsächlichen Romexis-Backendvariablen.


Backend-Kennungen

Romexis selbst verwendet intern weiterhin SERVER_DB.

SERVER_DB Backend
5 Microsoft SQL Server
4 Firebird

Im Normalbetrieb sollte SERVER_DB nicht manuell in der Basis-.env gesetzt werden, außer zu Debugzwecken. Das backend-spezifische Compose-Override sollte den Wert setzen.


Backend-Dienste

MSSQL

Das MSSQL-Override startet den Dienst mssql und konfiguriert Romexis für die Verbindung zu:

mssql:1433

Typische Werte:

MSSQL_SA_PASSWORD=Pwr0mex!s!!!
ROMEXIS_DB_NAME=Romexis_db
ROMEXIS_DB_USER=romexis
ROMEXIS_DB_PASSWORD=romexis

Firebird

Das Firebird-Override startet den Dienst firebird und konfiguriert Romexis für die Verbindung über Jaybird.

Typische Werte:

FIREBIRD_USER=sysdba
FIREBIRD_PASSWORD=pwr0mex!
FIREBIRD_DB_PATH=/firebird/data/romexis.fdb

Initialisierungsskripte

Der Einstiegspunkt der Initialisierung ist:

/opt/init-romexis-db.sh

Dieses Skript leitet weiter an:

/opt/init-romexis-mssql-db.sh
/opt/init-romexis-firebird-db.sh

Versionsabhängige Initialisierung

Die Backend-Skripte lesen:

/opt/romexis/version

Beispiel:

6.5.3.444.203

Sie ermitteln die Ziel-Schemamarkierung über die explizite Romexis-Aktualisierungsreihenfolge.

Beispiel:

6.5.3 -> 653
6.5.2 -> 652
6.5.1 -> 651
6.4.x -> 64
3.8.3 -> 383

Die Skripte verlassen sich nicht auf eine rein numerische Reihenfolge, da Romexis-Aktualisierungsmarkierungen keine natürliche Sortierung besitzen.


Maximale Schemaversion

Verwendung:

ROMEXIS_DB_MAX_VERSION=653

Ist die Romexis-Version neuer als die konfigurierte Maximalmarkierung, wird die Initialisierung nur bis zur Maximalmarkierung fortgesetzt und eine Warnung ausgegeben.


Bestehende Datenbanken

Wenn die Datenbank bereits initialisiert erscheint, wird die Initialisierung übersprungen.

Bei MSSQL basiert dies auf dem Vorhandensein von Datenbank und Benutzer.

Bei Firebird basiert dies auf dem Vorhandensein zentraler Romexis-Tabellen.

Zukünftige Upgradelogik kann ergänzt werden, indem die vorhandene Datenbank-Schemamarkierung gelesen wird.