Plugin et suite d'outils avancés pour Beekeeper Studio (v5.4+). Développé par T3zcaDev.
✨ Fonctionnalités principales
- 📸 Snapshots & sauvegardes intelligentes (1 clic)":
- Sauvegardes compressées à la volée avec Zstandard (
zstd -3) ou Gzip haute vitesse. - Moteur hybride : utilise un dump direct via pipes si le daemon est actif, ou un dump natif depuis le navigateur avec
CompressionStreams'il est hors ligne. - Explorateur local de snapshots avec date, taille et moteur, plus restauration assistée avec fenêtre de confirmation et protection contre le path traversal.
- Sauvegardes compressées à la volée avec Zstandard (
- 🔄 Clonage direct en temps réel (Stream A ➔ B) :
- Transfère des bases de données complètes entre serveurs (Production/Staging ➔ Local/Docker) en temps réel via des pipes, sans fichier temporaire sur le disque.
- Nettoyage automatique : supprime les instructions conflictuelles (
DEFINER,USE,CREATE DATABASE,SQL_LOG_BIN). - Filtrage de tables et Data Masking : exclut les tables de télémétrie et masque à la volée les e-mails et données sensibles.
- ⚖️ Schema Diff V2 multi-moteur & migrations :
- Prise en charge multi-moteur de MySQL / MariaDB et PostgreSQL.
- Détection des tables manquantes, colonnes manquantes, différences de type, index et clés étrangères.
- Export double : génère un script DDL natif et du code de migration Laravel (
Blueprintavec les méthodesup()etdown()). Un bouton permet de l'ouvrir directement dans l'éditeur SQL de Beekeeper Studio ou de l'enregistrer en.sql/.php.
- 🩺 Audit de santé & performances (Health Auditor) :
- Score global de santé (0 - 100) avec code couleur et pénalités configurées.
- Tables sans Primary Key : alerte sur les tables qui dégradent la réplication par lignes (RBR) et les performances.
- Index redondants : détecte les index en doublon exact et les préfixes redondants qui ralentissent les écritures
INSERT/UPDATE. - Répartition du stockage : analyse de la taille des données vs index par table.
- Moniteur de processus en direct : affiche les threads et requêtes actives (
SHOW PROCESSLIST/pg_stat_activity) avec un bouton pour arrêter une requête en toute sécurité (KILL QUERY <id>).
- 🧪 Générateur intelligent de données fictives & peuplement en cascade (DAG) :
- Remplit n'importe quelle table avec des données réalistes grâce à Faker.
- Tout peupler en cascade (Graph Seeding) : résout le graphe de dépendances des clés étrangères vers les tables vides, en peuplant d'abord les tables parentes puis en injectant automatiquement leurs ID dans les tables enfants.
- Export des seeds : exporte en
.sql(INSERT INTO),.csvet.json.
- 🐳 Auto-Discovery (Docker & projets locaux) :
- Détecte les conteneurs actifs (
docker ps) MySQL, Postgres, MongoDB, Redis, ClickHouse et SQL Server avec le mappage des ports sur l'hôte. - Extrait les identifiants des fichiers
.envlocaux, prêts à être enregistrés dans Beekeeper.
- Détecte les conteneurs actifs (
- 📖 Dictionnaire de données :
- Exporte la documentation technique de la base de données en Markdown ou en HTML statique.
📋 Prérequis
- Beekeeper Studio 5.4+
- Node.js 18+ et npm — uniquement si tu installes via l'option B (symlink/développement). L'installateur natif du companion (option A) ne nécessite pas Node.js.
mysql/mysqldump,psql/pg_dump,mongodump,docker(selon le moteur que tu utilises) — le companion les appelle mais ne les embarque pas ; consulteTools ➔ DB Managerou/api/statuspour voir ceux qu'il détecte.- CLI
sqlite3(facultatif, uniquement pour lire les connexions déjà enregistrées dans Beekeeper)
🔒 Confidentialité
Tout le traitement se fait sur ta machine. Le companion daemon écoute uniquement sur 127.0.0.1:58765 (loopback) et ne communique jamais avec des serveurs externes. Tes identifiants de connexion ne quittent jamais ton ordinateur.
🚀 Installation et démarrage automatique
Option A : marketplace de Beekeeper Studio + installateur natif (recommandé)
- Installe DB Manager Pro depuis le marketplace de plugins de Beekeeper Studio (
Plugins➔ rechercher « DB Manager Pro »). - La première fois que tu ouvres un outil qui a besoin du companion (Clonage Stream, Auto-Discovery, Schema Diff), tu verras un message « Companion Daemon ne répond pas » avec un bouton Télécharger le Companion — télécharge l'exécutable pour ton système d'exploitation depuis GitHub Releases et ouvre-le d'un double-clic.
- C'est tout : l'exécutable s'installe tout seul, s'enregistre pour démarrer automatiquement (Linux
systemd --user, macOSLaunchAgent, WindowsStartup) et se lance. Pas besoin d'installer Node.js ni d'ouvrir un terminal.
L'installateur n'est pas encore signé (voir docs/COMPANION.md), donc Windows/macOS afficheront un avertissement de sécurité la première fois — ce document explique exactement sur quel bouton cliquer pour continuer.
Option B : symlink pour le développement/la contribution
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 lance déjà le companion daemon en arrière-plan et le configure pour démarrer automatiquement, en pointant vers le dépôt cloné (pas vers le binaire natif) — aucune commande supplémentaire ni réouverture de terminal n'est nécessaire pour utiliser le plugin.
Beekeeper Studio 6.2+ : le système de plugins a ajouté
unlistedDisabled, activé par défaut. Pour que Beekeeper charge le symlink de développement, ajoute ceci à~/.config/beekeeper-studio/user.config.ini:[pluginSystem] disabled = false unlistedDisabled = false communityDisabled = false
Gestion manuelle du service (facultatif)
Tu n'en as besoin que si tu as installé avec npm install --ignore-scripts, déplacé le dossier du projet ou si tu veux le désactiver :
# (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
(Tu peux aussi le lancer temporairement dans un terminal avec npm run server si tu préfères ça au service persistant.)
Ouvrir dans Beekeeper Studio
- Ouvre Beekeeper Studio et connecte-toi à n'importe quelle base de données.
- Chaque outil est accessible directement depuis la barre supérieure dans
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)- Ou clic droit sur n'importe quelle table ➔
DB Manager: Mock Data para esta tabla.
Mode développement avec Hot Reload (facultatif)
Pour modifier les composants Vue et voir les changements instantanément :
npm run dev
📦 Compilation et releases
npm run build # frontend del plugin -> dist/
npm run companion:build # binario nativo del companion para tu SO -> build/
Chaque push d'un tag vX.Y.Z déclenche .github/workflows/release.yml, qui compile et publie une seule GitHub Release contenant :
manifest.jsonetbks-db-manager-{version}.zip(frontend du plugin, selon le processus de publication de Beekeeper Studio Plugins).bks-db-manager-companion-{linux-x64,linux-arm64,darwin-arm64,win-x64}.{tar.gz,zip}+ leur.sha256(l'installateur natif du companion, voir docs/COMPANION.md) — sans version dans le nom, pour pouvoir toujours les lier depuis/releases/latest/download/. macOS Intel (x64) est en attente à cause d'un bug ouvert de Node.js (nodejs/node#62893).
🤝 Contribuer
Les issues et pull requests sont les bienvenues. Avant d'ouvrir une grosse PR, ouvre d'abord une issue pour discuter du changement.
📄 Licence
Ce projet est sous licence GPLv3 — voir LICENSE pour le texte complet.
👤 Auteur
T3zcaDev — GitHub (@JonathanHerSa)