menu
languageItaliano
save_alt Download

DB Manager Pro

Clonazione in streaming live, backup intelligenti, schema diff, health auditor, generatore di dati mock e rilevamento automatico di Docker/.env.

di T3zcaDev Plugin della community

Readme

Questo testo è stato scritto da terzi e tradotto automaticamente. Leggi l'originale in inglese

Versione Licenza Beekeeper Studio

Plugin e suite di strumenti avanzati per Beekeeper Studio (v5.4+). Sviluppato da T3zcaDev.


✨ Funzionalità principali

  1. 📸 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 CompressionStream se è offline.
    • Esplora gli snapshot locali con data, dimensione e motore, più ripristino guidato con finestra di conferma e protezione anti path-traversal.
  2. 🔄 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.
  3. ⚖️ 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 (Blueprint con i metodi up() e down()). Un pulsante per aprirlo direttamente nell'editor SQL di Beekeeper Studio o salvarlo come .sql / .php.
  4. 🩺 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>).
  5. 🧪 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), .csv e .json.
  6. 🐳 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 .env locali, pronte da salvare in Beekeeper.
  7. 📖 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; controlla Tools ➔ DB Manager o /api/status per 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)

  1. Installa DB Manager Pro dal marketplace dei plugin di Beekeeper Studio (Plugins ➔ cerca “DB Manager Pro”).
  2. 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.
  3. Tutto qui: l'eseguibile si installa da solo, si registra per l'avvio automatico (Linux systemd --user, macOS LaunchAgent, Windows Startup) 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.

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

  1. Apri Beekeeper Studio e connettiti a un database qualsiasi.
  2. Ogni strumento è disponibile direttamente dalla barra superiore in 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)
    • 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.json e bks-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)