Was macht wubc-database-modeling?
Fertigkeit zur automatischen Datenbankmodellierung: Scannt PostgreSQL-Tabellenstrukturen und generiert nach Vorlage AGENTS.md (Eiserne Regeln + Organisationsstruktur + Geschäftsdefinitionen) und docs/table_relationships.md (Tabellenmappings + Beziehungen + Metrik-Erklärungen). Basiert auf Modellierungserfahrung im Tankstellen-Einzelhandel (EasyService-Datenbank).
Funktionsweise
Diese Fertigkeit führt folgende Schritte aus:
- Tabellenscan: Verwendet
pg_catalogoderINFORMATION_SCHEMA, um alle Tabellen und Spalten der Ziel-PostgreSQL-Datenbank aufzulisten. - Vorlagenbasierte Generierung: Wendet vordefinierte Markdown-Vorlagen an, um zwei Ausgabedokumente zu erstellen:
AGENTS.md: Enthält eiserne Regeln (z. B. Namenskonventionen, Constraints), Organisationsstruktur (Datenquellen, Module) und Geschäftsdefinitionen (Transaktionen, Stammdaten).docs/table_relationships.md: Dokumentiert Tabellenbeziehungen (Fremdschlüssel, Verknüpfungen), Metrikverständnis (Aggregationen, Kennzahlen) und erläutert die Datenherkunft.
- Konfiguration: Über einen Konfigurationsblock (z. B.
db_modeling_config) können Datenbankverbindung und Vorlagenpfade angepasst werden.
Zielgruppe
- Datenarchitekten und -ingenieure, die schnell ein konsistentes Datenmodell dokumentieren müssen.
- Entwicklungsteams, die in Retail-, Energie- oder Tankstellenumgebungen arbeiten.
- Alle, die eine automatisierte Lösung für PostgreSQL-Dokumentation suchen.
Unterstützte Plattformen
- Beliebige PostgreSQL-Instanz (Lokal, Cloud wie AWS RDS, Azure DB, etc.).
- CI/CD-Pipelines (z. B. GitHub Actions, GitLab CI) zur automatischen Aktualisierung der Dokumentation.
- Direkte Verwendung über
psql-Befehle oder Python-Skripte (abhängig von der Implementierung).
Verwendung
- Stelle sicher, dass die PostgreSQL-Verbindungsdaten in der Umgebung (z. B.
DATABASE_URL) oder in der Konfiguration verfügbar sind. - Führe die Fertigkeit aus (z. B. über einen CLI-Befehl oder innerhalb einer Agenten-Umgebung).
- Überprüfe die generierten Dateien im Projektverzeichnis.
Beispielkonfiguration
{
"db_modeling_config": {
"host": "localhost",
"port": 5432,
"database": "easy_service",
"user": "admin",
"password": "secure_password",
"schema": "public"
}
}
Hinweise
- Die Fertigkeit erwartet, dass die Datenbank-Tabellen bestimmte Namenskonventionen (z. B.
t_*für Transaktionstabellen,m_*für Stammdaten) befolgen, um die Dokumentation zu optimieren. - Bei Änderungen an der Datenbankstruktur sollte die Fertigkeit erneut ausgeführt werden, um die Dokumentation aktuell zu halten.
Basierend auf realen Modellierungserfahrungen im Tankstellen-Einzelhandel (EasyService-Datenbank).