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:
_idvira 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.
