Files

1.7 KiB

M0 Legacy-Datenbankstatus

Stand: 2026-07-11

Entscheidung

Ein alter MS-SQL-Datenbankstand steht aktuell nicht zur Verfügung. Deshalb können schema-export.sql und golden-master-queries.sql derzeit nicht gegen eine echte Legacy-Datenbank ausgeführt werden.

Für die weitere Umstrukturierung gilt daher:

  • Der Legacy-Code ist die primäre Quelle für das fachliche Verhalten.
  • Die Screenshots unter docs/m0/screenshots/ sind die visuelle Referenz.
  • Die MySQL-Testdatenbank ist die rekonstruierte Entwicklungsbasis.
  • Fachliche Golden-Master-Werte werden aus rekonstruierten Testfällen statt aus historischer Produktivdatenbank aufgebaut.

Konsequenz für M1

M1 wird nicht als Vergleich gegen echte Alt-Daten gestartet, sondern als rekonstruierter Golden-Master:

  1. Fachliche Regeln aus dem Code ableiten.
  2. Kleine, kontrollierte Testdaten erzeugen.
  3. Erwartete Salden, Jahreswerte, Striche, Einzahlungen und CSV-Importfälle manuell beziehungsweise per Testskript definieren.
  4. Neue Implementierung gegen diese erwarteten Werte testen.

Wenn später doch noch ein MS-SQL-Dump oder Schemaexport auftaucht, werden die ursprünglichen M0-SQL-Dateien nachträglich genutzt und die Baseline ergänzt.

Aktuelle rekonstruierte Basis

  • MySQL-Dev-Schema: database/mysql-dev-schema.sql
  • Initialisierung: scripts/init-mysql-dev.php
  • Dev-Start: scripts/run-dev-server.sh
  • MySQL-Kompatibilität: lib/sqlsrv_mysql_compat.php

Offene Punkte

  • Soll die MySQL-Testdatenbank ab jetzt die verbindliche Entwicklungsdatenbank für M1/M2 sein?
  • Soll das Ziel weiterhin eine angepasste Legacy-PHP-App sein oder ein sauberer SaaS-Neuaufbau mit übernommener Fachlogik?
  • Welche Testfälle müssen fachlich auf jeden Fall abgedeckt werden?