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
No description provided
Readme 50 KiB
Languages
Python 100%