Skip to content

ORM Spiegel

Matthias Schabhüttl edited this page Jun 12, 2026 · 1 revision

🪞 ORM-Spiegel

Der ORM-Spiegel ist eine schreibgeschützte Abbild-Datenbank der SP5-DBF-Tabellen auf Basis des ORM der libopenschichtplaner5. Die DBF-Dateien bleiben dabei immer die führende Datenquelle — der Spiegel ist der schrittweise Migrationspfad von DBF zu einer modernen relationalen Datenbank.

ORM-Spiegel


Admin-Seite /orm-mirror

Die Seite ORM-Spiegel (Administration, nur für Admins sichtbar) zeigt den Status der Spiegel-Datenbank:

  • Spiegel-Datenbank — vorhanden oder noch nicht angelegt
  • Tabellen — Anzahl der gespiegelten Tabellen (alle 19 unterstützten DBF-Tabellen)
  • Zeilen gesamt — Gesamtzahl der gespiegelten Datensätze

Die Tabelle darunter listet jede gespiegelte Tabelle mit Zeilenzahl und Zeitpunkt der letzten Synchronisierung. Mit „Jetzt synchronisieren" wird der Spiegel aus den DBF-Daten neu aufgebaut.

Gespiegelte Tabellen

Der Spiegel umfasst den vollen DBF-Bestand — Stammdaten (Mitarbeiter, Gruppen und Zuordnungen, Schichtarten, Abwesenheitsarten, Arbeitsplätze), Kalenderdaten (Feiertage, Perioden), Planeinträge (Dienste, Sonderdienste, Abwesenheiten), Zeitwirtschaft (Buchungen, Überstunden, Urlaubsansprüche) und Planungsdaten (Personalbedarf, besonderer Bedarf, Schichtmodelle/Zyklen, Zyklus-Zuordnungen, Einschränkungen).

API-Endpunkte

Alle Endpunkte liegen unter /api/admin/orm und erfordern die Admin-Rolle:

Methode Endpunkt Beschreibung
POST /api/admin/orm/sync Spiegel aus den DBF-Daten (neu) aufbauen — alle 19 Tabellen
GET /api/admin/orm/status Status ohne Neu-Sync: Existenz der Spiegel-DB, Zeilenzahl je Tabelle, Gesamtzeilen
GET /api/admin/orm/shifts, /leave-types, /workplaces, … Lesezugriff auf die gespiegelten Definitionen (mit include_hidden-Option)
GET /api/admin/orm/shift-assignments, /special-shifts, /absences Planeinträge, filterbar über date_from/date_to und employee_id
GET /api/admin/orm/holidays, /periods Kalenderdaten (Feiertage optional je year inkl. wiederkehrender Termine)
GET /api/admin/orm/bookings, /overtime, /leave-entitlements Zeitwirtschaft, filterbar nach Zeitraum/Mitarbeiter bzw. Jahr
GET /api/admin/orm/shift-demands, /special-demands, /cycles, /cycle-assignments, /restrictions Planungsdaten

📖 Vollständige Parameter-Referenz: REST-Referenz im API-Wiki

Technischer Hintergrund

  • Der Spiegel wird in einer eigenen SQLite-Datenbank (sp5_orm.db) neben dem DBF-Datenverzeichnis materialisiert; das ORM der Library selbst ist backend-agnostisch (SQLite und PostgreSQL)
  • ORM-Modelle, Repositories und die Sync-Logik stammen aus der libopenschichtplaner5 — siehe Datenbankformat im Library-Wiki
  • Der Sync ist tolerant gegenüber unsauberen Altdaten (z. B. verwaiste Fremdschlüssel oder doppelte Gruppenzuordnungen werden übersprungen bzw. dedupliziert)

➡️ Verwandte Seiten: Datenbankformat | PostgreSQL-Support | Administration

🧸 OpenSchichtplaner5 v1.2.0

Home — Startseite


🚀 Einstieg


📊 Dashboard

  • Dashboard — Charts, Widgets & Performance

📅 Planung


📄 Berichte & Daten


🗃️ Stammdaten


🔗 Integrationen


⚙️ Administration


📱 Features


🔗 Links


📚 Verwandte Wikis

Clone this wiki locally