Planejador de migracao CSV para banco de dados

Infere um schema relacional a partir de CSV e gera planos CREATE TABLE e ALTER para PostgreSQL, MySQL, SQLite ou SQL Server

Cole o CSV ou envie um arquivo. A ferramenta analisa cada coluna, infere tipos SQL, sugere chave primaria, aponta possiveis chaves externas e indices e depois gera o DDL conforme o banco de destino.

Como usar:

  • Entrada CSV / Arquivo CSV: forneca um conjunto com cabecalho
  • Nome da tabela: define o nome da tabela de saida
  • Banco de destino: PostgreSQL, MySQL, SQLite ou SQL Server
  • Schema existente: CREATE TABLE ou DDL atual para gerar ALTER ADD
  • Overrides de schema (JSON): permite corrigir tipos ou sugerir indices/referencias, por exemplo {"price":"DECIMAL(14,4)","customer_id":{"type":"BIGINT","index":true}}
  • Gerar plano ALTER: inclui ALTER quando houver schema existente

O que e inferido:

  • texto, inteiro, decimal, booleano, data e data-hora
  • colunas nulas e nao nulas
  • candidatos a PK como id, *_id, code ou uuid
  • pistas de chave estrangeira para userid ou productid
  • sugestoes de indice para colunas de alta cardinalidade

Exemplos de resultados

1 Exemplos

Transformar um CSV de pedidos em um schema inicial PostgreSQL

Infere tipos, PK e indices para entregar um rascunho de DDL ao time tecnico.

Inferred schema for customer_orders
Ver parâmetros de entrada
{ "csvInput": "id,customer_id,email,total,created_at,status\n1,10,[email protected],120.50,2026-04-05,paid\n2,11,[email protected],40.00,2026-04-06,pending", "csvFile": "", "tableName": "customer_orders", "targetDatabase": "postgresql", "existingSchema": "CREATE TABLE customer_orders (\n id INTEGER PRIMARY KEY\n);", "schemaOverrides": "{\"status\":\"VARCHAR(32)\",\"customer_id\":{\"type\":\"BIGINT\",\"index\":true}}", "generateAlterPlan": true }

Click to upload file or drag and drop file here

Maximum file size: 20MB Supported formats: text/csv, text/plain, .csv

Fatos principais

Categoria
Dados e tabelas
Tipos de entrada
textarea, file, text, select, checkbox
Tipo de saída
html
Cobertura de amostras
4
API disponível
Yes

Visão geral

O Planejador de Migração CSV para Banco de Dados é uma ferramenta utilitária que analisa dados em formato CSV para inferir automaticamente um schema relacional e gerar scripts SQL. Com suporte nativo para PostgreSQL, MySQL, SQLite e SQL Server, ele identifica tipos de dados, sugere chaves primárias e estrangeiras, e cria comandos CREATE TABLE ou planos ALTER para facilitar a importação de dados e a evolução contínua do seu banco de dados.

Quando usar

  • Quando você precisa importar planilhas CSV para um banco de dados relacional e não quer escrever o comando CREATE TABLE e mapear os tipos de dados manualmente.
  • Ao atualizar uma tabela existente com novas colunas presentes em um arquivo CSV recente, gerando automaticamente os comandos ALTER necessários.
  • Para prototipar rapidamente a modelagem de dados a partir de exportações de sistemas legados, obtendo sugestões automáticas de índices e chaves.

Como funciona

  • Cole os dados CSV diretamente no campo de texto ou faça o upload de um arquivo contendo uma linha de cabeçalho.
  • Defina o nome da tabela, escolha o banco de dados de destino (PostgreSQL, MySQL, SQLite ou SQL Server) e, opcionalmente, forneça o schema atual.
  • A ferramenta analisa cada coluna para inferir tipos de dados (texto, inteiro, decimal, booleano, data), nulidade e candidatos a chaves primárias ou estrangeiras.
  • Copie o código SQL gerado, que incluirá a criação da tabela ou as instruções ALTER para adicionar colunas ausentes, aplicando quaisquer overrides JSON definidos.

Casos de uso

Engenheiros de dados criando pipelines de ingestão que precisam mapear rapidamente arquivos CSV de terceiros para tabelas SQL estruturadas.
Desenvolvedores backend migrando dados de planilhas de clientes para um novo banco de dados relacional durante a fase de setup de um projeto.
Analistas de dados que precisam carregar relatórios ad-hoc em um banco de dados SQLite local para realizar consultas complexas.

