46 pessoas cuja identidade era um número de telefone
46 membros deixaram de existir porque uma migração usou o telefone como identidade. Levaram consigo €8.511 de receita.

The €100 Lakehouse — 9/12
46 membros deixaram de existir porque uma migração usou o telefone como identidade. Levaram consigo €8.511 de receita.
O importador usava o telefone — um campo opcional — como chave de identidade. Reimplementei o leitor XLSX e o norm_phone verbatim e reproduzi a execução linha a linha:
→ 42 saltados: sem telefone utilizável
→ 10: telefone duplicado (um partial unique index)
→ 4: data de nascimento no futuro (typos no ficheiro)
→ 2: telefone já de outra pessoa
1.437 linhas → 1.379 importadas, 58 skips — igual ao log original.
O indício, entre os membros criados: nem um telefone em branco, e nenhum repetido — numa população onde famílias partilham número. Não é coincidência, é o índice.
A assinatura familiar: números de sócio adjacentes — 421/422, 622/623, 757/758. Inscreveram-se juntos; ficou um.
E os rankings discordam. "Sem telefone" cortou mais cabeças (20 membros) e pôs €0,00 no buraco de maio — dormentes. Os 4 com DOB futura pagavam todos: €269 em maio. Ordena os defeitos pelo dinheiro que sangram hoje, não pelas cabeças que cortam — só um desses rankings paga contas.
Perder a person era perder todos os pagamentos: 138 pagamentos, €8.511 all-time.
Qual dos sistemas estava a mentir — o novo ou o antigo? Para a semana: o veredicto que ninguém ousa escrever.
E vocês: qual foi o campo mais inocente que já viram promovido a chave de identidade — e o que apagou em silêncio?
Databricks · dbt · Airflow · Terraform · AWS
P.S. Novo post tech todas as quartas-feiras.
#100EuroLakehouse #DataEngineering #DataMigration
Comentários