Plugin und Suite fortgeschrittener Tools für Beekeeper Studio (v5.4+). Entwickelt von T3zcaDev.
✨ Hauptfunktionen
- 📸 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.
- On the fly komprimierte Backups mit Zstandard (
- 🔄 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.
- ⚖️ 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 (
Blueprintmit den Methodenup()unddown()). Button zum direkten Öffnen im SQL-Editor von Beekeeper Studio oder zum Speichern als.sql/.php.
- 🩺 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>).
- 🧪 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),.csvund.json.
- 🐳 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.
- Erkennt laufende Container (
- 📖 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; unterTools ➔ DB Manageroder/api/statussiehst du, welche erkannt werden.sqlite3CLI (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)
- Installiere DB Manager Pro über den Plugin-Marketplace von Beekeeper Studio (
Plugins➔ nach „DB Manager Pro“ suchen). - 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.
- Das war's: Die Datei installiert sich selbst, registriert sich für den Autostart (Linux
systemd --user, macOSLaunchAgent, WindowsStartup) 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.
Option B: Symlink für Entwicklung/Mitarbeit
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
unlistedDisabledeingeführt, standardmäßig aktiv. Damit Beekeeper den Entwicklungs-Symlink lädt, füge Folgendes zu~/.config/beekeeper-studio/user.config.inihinzu:[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
- Öffne Beekeeper Studio und verbinde dich mit einer beliebigen Datenbank.
- Jedes Tool erreichst du direkt über die obere Leiste unter
Tools:Tools➔DB Manager: Snapshots & BackupsTools➔DB Manager: Clonado Stream (A ➔ B)Tools➔DB Manager: Schema Diff & MigracionesTools➔DB Manager: Auditor de Salud & RendimientoTools➔DB Manager: Generador Mock DataTools➔DB Manager: Diccionario de DatosTools➔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.jsonundbks-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)