menu
languageDeutsch
save_alt Download

DB Manager Pro

Live-Stream-Klonen, smarte Backups, Schema-Diff, Health-Auditor, Mock-Data-Generator und automatische Erkennung von Docker/.env.

von T3zcaDev Community-Plugin

Readme

Dieser Text stammt von Dritten und wurde automatisch übersetzt. Original auf Englisch lesen

Version Lizenz Beekeeper Studio

Plugin und Suite fortgeschrittener Tools für Beekeeper Studio (v5.4+). Entwickelt von T3zcaDev.


✨ Hauptfunktionen

  1. 📸 Smarte Snapshots & Backups (1-Klick):
    • On the fly komprimierte Backups mit Zstandard (zstd -3) oder schnellem Gzip.
    • Hybrid-Engine: Nutzt einen direkten Dump über Pipes, wenn der Daemon läuft, oder einen nativen Dump im Browser mit CompressionStream, wenn er offline ist.
    • Lokaler Snapshot-Explorer mit Datum, Größe und Engine, dazu eine geführte Wiederherstellung mit Bestätigungsdialog und Schutz vor Path-Traversal.
  2. 🔄 Direktes Live-Klonen (Stream A ➔ B):
    • Überträgt komplette Datenbanken zwischen Servern (Produktion/Staging ➔ Lokal/Docker) in Echtzeit über Pipes, ohne temporäre Dateien auf der Festplatte.
    • Automatische Bereinigung: Entfernt problematische Anweisungen (DEFINER, USE, CREATE DATABASE, SQL_LOG_BIN).
    • Tabellenfilter und Data Masking: Schließt Telemetrie-Tabellen aus und verschleiert E-Mails und sensible Daten on the fly.
  3. ⚖️ Schema Diff V2 für mehrere Engines & Migrationen:
    • Unterstützung mehrerer Engines: MySQL / MariaDB und PostgreSQL.
    • Erkennt fehlende Tabellen, fehlende Spalten, Typabweichungen, Indizes und Fremdschlüssel.
    • Dualer Export: Erzeugt ein natives DDL-Skript und Laravel-Migrationscode (Blueprint mit den Methoden up() und down()). Button zum direkten Öffnen im SQL-Editor von Beekeeper Studio oder zum Speichern als .sql / .php.
  4. 🩺 Health- & Performance-Auditor (Health Auditor):
    • Globaler Health-Score (0 - 100) mit Ampel und konfigurierten Abzügen.
    • Tabellen ohne Primary Key: Warnt vor Tabellen, die zeilenbasierte Replikation (RBR) und Performance verschlechtern.
    • Redundante Indizes: Erkennt exakt doppelte Indizes und redundante Präfixe, die INSERT/UPDATE-Schreibvorgänge verlangsamen.
    • Speicheraufschlüsselung: Analyse von Daten- vs. Indexgröße pro Tabelle.
    • Live-Prozessmonitor: Zeigt aktive Threads und Abfragen (SHOW PROCESSLIST / pg_stat_activity) mit einem Button zum sicheren Abbrechen der Abfrage (KILL QUERY <id>).
  5. 🧪 Smarter Mock-Data-Generator & kaskadierendes Befüllen (DAG):
    • Befüllt jede Tabelle mit realistischen Daten per Faker.
    • Alles kaskadierend befüllen (Graph Seeding): Löst den Abhängigkeitsgraphen der Fremdschlüssel zu leeren Tabellen auf, befüllt zuerst die Elterntabellen und fügt deren IDs automatisch in die Kindtabellen ein.
    • Seed-Export: Exportiert nach .sql (INSERT INTO), .csv und .json.
  6. 🐳 Auto-Discovery (Docker & lokale Projekte):
    • Erkennt laufende Container (docker ps) von MySQL, Postgres, MongoDB, Redis, ClickHouse und SQL Server inklusive Port-Mapping auf dem Host.
    • Liest Zugangsdaten aus lokalen .env-Dateien aus, bereit zum Speichern in Beekeeper.
  7. 📖 Datenwörterbuch:
    • Exportiert die technische Dokumentation der Datenbank als Markdown oder statisches HTML.

📋 Voraussetzungen

  • Beekeeper Studio 5.4+
  • Node.js 18+ und npm – nur, wenn du über Option B (Symlink/Entwicklung) installierst. Der native Installer des Companions (Option A) braucht kein Node.js.
  • mysql/mysqldump, psql/pg_dump, mongodump, docker (je nach verwendeter Engine) – der Companion ruft sie auf, liefert sie aber nicht mit; unter Tools ➔ DB Manager oder /api/status siehst du, welche erkannt werden.
  • sqlite3 CLI (optional, nur zum Lesen bereits in Beekeeper gespeicherter Verbindungen)

🔒 Datenschutz

Die gesamte Verarbeitung läuft auf deinem Rechner. Der Companion-Daemon lauscht nur auf 127.0.0.1:58765 (Loopback) und kommuniziert nie mit externen Servern. Deine Verbindungsdaten verlassen nie deinen Rechner.


