Skip to content

SQL e MongoDB ​

O Lily converte nos dois sentidos. A sua ferramenta de IA pode refinar o modelo, e o Lily confere o que ela sugere.

SQL para MongoDB ​

Em Migrar um banco, escolha uma conexão MongoDB como destino e depois o Banco de destino (um nome novo serve; o MongoDB cria o banco na primeira escrita).

O Lily monta um modelo de documentos a partir das chaves estrangeiras:

  • Tabelas que ninguém referencia são embutidas no documento da tabela a que pertencem (itens do pedido dentro de pedidos), um nível só.
  • As outras tabelas viram coleções, e as chaves estrangeiras delas para outras coleções viram referências.

A janela mostra uma prévia desse modelo. Com a IA configurada, o Lily manda os nomes das tabelas, as chaves e as chaves estrangeiras (sem linhas) e deixa a IA decidir entre embutir e referenciar; se nenhuma IA responder, ou a resposta não servir, vale o modelo da prévia e o Lily avisa.

Nos documentos:

  • uma chave primária de uma coluna vira _id;
  • as filhas embutidas perdem a coluna que ligava ao pai;
  • valores NULL ficam de fora.

As linhas são lidas em lotes e gravadas um documento por vez. Se algo falhar, as coleções criadas nessa execução são apagadas; documentos gravados em coleções que já existiam ficam, e o Lily diz quais.

MongoDB para SQL ​

Num espaço de trabalho do MongoDB, abra o menu Banco de dados e escolha Converter para SQL…, depois um destino SQL.

O Lily lê até os primeiros 1.000 documentos de cada coleção e deduz as tabelas a partir deles:

  • _id vira a chave primária;
  • campos simples viram colunas;
  • um campo que é sempre um objeto é achatado em colunas pai_filho, um nível só; níveis mais fundos ficam como JSON;
  • um campo que é sempre um array vira uma tabela filha <coleção>_<campo>, com chave estrangeira para o pai, um índice e a posição do elemento;
  • campos com formatos misturados viram colunas JSON.

Com a IA configurada, o Lily pede nomes melhores e tipos mais justos (texto para inteiro, decimal, booleano, data ou timestamp). Cada sugestão é conferida contra os dados e descartada se algum valor não couber. Essa etapa manda até três valores de exemplo por coluna para a sua ferramenta de IA.

Depois as tabelas e linhas são gravadas como numa migração, com o mesmo rollback.

Coleções grandes

Só os primeiros 1.000 documentos de cada coleção são convertidos. Para coleções maiores, use o resultado como schema e leve o resto dos dados de outro jeito.

O Lily DB é gratuito para uso pessoal e comercial.