# 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?
