Skip to content

Migrar um banco ​

Migrar para outro banco… copia um schema inteiro, estrutura e dados, para outro banco. Abra pelo menu … do schema na barra lateral.

  • De: qualquer conexão SQL.
  • Para: uma conexão PostgreSQL, MySQL, SQLite ou SQL Server que aceita escrita, ou MongoDB (veja SQL e MongoDB).

Como funciona ​

  1. Escolha a Conexão de destino. A janela conta tabelas e chaves estrangeiras e lista os avisos.
  2. Pré-visualizar DDL mostra todos os comandos que criam a estrutura.
  3. Migrar cria as tabelas, copia as linhas das tabelas pai primeiro, em lotes de 1.000, e depois adiciona chaves estrangeiras e índices.

Substituir tabelas existentes no destino apaga antes as tabelas com o mesmo nome. As tabelas são criadas no schema padrão do destino.

O que é levado ​

Quanto sobrevive depende da origem. Origens PostgreSQL são lidas em detalhe:

  • tipos, convertidos para o equivalente no destino;
  • NOT NULL, chaves primárias (compostas também) e constraints UNIQUE;
  • chaves estrangeiras, inclusive compostas (o SQLite não aceita adicionar depois de criar a tabela, então lá elas ficam de fora, com aviso);
  • índices secundários em colunas simples;
  • enums: um CREATE TYPE no PostgreSQL, um enum na coluna no MySQL, texto com CHECK no SQL Server e no SQLite;
  • arrays, como arrays no PostgreSQL e texto nos outros;
  • colunas auto-incremento e identity, com as sequences acertadas depois da cópia;
  • defaults portáveis (literais, booleanos, now(), gen_random_uuid()); os outros ficam de fora, com aviso.

Colunas geradas viram colunas normais. Views, funções e triggers aparecem em Não migrado para você portar na mão.

A partir de MySQL, SQLite, SQL Server, ClickHouse e Trino, o Lily leva colunas, tipos, se aceitam NULL, a chave primária e chaves estrangeiras de uma coluna. Defaults, auto-incremento, constraints únicas, índices e enums não são copiados, e views não são listadas.

Tipos que o Lily não sabe converter viram texto, com aviso.

Se falhar ​

O Lily apaga as tabelas que criou nessa execução, das filhas para as pais, e diz quantas desfez. Tabelas que o Substituir tinha apagado não voltam, e os tipos enum criados ficam.

As linhas são copiadas em lotes, não numa transação grande, e não tem confirmação extra para destinos de Produção. Evite escrever na origem enquanto roda, principalmente em tabelas sem chave primária, que são copiadas sem ordem definida.

O Lily DB é gratuito para uso pessoal e comercial.