Azimute é um ERD de última geração que permite projetar, explorar, documentar e analisar seu banco de dados. O que é um ERD, você pergunta? ERD significa Diagrama de relacionamento de entidades. Porque, sim, você pode ter relacionamentos de entidades (virtuais) em um banco de dados de documentos. Como uma imagem é melhor do que mil palavras, aqui está o tipo de resultado que você pode obter ao conectar um banco de dados ao Azimutt.

Então, como ele funciona com o Couchbase? No momento, não é possível conectar seu cluster diretamente a ele, é necessário exportar um esquema Azimutt do cluster, mas é bastante simples.
Você precisa de seu nome de usuário, senha , URL de conexão e um terminal de linha de comando. Se você não tiver uma instância disponível, poderá colocar uma em funcionamento rapidamente com nossa avaliação gratuita em cloud.couchbase.com. Enquanto escrevia este post, criei um novo usuário que só tem acesso ao amostra de viagem que deve ser importado automaticamente ao criar uma nova avaliação.
Em seu terminal, execute:
|
1 |
npx azimute exportação couchbase "couchbases://userName:P4ssword@cb.zw-scs3n3uw-t7ww.cloud.couchbase.com" --saída viagens-amostra.json |
Esse comando navega por todos os seus buckets, escopos e coleções, obtém algumas amostras de documentos deles e cria um esquema inferido a partir desses documentos. Você pode especificar exatamente qual bucket exportar com o parâmetro -bucket. Dê uma olhada na lista completa na página página npm associada.
A saída produz um arquivo JSON contendo algo como:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
"tabelas": [ { "schema": "amostra de viagem", "tabela": "inventory__airline", "colunas": [ { "name" (nome): "indicativo", "tipo": "string", "nullable" (nulo): verdadeiro }, { "name" (nome): "país", "tipo": "string" }, { "name" (nome): "iata", "tipo": "string", "nullable" (nulo): verdadeiro }, ... |
A exportação pode apresentar problemas se você não tiver um índice primário em cada namespace que está sendo importado. Por exemplo, não há um índice primário para o namespace tenant_0X escopos do amostra de viagemmas podemos ignorar isso.
A partir daí, você está pronto para ir para azimutt.app e crie sua conta (e dê uma olhada na lista completa de recursos enquanto estiver lá). Isso é o que vejo ao fazer login com minha conta do GitHub:

A partir daí, você pode criar um novo projeto. Como vimos anteriormente, no momento não há como conectar diretamente seu banco de dados, o que não é problema. Em vez disso, clique em De JSON e carregue seu amostra de viagem.json gerado anteriormente.

Agora você está pronto para explorar seus diferentes diagramas de entidade, documentá-los, adicionar memorandos e compartilhá-los com seus colegas.

Eu mesmo adicionei as relações. Portanto, é claro que isso é mais ED do que ERD, mas você ainda tem uma visão geral do conteúdo do seu balde e a capacidade de documentar seus dados e relacionamentos entre entidades, mesmo que não possa aplicá-los no nível do esquema, como faria com um RDBMS tradicional.
Também há suporte para estruturas aninhadas, como a reviews.rating nesta captura de tela:

Se você gostou do que viu e quer apoiar esse projeto, pode votar neles em Caça ao produto. Eles ficam felizes em receber contribuições e, se você quiser ampliar o suporte ao Couchbase, há algumas tarefas interessantes disponíveis:
-
- Adicionar suporte a relações importando índices existentes
- Adicionar suporte para metadados de chave/documento na exportação do esquema
- Essas duas tarefas seriam implementadas no seguinte arquivo e foi criado um problema para rastrear isso
- Criar um plug-in VSCode
- Incorporar Azimutt em Electron/Tauri
Parabéns à equipe da Azimutt por criar um produto tão legal 🙏 Eles são bastante ativos e receptivos, e eu tive a oportunidade de conversar com eles em seu Slack enquanto o experimentava.