15 incompatibilidades detectadas automaticamente

Sua migração de banco vai quebrar no primeiro DELETE.Descubra o risco antes do script.

Cole seu código T-SQL (SQL Server) e faça uma auditoria instantânea de sintaxe para PostgreSQL. Identifique JOINs inválidos, funções incompatíveis e queries perigosas antes de rodar em produção.

🔒 100% Seguro — código nunca armazenado</> Análise via AST Parser + Regex Semântico⚡ Resultado em < 1 segundo
Diferencial SQLShifter

Sua equipe vai migrar o código sem abrir arquivo por arquivo.

Faça upload dos seus repositórios em Java, C# (.NET), JavaScript, Python ou PHP e nossa ferramenta extrai, analisa e aponta exatamente quais classes do seu sistema vão quebrar após a migração do banco de dados.

  • Encontra queries dentro do repositório automaticamente
  • Relatório com arquivo, linha e SQL extraído — pronto para o time
Escanear código-fonte grátis
PedidoService.java — linha 42RISCO ALTO
@Query(value = """
    SELECT TOP 100 p.* FROM dbo.Pedidos p
    INNER JOIN dbo.Clientes c ON c.Id = p.ClienteId
    WHERE p.Data > DATEADD(month, -6, GETDATE())
    """, nativeQuery = true)
List<Pedido> findRecentes();

⚠ Encontramos query de risco

dbo. · TOP · DATEADD · DELETE/JOIN pattern — incompatível com PostgreSQL

Java

@Query, @NamedNativeQuery, strings JDBC

C# .NET

Dapper, EF FromSqlRaw, @"verbatim"

JS / TS

Template literals, Sequelize, pg

Python

Django .raw(), cursor.execute

PHP

PDO, sqlsrv, variáveis $sql

Painel de Impacto de Migração

Cole seu T-SQL à esquerda — o risco aparece à direita instantaneamente.

migration_script.sql — SQL Server (T-SQL)
123456789101112131415161718
Nível de Risco
ALTO
Falha garantida em produção
Incompatibilidades
4 encontradas
em 2 statements
Pontos Críticos Detectados
  • Linha 1–5: DELETE com INNER JOIN

    PostgreSQL rejeita JOIN direto no DELETE. Exige cláusula USING.

  • Linha 13: Coluna calculada AS (expr)

    Exige GENERATED ALWAYS AS (expr) STORED no PostgreSQL.

  • Linha 1: Prefixo dbo. (schema)

    dbo. não existe por padrão no PostgreSQL — use public. ou remova.

  • ⚠️

    Linha 18: DATEDIFF não existe no PostgreSQL

    Use (d2::date - d1::date) ou EXTRACT conforme a unidade.

PostgreSQL — Código Traduzido
DELETE FROM funcionarios t
USING pagamentos p
WHERE t.funcionario_id = p.func_id
  AND p.status = 'CANCELADO';

CREATE TABLE funcionarios (
    id SERIAL PRIMARY KEY,
    liquido NUMERIC GENERATED ALWAYS AS
        (salario - COALESCE(desconto, 0)) STORED
);
🔒

Código convertido e otimizado pronto.

Faça upgrade para desbloquear o script corrigido.

Desbloquear Código Corrigido
Os Assassinos Silenciosos

Erros que passam na revisão e explodem em produção

Cada um destes padrões é aceito no SQL Server e gera falha imediata no PostgreSQL.

🗑️

DELETE com JOIN

T-SQL aceita DELETE t FROM Tabela t JOIN. PostgreSQL rejeita JOIN direto — exige USING.

✗ DELETE t FROM t JOIN p ON...
✓ DELETE FROM t USING p WHERE...
📊

PIVOT → CASE WHEN

PostgreSQL não tem PIVOT nativo. Relatórios em matriz exigem SUM(CASE WHEN...) + GROUP BY.

✗ PIVOT(SUM(val) FOR mes IN...)
✓ SUM(CASE WHEN mes='Q1'...)
📅

DATEDIFF / GETDATE()

DATEDIFF e GETDATE() não existem no PostgreSQL. NOW() não existe no SQL Server.

✗ DATEDIFF(day, d1, GETDATE())
✓ (NOW()::date - d1::date)
⚠️

TRY/CATCH + @@ROWCOUNT

BEGIN TRY e @@ROWCOUNT não existem em PL/pgSQL — o código compila mas ignora erros silenciosamente.

✗ BEGIN TRY ... IF @@ROWCOUNT = 0
✓ EXCEPTION WHEN ... IF NOT FOUND

Como funciona

3 passos para sair do risco para a certeza.

📁
Passo 1

Envie .sql ou repositório

Upload de scripts SQL ou arquivos de código (.java, .cs, .py…) — extraímos as queries escondidas. Nada é armazenado.

🔍
Passo 2

Receba o Relatório de Impacto

Diagnóstico visual com % de compatibilidade, pontos críticos mapeados e notas de especialista.

⬇️
Passo 3 (Pro)

Exporte o projeto convertido

Baixe o script PostgreSQL completo — semântica preservada, índices mantidos, procedures reestruturadas.

Pague só pelo que usar

Créditos por arquivo — pagamento único, sem mensalidade.

Gratuito

R$ 0

3 arquivos · até 1000 linhas por arquivo

  • 3 arquivos vitalícios
  • Até 1.000 linhas por arquivo
  • Relatório de impacto completo
  • Scripts .sql e código Java/C#/JS/Python/PHP
  • ZIP convertido (créditos pagos)
  • Exportação de scripts
Começar grátis

5 arquivos

R$ 19,00

5 arquivos

até 2000 linhas por arquivo

Pagamento único — créditos não expiram

Comprar créditos

15 arquivos

R$ 49,00

15 arquivos

até 3000 linhas por arquivo

Pagamento único — créditos não expiram

Comprar créditos

40 arquivos

R$ 99,00

40 arquivos

até 5000 linhas por arquivo

Pagamento único — créditos não expiram

Comprar créditos

100 arquivos

R$ 199,00

100 arquivos

até 10000 linhas por arquivo

Pagamento único — créditos não expiram

Comprar créditos