Plugin e suíte de ferramentas avançadas para o Beekeeper Studio (v5.4+). Desenvolvido por T3zcaDev.
✨ Principais recursos
- 📸 Snapshots & Backups Inteligentes (1 clique):
- Backups comprimidos em tempo real com Zstandard (
zstd -3) ou Gzip de alta velocidade. - Motor híbrido: usa dump direto via pipes se o daemon estiver ativo, ou dump nativo a partir do navegador com
CompressionStreamse estiver offline. - Explorador local de snapshots com data, tamanho e motor, além de restauração assistida com modal de confirmação e proteção contra path traversal.
- Backups comprimidos em tempo real com Zstandard (
- 🔄 Clonagem direta ao vivo (Stream A ➔ B):
- Transfere bancos de dados completos entre servidores (Produção/Staging ➔ Local/Docker) em tempo real via pipes, sem salvar arquivos temporários em disco.
- Sanitização automática: remove instruções conflitantes (
DEFINER,USE,CREATE DATABASE,SQL_LOG_BIN). - Filtro de tabelas e Data Masking: exclui tabelas de telemetria e ofusca e-mails e dados sensíveis em tempo real.
- ⚖️ Schema Diff V2 Multi-Motor & Migrações:
- Suporte multi-motor para MySQL / MariaDB e PostgreSQL.
- Detecção de tabelas ausentes, colunas ausentes, divergências de tipo, índices e chaves estrangeiras.
- Exportador duplo: gera script DDL nativo e código de migração do Laravel (
Blueprintcom métodosup()edown()). Botão para abrir direto no editor SQL do Beekeeper Studio ou salvar como.sql/.php.
- 🩺 Auditor de Saúde & Desempenho (Health Auditor):
- Pontuação global de saúde (0 - 100) com semáforo e penalidades configuradas.
- Tabelas sem Primary Key: alerta sobre tabelas que prejudicam a replicação por linhas (RBR) e o desempenho.
- Índices redundantes: detecta índices duplicados exatos e prefixos redundantes que deixam as escritas
INSERT/UPDATEmais lentas. - Detalhamento de armazenamento: análise do tamanho dos dados vs índices por tabela.
- Monitor de processos ao vivo: visualiza threads e queries ativas (
SHOW PROCESSLIST/pg_stat_activity) com botão para interromper a consulta com segurança (KILL QUERY <id>).
- 🧪 Gerador inteligente de Mock Data & Preenchimento em cascata (DAG):
- Preenche qualquer tabela com dados realistas usando Faker.
- Preencher tudo em cascata (Graph Seeding): resolve o grafo de dependências de chaves estrangeiras para tabelas vazias, preenchendo primeiro as tabelas pai e injetando seus IDs nas tabelas filhas automaticamente.
- Exportação de seeds: exporta para
.sql(INSERT INTO),.csve.json.
- 🐳 Auto-Discovery (Docker & Projetos locais):
- Detecta containers ativos (
docker ps) de MySQL, Postgres, MongoDB, Redis, ClickHouse e SQL Server com mapeamento de portas no host. - Extrai credenciais de arquivos
.envlocais, prontas para salvar no Beekeeper.
- Detecta containers ativos (
- 📖 Dicionário de dados:
- Exporta a documentação técnica do banco de dados em Markdown ou HTML estático.
📋 Pré-requisitos
- Beekeeper Studio 5.4+
- Node.js 18+ e npm — só se você instalar pela Opção B (symlink/desenvolvimento). O instalador nativo do companion (Opção A) não requer Node.js.
mysql/mysqldump,psql/pg_dump,mongodump,docker(conforme o motor que você usa) — o companion os invoca, mas não os empacota; confiraTools ➔ DB Managerou/api/statuspara ver quais ele detecta.- CLI
sqlite3(opcional, só para ler conexões já salvas no Beekeeper)
🔒 Privacidade
Todo o processamento acontece na sua máquina. O companion daemon escuta apenas em 127.0.0.1:58765 (loopback) e nunca se comunica com servidores externos. As credenciais de conexão nunca saem do seu computador.
🚀 Instalação e inicialização automática
Opção A: Marketplace do Beekeeper Studio + instalador nativo (recomendado)
- Instale o DB Manager Pro pelo marketplace de plugins do Beekeeper Studio (
Plugins➔ buscar “DB Manager Pro”). - Na primeira vez que você abrir uma ferramenta que precisa do companion (Clonagem Stream, Auto-Discovery, Schema Diff), verá um aviso “Companion Daemon não responde” com um botão Baixar Companion — baixe o executável do seu sistema operacional no GitHub Releases e abra com um duplo clique.
- Pronto: o executável se instala sozinho, se registra para iniciar automaticamente (Linux
systemd --user, macOSLaunchAgent, WindowsStartup) e inicia. Você não precisa ter o Node.js instalado nem abrir um terminal.
O instalador ainda não é assinado (veja docs/COMPANION.md), então o Windows/macOS mostrarão um aviso de segurança na primeira vez — esse documento explica exatamente qual botão clicar para continuar.
Opção B: Symlink para desenvolvimento/contribuição
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
O npm install já deixa o companion daemon rodando em segundo plano e configurado para iniciar sozinho, apontando para o repo clonado (não para o binário nativo) — não é preciso nenhum comando adicional nem abrir um terminal de novo para usar o plugin.
Beekeeper Studio 6.2+: o sistema de plugins adicionou
unlistedDisabled, ativo por padrão. Para que o Beekeeper carregue o symlink de desenvolvimento, adicione isto a~/.config/beekeeper-studio/user.config.ini:[pluginSystem] disabled = false unlistedDisabled = false communityDisabled = false
Gerenciamento manual do serviço (opcional)
Você só precisa disto se instalou com npm install --ignore-scripts, moveu a pasta do projeto ou quer desativá-lo:
# (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
(Você também pode executá-lo temporariamente em um terminal com npm run server, se preferir, em vez do serviço persistente).
Abrir no Beekeeper Studio
- Abra o Beekeeper Studio e conecte-se a qualquer banco de dados.
- Cada ferramenta está disponível diretamente na barra superior em
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 clique com o botão direito em qualquer tabela ➔
DB Manager: Mock Data para esta tabla.
Modo de desenvolvimento com Hot Reload (opcional)
Para modificar componentes Vue e ver as mudanças refletidas na hora:
npm run dev
📦 Build e Releases
npm run build # frontend del plugin -> dist/
npm run companion:build # binario nativo del companion para tu SO -> build/
Cada push de uma tag vX.Y.Z dispara .github/workflows/release.yml, que compila e publica um único GitHub Release com:
manifest.jsonebks-db-manager-{version}.zip(frontend do plugin, seguindo o processo de publicação dos Beekeeper Studio Plugins).bks-db-manager-companion-{linux-x64,linux-arm64,darwin-arm64,win-x64}.{tar.gz,zip}+ seu.sha256(o instalador nativo do companion, veja docs/COMPANION.md) — sem versão no nome, para que possam sempre ser linkados a partir de/releases/latest/download/. O macOS Intel (x64) está pendente por causa de um bug aberto do Node.js (nodejs/node#62893).
🤝 Contribuir
Issues e pull requests são bem-vindos. Antes de abrir um PR grande, abra primeiro uma issue para discutir a mudança.
📄 Licença
Este projeto é licenciado sob a GPLv3 — veja LICENSE para o texto completo.
👤 Autor
T3zcaDev — GitHub (@JonathanHerSa)