From 1ff92652a4a52ba300d4a740de9f9054de475447 Mon Sep 17 00:00:00 2001 From: Patrick Gniza Date: Sun, 28 Jun 2026 19:46:20 +0000 Subject: [PATCH] =?UTF-8?q?Database=20Backends=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Database-Backends.md | 92 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Database-Backends.md diff --git a/Database-Backends.md b/Database-Backends.md new file mode 100644 index 0000000..216dfa5 --- /dev/null +++ b/Database-Backends.md @@ -0,0 +1,92 @@ +Willkommen im Wiki.# Database Backends + +Romexis supports multiple database backends. This Docker project currently treats Microsoft SQL Server as the default backend and Firebird as the parallel backend under development. + +--- + +## Backend Identifiers + +| `SERVER_DB` | Backend | +|---|---| +| `5` | Microsoft SQL Server | +| `4` | Firebird | + +--- + +## Initialization Scripts + +The initialization entry point is: + +```text +/opt/init-romexis-db.sh +``` + +This script routes to: + +```text +/opt/init-romexis-mssql-db.sh +/opt/init-romexis-firebird-db.sh +``` + +--- + +## Version-Aware Initialization + +The backend scripts read: + +```text +/opt/romexis/version +``` + +Example: + +```text +6.5.3.444.203 +``` + +They resolve the target schema marker using the explicit Romexis update order. + +Example: + +```text +6.5.3 -> 653 +6.5.2 -> 652 +6.5.1 -> 651 +6.4.x -> 64 +3.8.3 -> 383 +``` + +The scripts do not rely on plain numeric order because Romexis update markers do not sort naturally. + +Example: + +```text +6.0 -> 600 +6.1 -> 610 +6.3 -> 63 +6.4 -> 64 +``` + +--- + +## Maximum Schema Version + +Use: + +```env +ROMEXIS_DB_MAX_VERSION=653 +``` + +If the Romexis version is newer than the configured maximum marker, initialization continues only up to the max marker and prints a warning. + +--- + +## Existing Databases + +If the database already appears initialized, initialization is skipped. + +For MSSQL, this is based on database and user presence. + +For Firebird, this is based on the presence of core Romexis tables. + +Future upgrade logic can be added by reading the existing database schema marker.