DB Manager — Guia do usuário | YoBench
Como usar o módulo «DB Manager» no YoBench: MySQL, PostgreSQL, MongoDB, SQLite e MS SQL, diagramas ER, editor SQL com IA, comparação de schemas, backups agendados.
Para que serve o módulo «DB Manager»
DB Manager é uma bancada unificada para trabalhar com bancos relacionais e documentais direto do YoBench. Em vez de alternar entre várias ferramentas (DBeaver, pgAdmin, mysql-cli, MongoDB Compass), você se conecta a partir de um único app, navega pelo schema, executa consultas, gera SQL com IA, compara schemas, agenda backups e acompanha a saúde das conexões.
O que você obtém:
- Seis engines de banco de dados — MySQL, MariaDB, PostgreSQL, SQLite, MS SQL Server, MongoDB.
- Explorador de schema — árvore completa de bancos / schemas / tabelas / views / procedures com estrutura, índices, chaves estrangeiras e triggers.
- Editor SQL com histórico de consultas, exportação dos resultados para CSV / JSON / XLSX e limite de segurança de 10 000 linhas.
- Geração de SQL por IA — descreva o que precisa em linguagem natural e receba uma consulta inicial vinculada ao contexto do banco atual.
- Diagrama ER com layout automático Dagre, arestas de chave estrangeira e zoom / pan.
- Comparação e sincronização de schema — diff entre dois schemas, geração de script
ALTERe aplicação no destino. - Backups — dump / restore manual mais um agendador com cron, rotação de arquivos e histórico de execuções.
- Monitoramento de conexão — health checks, latência e versão do servidor.
- Segredos criptografados — senhas, chaves SSL e chaves SSH ficam guardadas criptografadas no BD local; o renderer só vê flags do tipo
has_password.
Engines suportados e opções de conexão
| Engine | Porta padrão | Observações |
|---|---|---|
| MySQL | 3306 | TCP/IP, SSL opcional |
| MariaDB | 3306 | Mesma família de protocolo do MySQL |
| PostgreSQL | 5432 | Modos SSL: disable, require, verify-ca, verify-full |
| MS SQL Server | 1433 | TCP/IP |
| MongoDB | 27017 | Parâmetro authSource para o banco de autenticação |
| SQLite | — | Arquivo local, sem host nem porta |
Para os engines baseados em TCP é possível guardar credenciais de túnel SSH no registro da conexão (o campo está reservado para futura exposição na UI). Todos os campos sensíveis — senha, chave SSL, senha SSH e chave privada SSH — são criptografados em repouso.
Workbench
Cada conexão aberta vive na sua própria aba. Uma única janela suporta até 10 sessões ativas (limite do renderer). As sessões headless usadas pelo agendador, pelos backups e pelos health checks rodam em um pool separado.
A Workbench tem:
- Árvore de schema à esquerda — desça da raiz da conexão até uma tabela ou view específica.
- Inspetor de objetos — colunas com tipos e nullability, índices (incluindo unicidade), restrições, chaves estrangeiras e triggers.
- Visualização de dados — linhas paginadas com filtros por coluna. Cada célula tem limite de 64 KB; o resultado retorna a flag
truncatedse a contagem de linhas ultrapassar 10 000. - Editor SQL — escreva ou cole uma consulta, execute-a, veja os resultados em tabela e volte ao histórico.
- Visualização DDL — script
CREATEcompleto da tabela selecionada ou de todo o banco. - Diagrama ER — canvas interativo em React Flow com auto-layout Dagre para tabelas e arestas FK.
Editor SQL e geração por IA
O editor SQL aceita comandos arbitrários para o engine conectado. Os resultados aparecem em uma tabela ordenável que suporta filtros por coluna e três formatos de exportação: CSV, JSON e XLSX. Cada consulta executada fica salva no Histórico de consultas da conexão para você reexecutar ou copiar depois.
A geração de SQL por IA fica disponível quando há um provedor de IA configurado em Configurações → DB Manager:
- Abra o campo de IA acima do editor.
- Descreva o que você quer (por exemplo, «top 10 clientes por receita nos últimos 30 dias»).
- O banco / schema atual é enviado como contexto, a IA devolve uma consulta inicial, você revisa e executa.
Se nenhum provedor estiver selecionado o botão de IA fica desabilitado — as consultas continuam funcionando, apenas a geração não está disponível.
Comparação e sincronização de schema
Escolha dois schemas (da mesma conexão ou de duas diferentes), execute Schema Compare (Comparar schemas) e revise o diff:
- Tabelas:
added,removed,altered,identical. - Para tabelas alteradas: mudanças no nível de coluna (colunas adicionadas / removidas, mudanças de tipo, mudanças de default / nullability, mudanças de índice).
- Script de sincronização gerado — uma sequência executável de
ALTER/CREATE/DROPque leva o destino ao estado da origem. - Exportação opcional do script para disco antes de executá-lo.
Use isso para dois cenários típicos: promover mudanças de staging para produção e validar se duas réplicas se desviaram entre si.
Backup e restore
Dump pontual. Clique direito numa conexão → Backup. O dump é gravado em um arquivo ZIP com manifesto JSON e o payload do banco. Você pode incluir ou excluir:
- Linhas de dados
- Views, stored procedures, funções
- Grants
Restore. Abra a conexão de destino (ou crie uma nova para um banco vazio) → Restore → selecione o arquivo de dump → confirme a política de sobrescrita.
Backups agendados. No painel Backup Schedules (Agendamentos de backup) da conexão:
- Escolha uma expressão cron ou um preset (todo dia, toda semana, a cada N horas).
- Escolha a pasta de destino.
- Defina a rotação: manter as N cópias mais recentes.
- Botão opcional Run Now (Executar agora) para validar o agendamento sem esperar.
O painel Backup History (Histórico de backups) mostra cada execução com status, tamanho do arquivo e duração. Execuções com falha incluem a mensagem de erro.
Monitoramento de conexão
Cada conexão tem uma flag opcional de monitoramento com intervalo (padrão de 5 minutos). Quando ligado, a Workbench:
- Pinga o servidor com o liveness check específico do engine.
- Registra a latência em milissegundos.
- Guarda a última versão do servidor.
- Mostra um indicador de status na linha da conexão na lista.
O histórico fica armazenado localmente e alimenta o painel de monitoramento na aba Workbench.
Tarefas de BD embutidas
Cada conexão pode hospedar suas próprias DB tasks (tarefas de BD) — scripts SQL periódicos (limpeza, refresh de materialized view, estatísticas). Uma tarefa tem:
- Um nome e o corpo SQL.
- Um agendamento (estilo cron).
- Um toggle ativado / desativado.
- Histórico de execução com status:
success,error,timeout.
As DB tasks são diferentes do AI Task Scheduler: são puro SQL, em uma única conexão, sem IA envolvida.
Configurações
Em Configurações → DB Manager:
- Provedor de IA — qual provedor responde ao prompt de SQL por IA. Vazio por padrão.
As configurações por conexão ficam no formulário de conexão: nome, engine, host, porta, banco, usuário, senha, modo SSL, caminho do arquivo SQLite, intervalo de monitoramento e extras específicos do engine (por exemplo, authSource do MongoDB).
Fluxo de uso
1. Adicione uma conexão
- Abra o DB Manager na barra lateral.
- Aba Conexões → Nova conexão.
- Escolha o engine — o formulário muda para mostrar só os campos relevantes.
- Preencha host / porta / banco / usuário / senha (ou caminho do arquivo para SQLite).
- Clique em Testar — você vê a versão do servidor e a latência de ida e volta.
- Salve.
2. Abra a workbench
- Clique em Abrir numa linha de conexão → uma nova aba se abre.
- Navegue pela árvore de schema, dê duplo clique numa tabela para inspecionar dados e estrutura.
- Mude para o Editor SQL para executar comandos.
3. Agende backups
- No menu da conexão escolha Backup Schedules (Agendamentos de backup).
- Novo agendamento → pasta, expressão cron, retenção.
- Run Now (Executar agora) para validar, ou espere o tick do cron.
- Inspecione as execuções em Backup History (Histórico de backups).
4. Compare schemas
- No menu da conexão escolha Schema Compare (Comparar schemas).
- Selecione origem e destino (banco + schema).
- Comparar → revise o diff.
- Gerar script de sincronização → revise o SQL → Executar ou Salvar em arquivo.
Próximos passos
- Configure um provedor de IA para habilitar a geração de SQL por IA.
- Use o AI Task Scheduler quando precisar que um LLM execute uma consulta, resuma o resultado e poste em algum lugar num agendamento cron.
- Para testes de carga e capacidade do próprio banco, o módulo Load Testing consegue pressionar os endpoints HTTP que ficam à frente dele.
Ajuda e feedback
Encontrou um bug ou quer suporte a um novo engine? Escreva para nós pelo formulário de contato.