πŸ”§ CorreΓ§Γ£o AutomΓ‘tica de Mapeamento

βœ“ Conectado ao PostgreSQL

βœ“ Conectado ao MySQL

πŸ“‹ Processando: cliente β†’ clients

βœ“ id_cliente β†’ id (integer)
βœ“ razaosocial β†’ razao_social
βœ“ cnpj β†’ cnpj_cpf
βœ“ cpf β†’ cnpj_cpf
βœ“ emailnf β†’ email_nf
βœ“ inscestadual β†’ inscricao_estadual
βœ“ inscmunicipal β†’ inscricao_municipal
βœ“ habilitado β†’ ativo (boolean)
βœ“ pessoajuridica β†’ tipo_pessoa (tipo_pessoa)
βœ“ nomereferencia β†’ nome_fantasia
βœ“ company_id (valor fixo: 1)

πŸ“‹ Processando: contato β†’ contatos

βœ“ id_contato β†’ id (integer)
βœ“ nome β†’ nome
βœ“ telefone β†’ telefone
βœ“ email β†’ email
βœ“ id_cliente β†’ cliente_id (integer)
βœ“ company_id (valor fixo: 1)

πŸ“‹ Processando: obra β†’ obras

βœ“ id_obra β†’ id (integer)
βœ“ nome β†’ nome
βœ“ cei β†’ cei
βœ“ iss β†’ iss (decimal)
βœ“ art β†’ art
βœ“ status β†’ status
βœ“ previsaoinicio β†’ data_inicio_prevista (datetime)
βœ“ previsaotermino β†’ data_fim_prevista (datetime)
βœ“ precoaluguel β†’ valor_aluguel (decimal)
βœ“ precoservico β†’ valor_servico (decimal)
βœ“ engenheiro β†’ engenheiro_cliente
βœ“ telefoneengenheiro β†’ telefone_engenheiro
βœ“ emailengenheiro β†’ email_engenheiro
βœ“ engenheiroimpacto β†’ engenheiro_impacto
βœ“ id_cliente β†’ client_id (integer)
βœ“ company_id (valor fixo: 1)

βœ… Novo mapeamento salvo com sucesso!

Arquivo: /var/www/html/migration-postgresql-mysql/config/mapping.json

ConteΓΊdo:

{
    "_comment": "Mapeamento corrigido automaticamente em 2026-01-27 04:06:30",
    "_instructions": "Mapeamento baseado na estrutura real das tabelas",
    "cliente": {
        "table_source": "cliente",
        "table_target": "clients",
        "primary_key": "id",
        "fields": {
            "id_cliente": {
                "target": "id",
                "transform": "integer"
            },
            "razaosocial": "razao_social",
            "cnpj": "cnpj_cpf",
            "cpf": "cnpj_cpf",
            "emailnf": "email_nf",
            "inscestadual": "inscricao_estadual",
            "inscmunicipal": "inscricao_municipal",
            "habilitado": {
                "target": "ativo",
                "transform": "boolean"
            },
            "pessoajuridica": {
                "target": "tipo_pessoa",
                "transform": "tipo_pessoa"
            },
            "nomereferencia": "nome_fantasia",
            "_fixed_company_id": {
                "target": "company_id",
                "value": 1
            }
        }
    },
    "contato": {
        "table_source": "contato",
        "table_target": "contatos",
        "primary_key": "id",
        "fields": {
            "id_contato": {
                "target": "id",
                "transform": "integer"
            },
            "nome": "nome",
            "telefone": "telefone",
            "email": "email",
            "id_cliente": {
                "target": "cliente_id",
                "transform": "integer"
            },
            "_fixed_company_id": {
                "target": "company_id",
                "value": 1
            }
        }
    },
    "obra": {
        "table_source": "obra",
        "table_target": "obras",
        "primary_key": "id",
        "fields": {
            "id_obra": {
                "target": "id",
                "transform": "integer"
            },
            "nome": "nome",
            "cei": "cei",
            "iss": {
                "target": "iss",
                "transform": "decimal"
            },
            "art": "art",
            "status": "status",
            "previsaoinicio": {
                "target": "data_inicio_prevista",
                "transform": "datetime"
            },
            "previsaotermino": {
                "target": "data_fim_prevista",
                "transform": "datetime"
            },
            "precoaluguel": {
                "target": "valor_aluguel",
                "transform": "decimal"
            },
            "precoservico": {
                "target": "valor_servico",
                "transform": "decimal"
            },
            "engenheiro": "engenheiro_cliente",
            "telefoneengenheiro": "telefone_engenheiro",
            "emailengenheiro": "email_engenheiro",
            "engenheiroimpacto": "engenheiro_impacto",
            "id_cliente": {
                "target": "client_id",
                "transform": "integer"
            },
            "_fixed_company_id": {
                "target": "company_id",
                "value": 1
            }
        }
    }
}

πŸ“‹ PrΓ³ximos Passos:

  1. Verificar estrutura novamente
  2. Testar inserΓ§Γ£o
  3. Executar migraΓ§Γ£o completa