Migrações, patches e deploy

Uma feature em NEO raramente é só código Python. Normalmente envolve metadados, permissões, assets, patches, fixtures e impacto em formulários e listas.

Migração de schema

neoc --site biblioteca.local migrate

O que a migração costuma processar

  • patches;

  • schema;

  • fixtures;

  • permissões;

  • traduções;

  • recursos que afetam o Desk.

Patches de dados

def execute():
    memberships = neo.get_all(
        "Library Membership",
        fields=["name", "status"],
        filters={"status": ["is", "not set"]}
    )

    for row in memberships:
        neo.db.set_value("Library Membership", row.name, "status", "Pending")

Estratégia para patches seguros

  • escrever patches idempotentes quando possível;

  • limitar escopo;

  • testar em cópia de base;

  • documentar impacto.

Assets e deploy

Mudanças de front-end exigem garantir:

  • build atualizado;

  • cache limpo quando necessário;

  • bundles disponíveis no ambiente;

  • compatibilidade entre backend e UI.

Ordem prática de publicação

  1. atualizar código;

  2. garantir dependências;

  3. build de assets;

  4. migrar;

  5. reiniciar processos necessários;

  6. validar o fluxo crítico.

Validação pós-deploy

Após publicar, valide pelo menos:

  • abertura do Desk;

  • formulário do DocType alterado;

  • lista e filtros;

  • API ou botão novo;

  • report afetado;

  • portal ou website impactado.

Atualizado