🧪 Teste de Inserção Direta

✓ Conectado ao MySQL

✓ Conectado ao PostgreSQL


📋 Testando Primeira Tabela Mapeada

Tabela de teste: obra

Origem (PostgreSQL): obra

Destino (MySQL): sites_obras

✓ Tabela existe no MySQL


Buscando dados do PostgreSQL...

✓ Registro encontrado no PostgreSQL

Array
(
    [id_obra] => 22
    [cei] => 51.216.86909/70 
    [email] => 
    [emailengenheiro] => pauloestevao@colmeia.com.br
    [emailengenheiroimpacto] => protensao@impactoprotensao.com.br
    [emissaocei] => 2013-07-15 00:00:00
    [engenheiro] => PAULO ESTEVÃO GONÇALVES DAMASCENO
    [engenheiroimpacto] => GEORGE
    [iss] => 3%
    [nome] => ED. L’ ESSENCE - 214
    [precoaluguel] => 0
    [precoservico] => 3.28
    [previsaoinicio] => 2013-05-01 00:00:00
    [previsaotermino] => 2014-06-30 00:00:00
    [status] => ANDAMENTO
    [telefoneengenheiro] => (85) 91023584/ (85) 85475366
    [telefoneengenheiroimpacto] => 96299566
    [id_cliente] => 27
    [id_endereco] => 56
    [id_enderecofatura] => 
    [art] => 
    [engenheiroart] => 
)

Transformando dados...

✓ Dados transformados

Array
(
    [id] => 22
    [cei] => 51.216.86909/70 
    [engenheiro_email] => pauloestevao@colmeia.com.br
    [responsavel_impacto] => protensao@impactoprotensao.com.br
    [data_emissao_cei] => 2013-07-15 00:00:00
    [engenheiro_obra] => PAULO ESTEVÃO GONÇALVES DAMASCENO
    [engenheiroimpacto] => GEORGE
    [iss] => 3%
    [nome] => ED. L’ ESSENCE - 214
    [precoaluguel] => 0
    [precoservico] => 3.28
    [previsaoinicio] => 2013-05-01 00:00:00
    [previsaotermino] => 2014-06-30 00:00:00
    [status] => ANDAMENTO
    [telefoneengenheiro] => (85) 91023584/ (85) 85475366
    [telefoneengenheiroimpacto] => 96299566
    [id_cliente] => 27
    [id_endereco] => 56
    [id_enderecofatura] => 0
    [art] => 
    [engenheiroart] => 
)

Verificando estrutura da tabela MySQL...

✓ Campos na tabela MySQL:

Array
(
    [0] => id
    [1] => company_id
    [2] => client_id
    [3] => business_unit_id
    [4] => nome_obra
    [5] => endereco
    [6] => cidade
    [7] => estado
    [8] => latitude
    [9] => longitude
    [10] => status
    [11] => data_inicio
    [12] => data_previsao_termino
    [13] => preco_aluguel
    [14] => preco_servico
    [15] => preco_por_quilo
    [16] => percentual_material
    [17] => percentual_mao_obra
    [18] => engenheiro_obra
    [19] => engenheiro_telefone
    [20] => engenheiro_email
    [21] => responsavel_impacto
    [22] => responsavel_impacto_telefone
    [23] => responsavel_impacto_email
    [24] => cep_art
    [25] => data_emissao_cei
    [26] => iss
    [27] => numero_art
    [28] => engenheiro_art
    [29] => cei
    [30] => tipo_obra
    [31] => cep
    [32] => logradouro
    [33] => numero
    [34] => complemento
    [35] => bairro
    [36] => observacoes
    [37] => created_at
    [38] => updated_at
)

⚠️ CAMPOS DO MAPEAMENTO QUE NÃO EXISTEM NO MYSQL:

Array
(
    [6] => engenheiroimpacto
    [8] => nome
    [9] => precoaluguel
    [10] => precoservico
    [11] => previsaoinicio
    [12] => previsaotermino
    [14] => telefoneengenheiro
    [15] => telefoneengenheiroimpacto
    [16] => id_cliente
    [17] => id_endereco
    [18] => id_enderecofatura
    [19] => art
    [20] => engenheiroart
)

→ Usando apenas campos que existem no MySQL:

Array
(
    [id] => 22
    [cei] => 51.216.86909/70 
    [engenheiro_email] => pauloestevao@colmeia.com.br
    [responsavel_impacto] => protensao@impactoprotensao.com.br
    [data_emissao_cei] => 2013-07-15 00:00:00
    [engenheiro_obra] => PAULO ESTEVÃO GONÇALVES DAMASCENO
    [iss] => 3%
    [status] => ANDAMENTO
)

Inserindo no MySQL...

SQL:

INSERT INTO `sites_obras` (`id`, `cei`, `engenheiro_email`, `responsavel_impacto`, `data_emissao_cei`, `engenheiro_obra`, `iss`, `status`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)

Valores:

Array
(
    [0] => 22
    [1] => 51.216.86909/70 
    [2] => pauloestevao@colmeia.com.br
    [3] => protensao@impactoprotensao.com.br
    [4] => 2013-07-15 00:00:00
    [5] => PAULO ESTEVÃO GONÇALVES DAMASCENO
    [6] => 3%
    [7] => ANDAMENTO
)

❌ ERRO AO INSERIR:

Mensagem: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`impacto_v01`.`sites_obras`, CONSTRAINT `fk_sites_obras_company_id` FOREIGN KEY (`company_id`) REFERENCES `companies` (`id`) ON DELETE CASCADE)
CĂłdigo: 23000
Arquivo: /var/www/html/migration-postgresql-mysql/test-insert.php
Linha: 243

Stack trace:
#0 /var/www/html/migration-postgresql-mysql/test-insert.php(243): PDOStatement->execute()
#1 {main}

→ Ver comparação completa