From 6bccca2864c53c1b6f7347999b8ff225f184478d Mon Sep 17 00:00:00 2001 From: albert Date: Wed, 1 Apr 2026 08:03:32 +0200 Subject: [PATCH] Dateien nach "/" hochladen --- README.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/README.md b/README.md index e69de29..d28bc0c 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,74 @@ +# RepoVizChecker + +Ein Python-Werkzeug zum Abgleich von **RepoViz-Annotationen** mit dem tatsächlich verwendeten SQL-Code in Kornshell-Skripten (`.ksh`). + +--- + +## Beschreibung + +KSH-Skripte enthalten häufig RepoViz-Metadaten in Form von Kommentar-Annotationen: + +```ksh +#@modul: mein_skript.ksh +#@quelle: TABELLE_A, TABELLE_B +#@ziel: TABELLE_Z +``` + +`repovizcheck.py` liest diese Annotationen aus und vergleicht sie mit den Tabellennamen, die im Code über `$SCHEMA.` bzw. `${SCHEMA}.` tatsächlich referenziert werden. + +--- + +## Features + +- ✅ Liest `#@modul:`, `#@quelle:` und `#@ziel:` Annotationen aus dem KSH-Skript +- ✅ Erkennt verwendete Tabellen per Regex (`$SCHEMA.*` / `${SCHEMA}.*`) +- ✅ Vergleich **Repo → SQL**: Sind alle dokumentierten Tabellen im Code vorhanden? +- ✅ Vergleich **SQL → Repo**: Sind alle Code-Tabellen in den Annotationen dokumentiert? +- ✅ Prüft, ob der Skriptname in `#@modul:` eingetragen ist +- ✅ Encoding-Fallback: UTF-8 → ISO-8859-1 +- ✅ Temporäre Tabellen (`TMP_*`) werden automatisch ignoriert + +--- + +## Voraussetzungen + +- Python 3.x +- Keine zusätzlichen Pakete erforderlich (nur Standardbibliothek) + +--- + +## Aufruf + +```powershell +python repovizcheck.py +``` + +### Beispiel + +```powershell +python repovizcheck.py C:\projekte\etl_job.ksh +``` + +--- + +## Ausgabe (Übersicht) + +| Abschnitt | Beschreibung | +|---|---| +| **RepoViz-Informationen** | Sortierte Ausgabe von Modul, Quell- und Zieltabellen | +| **Modul-Check** | Ist der Skriptname in `#@modul:` eingetragen? | +| **Repo → SQL** | Welche dokumentierten Tabellen sind im Code vorhanden / fehlen? | +| **SQL → Repo** | Welche Code-Tabellen sind dokumentiert / nicht dokumentiert? | + +--- + +## Hinweise + +- Es werden ausschließlich `.ksh`-Dateien akzeptiert (case-insensitive). +- Tabellennamen werden für alle Vergleiche in **Großbuchstaben** normalisiert. + +--- + +## Lizenz + +Internes Werkzeug – Deutsche Telekom AG