Pular para o conteúdo

Guia de migração

Numa versão maior, o guia que diz a cada pessoa o que trocar — com a busca que acha cada uso.

Uma versão maior sem guia de migração deixa cada pessoa descobrir sozinha o que quebrou. O guia é uma tabela: o que era, o que é agora, e como achar cada uso no próprio código.

MIGRACAO.md
# Migrar da 1.x para a 2.0

| Era (1.x)                 | Agora (2.0)                    | Achar                         |
|---------------------------|--------------------------------|-------------------------------|
| `total(itens)`            | `calcular_total(itens)`        | `grep -rn "\.total(" src/`    |
| `frete(uf)`               | `calcular_frete(uf, peso := 1)` | `grep -rn "\.frete(" src/`    |
| `Pedido.cliente` (texto)  | `Pedido.cliente` (record)       | `dataforge check` acusa        |
  1. Uma versão menor antes, com tudo que vai sair marcado com obsoleta — quem roda com DF_OBSOLETOS=erro acha cada uso sozinho.
  2. O guia lista cada quebra com o como achar: um grep, ou “o `check` acusa” quando o tipo mudou.
  3. Onde der, mantenha o nome velho por uma versão com Evolucao.renomeada — ele funciona e avisa.
dataforge
adopt Arcane.Evolucao as Ev

action calcular_total(itens):
    yield sum(itens)

// O nome velho, por mais uma versao: funciona e avisa.
total := Ev.renomeada(calcular_total, "total", "2.0")
assert total([1, 2, 3]) is 6
assert Ev.avisos()[0]["acao"] is "total"