Dateien nach "/" hochladen
This commit is contained in:
74
README.md
74
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.<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
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
python repovizcheck.py <skript.ksh>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|||||||
Reference in New Issue
Block a user