menu
languagePortuguês (Brasil)
save_alt Baixar

DB Manager Pro

Clonagem em stream ao vivo, backups inteligentes, schema diff, auditor de saúde, gerador de dados mock e descoberta automática de Docker/.env.

por T3zcaDev Plugin da comunidade

Readme

Este texto foi escrito por terceiros e traduzido automaticamente. Leia o original em inglês

Versão Licença Beekeeper Studio

Plugin e suíte de ferramentas avançadas para o Beekeeper Studio (v5.4+). Desenvolvido por T3zcaDev.


✨ Principais recursos

  1. 📸 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 CompressionStream se 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.
  2. 🔄 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.
  3. ⚖️ 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 (Blueprint com métodos up() e down()). Botão para abrir direto no editor SQL do Beekeeper Studio ou salvar como .sql / .php.
  4. 🩺 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/UPDATE mais 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>).
  5. 🧪 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), .csv e .json.
  6. 🐳 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 .env locais, prontas para salvar no Beekeeper.
  7. 📖 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; confira Tools ➔ DB Manager ou /api/status para 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)

  1. Instale o DB Manager Pro pelo marketplace de plugins do Beekeeper Studio (Plugins ➔ buscar “DB Manager Pro”).
  2. 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.
  3. Pronto: o executável se instala sozinho, se registra para iniciar automaticamente (Linux systemd --user, macOS LaunchAgent, Windows Startup) 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.

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

  1. Abra o Beekeeper Studio e conecte-se a qualquer banco de dados.
  2. Cada ferramenta está disponível diretamente na barra superior em 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)
    • 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.json e bks-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)