🚀 Installation und Autostart

Option A: Beekeeper Studio Marketplace + nativer Installer (empfohlen)

  1. Installiere DB Manager Pro über den Plugin-Marketplace von Beekeeper Studio (Plugins ➔ nach „DB Manager Pro“ suchen).
  2. Wenn du zum ersten Mal ein Tool öffnest, das den Companion braucht (Clonado Stream, Auto-Discovery, Schema Diff), siehst du den Hinweis „Companion Daemon antwortet nicht“ mit einem Button Companion herunterladen – lade die ausführbare Datei für dein Betriebssystem von GitHub Releases herunter und öffne sie per Doppelklick.
  3. Das war's: Die Datei installiert sich selbst, registriert sich für den Autostart (Linux systemd --user, macOS LaunchAgent, Windows Startup) und startet. Du brauchst weder Node.js noch ein Terminal.

Der Installer ist noch nicht signiert (siehe docs/COMPANION.md), daher zeigen Windows/macOS beim ersten Mal eine Sicherheitswarnung – das Dokument erklärt genau, welchen Button du zum Fortfahren drücken musst.

git clone https://github.com/JonathanHerSa/bks-db-manager.git
cd bks-db-manager
npm install
npm run build
ln -s "$(pwd)" ~/.config/beekeeper-studio/plugins/t3zca-db-manager

npm install startet den Companion-Daemon bereits im Hintergrund und richtet den Autostart ein, mit Verweis auf das geklonte Repo (nicht auf die native Binary) – du brauchst keine weiteren Befehle und musst kein Terminal mehr öffnen, um das Plugin zu nutzen.

Beekeeper Studio 6.2+: Das Plugin-System hat unlistedDisabled eingeführt, standardmäßig aktiv. Damit Beekeeper den Entwicklungs-Symlink lädt, füge Folgendes zu ~/.config/beekeeper-studio/user.config.ini hinzu:

[pluginSystem]
disabled = false
unlistedDisabled = false
communityDisabled = false

Manuelle Verwaltung des Dienstes (optional)

Das brauchst du nur, wenn du mit npm install --ignore-scripts installiert oder den Projektordner verschoben hast oder den Dienst deaktivieren willst:

# (Re)instala el servicio en segundo plano manualmente
npm run daemon:install

# Comprueba que esté activo y respondiendo
npm run daemon:status

# Para desinstalarlo en cualquier momento
npm run daemon:uninstall

(Du kannst ihn auch vorübergehend mit npm run server in einem Terminal laufen lassen, wenn dir das lieber ist als der dauerhafte Dienst).

In Beekeeper Studio öffnen

  1. Öffne Beekeeper Studio und verbinde dich mit einer beliebigen Datenbank.
  2. Jedes Tool erreichst du direkt über die obere Leiste unter Tools:
    • Tools ➔ DB Manager: Snapshots & Backups
    • Tools ➔ DB Manager: Clonado Stream (A ➔ B)
    • Tools ➔ DB Manager: Schema Diff & Migraciones
    • Tools ➔ DB Manager: Auditor de Salud & Rendimiento
    • Tools ➔ DB Manager: Generador Mock Data
    • Tools ➔ DB Manager: Diccionario de Datos
    • Tools ➔ DB Manager: Auto-Discovery (Docker & .env)
    • Oder Rechtsklick auf eine beliebige Tabelle ➔ DB Manager: Mock Data para esta tabla.

Entwicklungsmodus mit Hot Reload (optional)

Um Vue-Komponenten zu ändern und die Änderungen sofort zu sehen:

npm run dev

📦 Build und Releases

npm run build            # frontend del plugin -> dist/
npm run companion:build  # binario nativo del companion para tu SO -> build/

Jeder Push eines Tags vX.Y.Z löst .github/workflows/release.yml aus, das ein einziges GitHub Release baut und veröffentlicht mit:

  • manifest.json und bks-db-manager-{version}.zip (Plugin-Frontend, gemäß dem Veröffentlichungsprozess von Beekeeper Studio Plugins).
  • bks-db-manager-companion-{linux-x64,linux-arm64,darwin-arm64,win-x64}.{tar.gz,zip} + jeweils .sha256 (der native Installer des Companions, siehe docs/COMPANION.md) – ohne Version im Namen, damit sie immer über /releases/latest/download/ verlinkt werden können. macOS Intel (x64) steht wegen eines offenen Node.js-Bugs noch aus (nodejs/node#62893).

🤝 Mitwirken

Issues und Pull Requests sind willkommen. Bevor du einen großen PR öffnest, eröffne bitte zuerst ein Issue, um die Änderung zu besprechen.

📄 Lizenz

Dieses Projekt steht unter der GPLv3 – den vollständigen Text findest du in LICENSE.

👤 Autor

T3zcaDev — GitHub (@JonathanHerSa)