f64aeaf31ca62dca87f52828e844eb1d5ef3b10b
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:
#@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.<TABELLE> bzw. ${SCHEMA}.<TABELLE> 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
python repovizcheck.py <skript.ksh>
Beispiel
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
Description
Languages
Python
100%