Plugin e suite di strumenti avanzati per Beekeeper Studio (v5.4+). Sviluppato da T3zcaDev.
✨ Funzionalità principali
- 📸 Snapshot & backup intelligenti (1 clic):
- Backup compressi al volo con Zstandard (
zstd -3) o Gzip ad alta velocità. - Motore ibrido: usa il dump diretto tramite pipe se il daemon è attivo, oppure il dump nativo dal browser con
CompressionStreamse è offline. - Esplora gli snapshot locali con data, dimensione e motore, più ripristino guidato con finestra di conferma e protezione anti path-traversal.
- Backup compressi al volo con Zstandard (
- 🔄 Clonazione diretta live (Stream A ➔ B):
- Trasferisci interi database tra server (Produzione/Staging ➔ Locale/Docker) in tempo reale tramite pipe, senza salvare file temporanei su disco.
- Sanitizzazione automatica: rimuove le istruzioni problematiche (
DEFINER,USE,CREATE DATABASE,SQL_LOG_BIN). - Filtro tabelle e Data Masking: escludi le tabelle di telemetria e offusca email e dati sensibili al volo.
- ⚖️ Schema Diff V2 multi-motore & migrazioni:
- Supporto multi-motore per MySQL / MariaDB e PostgreSQL.
- Rileva tabelle mancanti, colonne mancanti, differenze di tipo, indici e chiavi esterne.
- Esportazione doppia: genera uno script DDL nativo e codice di migrazione Laravel (
Blueprintcon i metodiup()edown()). Un pulsante per aprirlo direttamente nell'editor SQL di Beekeeper Studio o salvarlo come.sql/.php.
- 🩺 Auditor di salute & prestazioni (Health Auditor):
- Punteggio globale di salute (0 - 100) con semaforo e penalità configurate.
- Tabelle senza Primary Key: segnala le tabelle che peggiorano la replica per righe (RBR) e le prestazioni.
- Indici ridondanti: rileva indici esattamente duplicati e prefissi ridondanti che rallentano le scritture
INSERT/UPDATE. - Dettaglio dello spazio: analisi della dimensione dei dati rispetto agli indici per ogni tabella.
- Monitor dei processi live: visualizza i thread e le query attive (
SHOW PROCESSLIST/pg_stat_activity) con un pulsante per interrompere la query in sicurezza (KILL QUERY <id>).
- 🧪 Generatore intelligente di dati mock & popolamento a cascata (DAG):
- Popola qualsiasi tabella con dati realistici tramite Faker.
- Popola tutto a cascata (Graph Seeding): risolve il grafo delle dipendenze delle chiavi esterne verso le tabelle vuote, popolando prima le tabelle padre e inserendo automaticamente i loro ID nelle tabelle figlie.
- Esportazione dei seed: esporta in
.sql(INSERT INTO),.csve.json.
- 🐳 Auto-Discovery (Docker & progetti locali):
- Rileva i container attivi (
docker ps) di MySQL, Postgres, MongoDB, Redis, ClickHouse e SQL Server con la mappatura delle porte sull'host. - Estrae le credenziali dai file
.envlocali, pronte da salvare in Beekeeper.
- Rileva i container attivi (
- 📖 Dizionario dei dati:
- Esporta la documentazione tecnica del database in Markdown o HTML statico.
📋 Prerequisiti
- Beekeeper Studio 5.4+
- Node.js 18+ e npm — solo se installi con l'Opzione B (symlink/sviluppo). L'installer nativo del companion (Opzione A) non richiede Node.js.
mysql/mysqldump,psql/pg_dump,mongodump,docker(a seconda del motore che usi) — il companion li richiama ma non li include; controllaTools ➔ DB Managero/api/statusper vedere quali rileva.- CLI
sqlite3(opzionale, solo per leggere le connessioni già salvate in Beekeeper)
🔒 Privacy
Tutta l'elaborazione avviene sulla tua macchina. Il companion daemon ascolta solo su 127.0.0.1:58765 (loopback) e non comunica mai con server esterni. Le credenziali di connessione non lasciano mai il tuo computer.
🚀 Installazione e avvio automatico
Opzione A: Marketplace di Beekeeper Studio + installer nativo (consigliata)
- Installa DB Manager Pro dal marketplace dei plugin di Beekeeper Studio (
Plugins➔ cerca “DB Manager Pro”). - La prima volta che apri uno strumento che richiede il companion (Clonazione Stream, Auto-Discovery, Schema Diff), vedrai l'avviso “Companion Daemon no responde” con un pulsante Descargar Companion — scarica l'eseguibile per il tuo sistema operativo da GitHub Releases e aprilo con un doppio clic.
- Tutto qui: l'eseguibile si installa da solo, si registra per l'avvio automatico (Linux
systemd --user, macOSLaunchAgent, WindowsStartup) e parte. Non ti serve Node.js installato né aprire un terminale.
L'installer non è ancora firmato (vedi docs/COMPANION.md), quindi Windows/macOS mostreranno un avviso di sicurezza la prima volta — quel documento spiega esattamente quale pulsante premere per continuare.
Opzione B: Symlink per sviluppo/contributi
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 lascia già il companion daemon in esecuzione in background e configurato per l'avvio automatico, puntando al repo clonato (non al binario nativo) — non serve nessun comando aggiuntivo né riaprire un terminale per usare il plugin.
Beekeeper Studio 6.2+: il sistema dei plugin ha aggiunto
unlistedDisabled, attivo di default. Perché Beekeeper carichi il symlink di sviluppo, aggiungi questo a~/.config/beekeeper-studio/user.config.ini:[pluginSystem] disabled = false unlistedDisabled = false communityDisabled = false
Gestione manuale del servizio (opzionale)
Ti serve solo se hai installato con npm install --ignore-scripts, hai spostato la cartella del progetto o vuoi disattivarlo:
# (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
(Puoi anche eseguirlo temporaneamente in un terminale con npm run server, se lo preferisci al servizio persistente).
Aprire in Beekeeper Studio
- Apri Beekeeper Studio e connettiti a un database qualsiasi.
- Ogni strumento è disponibile direttamente dalla barra superiore in
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)- Oppure clic destro su una tabella qualsiasi ➔
DB Manager: Mock Data para esta tabla.
Modalità sviluppo con Hot Reload (opzionale)
Per modificare i componenti Vue e vedere subito le modifiche:
npm run dev
📦 Build e release
npm run build # frontend del plugin -> dist/
npm run companion:build # binario nativo del companion para tu SO -> build/
Ogni push di un tag vX.Y.Z avvia .github/workflows/release.yml, che compila e pubblica un'unica GitHub Release con:
manifest.jsonebks-db-manager-{version}.zip(frontend del plugin, secondo il processo di pubblicazione di Beekeeper Studio Plugins).bks-db-manager-companion-{linux-x64,linux-arm64,darwin-arm64,win-x64}.{tar.gz,zip}+ il relativo.sha256(l'installer nativo del companion, vedi docs/COMPANION.md) — senza versione nel nome, così si possono sempre linkare da/releases/latest/download/. macOS Intel (x64) è in sospeso per un bug aperto di Node.js (nodejs/node#62893).
🤝 Contribuire
Issue e pull request sono benvenute. Prima di aprire una PR corposa, apri un issue per discutere la modifica.
📄 Licenza
Questo progetto è distribuito con licenza GPLv3 — vedi LICENSE per il testo completo.
👤 Autore
T3zcaDev — GitHub (@JonathanHerSa)