Exemplos

1. Criação de tabela para dados de clientes

Desenvolvedor Backend
Contexto
A equipe de marketing exportou uma lista de clientes de um CRM antigo em formato CSV contendo IDs, e-mails e datas de cadastro.
Problema
É necessário criar a tabela no PostgreSQL com os tipos de dados corretos antes de importar os registros, sem escrever o DDL do zero.
Como usar
Faça o upload do arquivo CSV, defina o 'Nome da tabela' como 'clientes_crm' e selecione 'PostgreSQL' como banco de destino.
Resultado
A ferramenta gera um CREATE TABLE clientes_crm inferindo colunas como id (INTEGER PRIMARY KEY), email (VARCHAR), e data_cadastro (DATE).

2. Atualização de schema com novas colunas

Engenheiro de Dados
Contexto
Um sistema parceiro começou a enviar um CSV de pedidos com duas colunas novas: taxa_entrega e status_pagamento.
Problema
Atualizar a tabela existente no MySQL para acomodar os novos campos sem recriar a tabela e perder os dados atuais.
Como usar
Cole o CSV atualizado, insira o DDL antigo no campo 'Schema existente', ative a opção 'Gerar plano ALTER' e defina o tipo exato da taxa no override.
Configuração de exemplo
{"taxa_entrega":"DECIMAL(10,2)"}
Resultado
O gerador compara o CSV com o schema existente e produz os comandos ALTER TABLE pedidos ADD COLUMN taxa_entrega DECIMAL(10,2) e ADD COLUMN status_pagamento VARCHAR(255).

Testar com amostras

json, csv, sql

Hubs relacionados

FAQ

Quais bancos de dados são suportados pela ferramenta?

A ferramenta gera sintaxe DDL otimizada para PostgreSQL, MySQL, SQLite e SQL Server, adaptando os tipos de dados para o dialeto de cada sistema.

Como a ferramenta sugere chaves primárias e estrangeiras?

Ela analisa os nomes das colunas (como id, uuid, user_id) e a unicidade dos valores nas linhas do CSV para sugerir chaves primárias e dar pistas de chaves estrangeiras.

O que é o campo de Overrides de schema (JSON)?

É um campo opcional onde você pode forçar tipos de dados específicos ou sugerir índices manualmente, como definir uma coluna de preço estritamente como DECIMAL(14,4).

Como funciona a geração do plano ALTER?

Se você fornecer o comando CREATE TABLE atual no campo 'Schema existente', a ferramenta comparará a estrutura com o CSV e gerará comandos ALTER TABLE ADD apenas para as novas colunas encontradas.

Qual é o limite de tamanho para o arquivo CSV?

Você pode fazer upload de arquivos CSV de até 20 MB. Para conjuntos de dados maiores, recomendamos enviar uma amostra representativa com as primeiras milhares de linhas para inferir o schema corretamente.

Documentação da API

Ponto final da solicitação

POST /pt/api/tools/csv-to-database-migration-planner

Parâmetros da solicitação

Nome do parâmetro Tipo Requerido Descrição
csvInput textarea Não -
csvFile file (Upload necessário) Não -
tableName text Não -
targetDatabase select Não -
existingSchema textarea Não -
schemaOverrides textarea Não -
generateAlterPlan checkbox Não -

Os parâmetros de tipo arquivo precisam ser carregados primeiro via POST /upload/csv-to-database-migration-planner para obter filePath, depois filePath deve ser passado ao campo de arquivo correspondente.

Formato de resposta

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Documentação de MCP

Adicione este ferramenta à sua configuração de servidor MCP:

{
  "mcpServers": {
    "elysiatools-csv-to-database-migration-planner": {
      "name": "csv-to-database-migration-planner",
      "description": "Infere um schema relacional a partir de CSV e gera planos CREATE TABLE e ALTER para PostgreSQL, MySQL, SQLite ou SQL Server",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=csv-to-database-migration-planner",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Você pode encadear várias ferramentas, ex: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máx 20 ferramentas.

Suporta links de arquivos URL ou codificação Base64 para parâmetros de arquivo.

Se você encontrar algum problema, por favor, entre em contato conosco em [email protected]