M0 Check DB Testdata

This commit is contained in:
2026-07-12 00:12:02 +02:00
parent 2e6d79e896
commit d9e70ce353
19 changed files with 886 additions and 28 deletions
+14 -10
View File
@@ -13,9 +13,9 @@ Design-Erhalt und fachliche Vergleichstests.
| Code-Inventar | begonnen | Siehe `code-inventory.md` |
| Prozesslandkarte | begonnen | In `code-inventory.md` enthalten |
| Sicherheitsbaseline | begonnen | Siehe `security-baseline.md` |
| DB-Schema-Export | vorbereitet | Siehe `schema-export.sql` |
| Golden-Master-Auswertungen | vorbereitet | Siehe `golden-master-queries.sql` |
| Design-/Screenshot-Referenz | vorbereitet | Siehe `screenshot-checklist.md` |
| DB-Schema-Export | nicht aus Alt-DB verfuegbar | Siehe `legacy-db-status.md` |
| Golden-Master-Auswertungen | nicht aus Alt-DB verfuegbar | Siehe `legacy-db-status.md` |
| Design-/Screenshot-Referenz | teilweise geliefert | Siehe `screenshot-checklist.md` |
## Lokal abgeschlossen
@@ -25,6 +25,10 @@ Design-Erhalt und fachliche Vergleichstests.
- Sicherheitsrisiken fuer M0 inventarisiert.
- SQL-Vorlagen fuer Schema- und Golden-Master-Export angelegt.
- Screenshot-Checkliste fuer Design-Erhalt angelegt.
- Erste Screenshot-Referenzen unter `docs/m0/screenshots/` abgelegt.
- Festgelegt: Ein alter MS-SQL-Datenbankstand steht aktuell nicht zur
Verfuegung; M0 arbeitet deshalb mit Code, Screenshots und rekonstruierter
MySQL-Dev-Datenbank als Ausgangsbasis.
## Lokale Einschraenkungen
@@ -38,17 +42,17 @@ Design-Erhalt und fachliche Vergleichstests.
Diese Punkte kann ich ohne externe Informationen nicht abschliessen:
1. Live- oder Staging-DB-Schema exportieren.
2. Tabellen, Spalten, Indizes, Constraints und Rowcounts verifizieren.
3. Golden-Master-Ergebnisse gegen echte Daten berechnen.
4. Screenshots der echten App-Zustaende aufnehmen, falls die App lokal nicht
lauffaehig ist.
5. Produktivumgebung dokumentieren: PHP-Version, Webserver, SQL-Server-Version,
1. Falls spaeter doch noch ein MS-SQL-Dump auftaucht: Schema und
Golden-Master-Werte nachtraeglich exportieren.
2. MySQL-Dev-Schema als neue rekonstruierte Baseline weiter verifizieren.
3. Fehlende Screenshot-Zustaende nachreichen oder bewusst als optional markieren.
4. Produktivumgebung dokumentieren: PHP-Version, Webserver, SQL-Server-Version,
Auth-Setup, Cron/Job-Ausfuehrung.
## Was ich von dir brauche
Bitte stelle eines der folgenden Pakete bereit:
Falls ein alter MS-SQL-Stand spaeter noch auftaucht, bitte eines der folgenden
Pakete bereitstellen:
- Idealerweise: einen anonymisierten SQL-Server-Schemaexport plus Rowcounts.
- Alternativ: Zugriffsdaten zu einer Test-/Staging-DB, nicht zu Produktion.
+47
View File
@@ -0,0 +1,47 @@
# M0 Legacy-Datenbankstatus
Stand: 2026-07-11
## Entscheidung
Ein alter MS-SQL-Datenbankstand steht aktuell nicht zur Verfuegung. Deshalb
koennen `schema-export.sql` und `golden-master-queries.sql` derzeit nicht gegen
eine echte Legacy-Datenbank ausgefuehrt werden.
Fuer die weitere Umstrukturierung gilt daher:
- Der Legacy-Code ist die primaere Quelle fuer 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 Testfaellen statt aus
historischer Produktivdatenbank aufgebaut.
## Konsequenz fuer 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-Importfaelle
manuell beziehungsweise per Testskript definieren.
4. Neue Implementierung gegen diese erwarteten Werte testen.
Wenn spaeter doch noch ein MS-SQL-Dump oder Schemaexport auftaucht, werden die
urspruenglichen M0-SQL-Dateien nachtraeglich genutzt und die Baseline ergaenzt.
## 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-Kompatibilitaet: `lib/sqlsrv_mysql_compat.php`
## Offene Punkte
- Soll die MySQL-Testdatenbank ab jetzt die verbindliche Entwicklungsdatenbank
fuer M1/M2 sein?
- Soll das Ziel weiterhin eine angepasste Legacy-PHP-App sein oder ein sauberer
SaaS-Neuaufbau mit uebernommener Fachlogik?
- Welche Testfaelle muessen fachlich auf jeden Fall abgedeckt werden?
+32 -18
View File
@@ -16,23 +16,38 @@ aktuellen Umgebung geliefert werden.
## Kernseiten
| Prioritaet | Seite | Rolle | Zweck |
| --- | --- | --- | --- |
| Hoch | `index.php` | Mitglied | Dashboard, Saldo, Jahreswerte, eigene Striche, PayPal |
| Hoch | `index.php` | Admin | Dashboard mit Admin-Sidebar |
| Hoch | `kaffeeliste.php` | Admin | Gesamtuebersicht und Aktionsleiste |
| Hoch | `stricheintragen.php` | Admin | Sammelerfassung Striche |
| Hoch | `einzahlung.php` | Admin | Sammelerfassung Einzahlungen |
| Hoch | `mitarbeiterverwalten.php` | Admin | Mitgliederliste und Formular |
| Hoch | `letzteneintraege.php` | Admin | Korrekturansicht mit Loeschaktionen |
| Mittel | `csvupload.php` | Admin | CSV-Upload-Formular und Ergebniszustand |
| Mittel | `hinweise.php` | Admin | Hinweise anlegen und Liste |
| Mittel | `faq.php` | Mitglied | FAQ-Inhalte und Typografie |
| Mittel | `namenanpassen.php` | Mitglied | Formular fuer Anzeigenamen |
| Niedrig | `teilnehmerauswertung.php` | Admin | Detailauswertung pro Teilnehmer |
| Niedrig | `mailausgebe.php` | Admin | Mail-/Adressausgabe |
| Niedrig | `umfrage.php` | Mitglied | Randmodul, falls SaaS-relevant |
| Niedrig | `umfrageergebnisse.php` | Admin | Randmodul, falls SaaS-relevant |
| Prioritaet | Seite | Rolle | Status | Zweck |
| --- | --- | --- | --- | --- |
| Hoch | `index.php` | Mitglied | vorhanden: `m0-member-dashboard-desktop.png`, `m0-member-dashboard-mobile.png` | Dashboard, Saldo, Jahreswerte, eigene Striche, PayPal |
| Hoch | `index.php` | Admin | aktuell identisch wie Mitglied | Dashboard mit Admin-Sidebar |
| Hoch | `kaffeeliste.php` | Admin | vorhanden: `m0-admin-kaffeeliste-desktop.png` | Gesamtuebersicht und Aktionsleiste |
| Hoch | `stricheintragen.php` | Admin | vorhanden: `m0-admin-stricheintragen-desktop.png` | Sammelerfassung Striche |
| Hoch | `einzahlung.php` | Admin | vorhanden: `m0-admin-einzahlung-desktop.png` | Sammelerfassung Einzahlungen |
| Hoch | `mitarbeiterverwalten.php` | Admin | vorhanden: `m0-admin-mitglieder-desktop.png` | Mitgliederliste und Formular |
| Hoch | `letzteneintraege.php` | Admin | vorhanden: `m0-admin-letzteneintraege-desktop.png` | Korrekturansicht mit Loeschaktionen |
| Mittel | `csvupload.php` | Admin | vorhanden: `m0-admin-csv-upload-desktop.png` | CSV-Upload-Formular und Ergebniszustand |
| Mittel | `hinweise.php` | Admin | vorhanden: `m0-admin-hinweise-desktop.png` | Hinweise anlegen und Liste |
| Mittel | `faq.php` | Mitglied | vorhanden: `m0-member-faq-desktop.png` | FAQ-Inhalte und Typografie |
| Mittel | `namenanpassen.php` | Mitglied | offen | Formular fuer Anzeigenamen |
| Niedrig | `teilnehmerauswertung.php` | Admin | offen | Detailauswertung pro Teilnehmer |
| Niedrig | `mailausgebe.php` | Admin | offen | Mail-/Adressausgabe |
| Niedrig | `umfrage.php` | Mitglied | offen, falls SaaS-relevant | Randmodul, falls SaaS-relevant |
| Niedrig | `umfrageergebnisse.php` | Admin | offen, falls SaaS-relevant | Randmodul, falls SaaS-relevant |
## Gelieferte Dateien
```text
docs/m0/screenshots/m0-admin-einzahlung-desktop.png
docs/m0/screenshots/m0-admin-csv-upload-desktop.png
docs/m0/screenshots/m0-admin-hinweise-desktop.png
docs/m0/screenshots/m0-admin-kaffeeliste-desktop.png
docs/m0/screenshots/m0-admin-letzteneintraege-desktop.png
docs/m0/screenshots/m0-admin-mitglieder-desktop.png
docs/m0/screenshots/m0-admin-stricheintragen-desktop.png
docs/m0/screenshots/m0-member-dashboard-desktop.png
docs/m0/screenshots/m0-member-dashboard-mobile.png
docs/m0/screenshots/m0-member-faq-desktop.png
```
## Zustaende
@@ -71,4 +86,3 @@ docs/m0/screenshots/
Vor dem Commit sollten Screenshots anonymisiert sein. Wenn echte Namen,
E-Mails, PayPal-Daten oder Salden sichtbar sind, besser ausserhalb des Repos
ablegen und nur als Referenz verwenden.
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB