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