
Cada versão principal do Odoo tem suporte durante três anos, e cada nova versão traz funcionalidades, correções e melhor desempenho. Permanecer numa versão antiga torna a atualização futura mais difícil, porque a distância entre versões não para de aumentar. Este guia explica como funciona realmente uma atualização, passo a passo, para cada tipo de alojamento, e o que uma empresa deve preparar antes de migrar a sua base de dados de produção.
Nota sobre as fontes: os passos abaixo seguem a documentação oficial de atualização e os guias para programadores do Odoo. Os comandos, os menus e as condições do serviço podem mudar entre versões, por isso confirme sempre as instruções atuais na documentação oficial da sua versão de destino antes de começar.
O que é uma atualização e o que não é
Uma atualização transfere a sua base de dados existente, com todos os seus dados, de uma versão mais antiga do Odoo para uma versão mais recente com suporte. O serviço de atualização do Odoo converte a estrutura de dados; a sua equipa testa depois o resultado antes da mudança definitiva.
O serviço de atualização não abrange a reversão para uma versão anterior, a mudança entre Community e Enterprise, a alteração do tipo de alojamento nem a migração a partir de outro ERP. Cada uma destas situações é um projeto à parte.
Com que frequência tem de atualizar, consoante o tipo de alojamento
- Odoo Online: a atualização de versão principal é obrigatória de dois em dois anos. O Odoo avisa-o com algumas semanas de antecedência, executa uma atualização de teste silenciosa e, se não tomar nenhuma ação até à data limite, atualiza a base de dados automaticamente.
- Odoo.sh: após os três anos de suporte da sua versão, dispõe de mais dois anos para concluir a atualização, e a plataforma notifica-o quando esta se torna obrigatória.
- On-premise: pode manter a mesma versão indefinidamente, mas não é recomendável. Quanto menor a distância entre versões, mais fácil e mais barata é a atualização.

Os sete passos do processo oficial
- Passo 1: pedir uma base de dados de teste atualizada.
- Passo 2: atualizar o código-fonte dos seus módulos personalizados, caso existam.
- Passo 3: testar exaustivamente a base de dados atualizada.
- Passo 4: comunicar ao suporte do Odoo qualquer problema detetado durante os testes, na fase de migração.
- Passo 5: quando tiver confiança no resultado, planear a atualização de produção.
- Passo 6: pedir a atualização de produção. A base de dados fica indisponível enquanto esta decorre.
- Passo 7: comunicar ao suporte do Odoo qualquer problema detetado após a entrada em produção, na fase de produção.
Passo 1: pedir uma base de dados de teste atualizada
No Odoo Online, abra o gestor de bases de dados, selecione a base de dados, clique em Gerir e depois em Atualizar. Escolha a versão de destino, indique um endereço de e-mail para as notificações, mantenha a finalidade definida como Teste e confirme. Quando o processo terminar, recebe um e-mail com uma ligação para a base de dados de teste.
No Odoo.sh, abra o separador Atualizar e inicie a atualização num ramo de staging. A cópia de segurança diária mais recente da produção é enviada para a plataforma de atualização, e o ramo entra num modo especial em que cada novo commit restaura a cópia de segurança atualizada e atualiza os seus módulos personalizados. O registo da atualização está disponível no ficheiro upgrade.log, dentro da pasta de registos da build de staging atualizada.
Em on-premise, execute o script oficial de atualização no servidor da base de dados com a opção de teste, o nome da base de dados e a versão de destino, conforme indicado na documentação de atualização do Odoo. O servidor precisa de acesso de rede aos servidores de atualização. A cópia devolvida não inclui o filestore, por isso junte a pasta de filestore entregue ao filestore de produção antes de testar.
Após cada atualização bem-sucedida, é anexado um relatório de atualização ao e-mail de confirmação, que é também publicado no Discuss para os administradores. Leia-o com atenção: indica o que mudou e o que requer atenção.
Passo 2: atualizar os seus módulos personalizados
Uma base de dados que contenha módulos personalizados não pode ser atualizada enquanto esses módulos não tiverem uma versão compatível com a versão de destino. Comece este trabalho em paralelo com o pedido de teste.
- Congele o desenvolvimento: deixe de acrescentar funcionalidades e aceite apenas correções de erros até a atualização estar concluída.
- Compare as suas personalizações com a nova versão e elimine tudo o que o Odoo passou a oferecer de origem.
- Instale cada módulo numa base de dados vazia da versão de destino e corrija todos os erros e avisos.
- Verifique vistas, modelos de e-mail, relatórios, ações de servidor e ações automatizadas e campos calculados, e acrescente testes automatizados quando for útil.
- Escreva scripts de atualização para as alterações de dados: modelos, campos e IDs externos renomeados, dados recuperados de modelos removidos e campos recalculados.
Os scripts de atualização ficam no módulo, numa pasta chamada upgrades ou migrations, seguida de uma pasta com a versão completa do módulo, por exemplo 19.0.2.0. Cada ficheiro começa por pre-, post- ou end-, o que determina quando é executado: antes de o módulo ser carregado, depois de o módulo ser atualizado ou depois de todos os módulos serem atualizados. Cada ficheiro define uma função migrate que recebe o cursor da base de dados e a versão instalada.
No Odoo.sh, a plataforma executa estes scripts quando atualiza os seus módulos. Em on-premise, restaura o dump atualizado e atualiza os seus módulos com o odoo-bin e a opção de atualização. No Odoo Online não é possível instalar módulos Python personalizados, pelo que o código personalizado tem de ser criado com o Studio.
Passo 3: testar a base de dados atualizada
As bases de dados de teste são neutralizadas para proteger a produção: as ações agendadas são desativadas, os servidores de correio de saída são substituídos por um servidor fictício, os fornecedores de pagamento e as transportadoras passam para o modo de teste e a sincronização bancária é desligada. Peça credenciais de sandbox ao seu fornecedor bancário se precisar de a testar.
- Verifique se as vistas ativas em produção continuam ativas após a atualização.
- Imprima faturas, orçamentos, guias de remessa e outros relatórios e compare-os com os de produção.
- Crie e edite registos e teste filtros de pesquisa, modelos de e-mail e exportações.
- Verifique as páginas do website e execute os seus principais fluxos de negócio de ponta a ponta, por exemplo, do orçamento à fatura e ao pagamento, e da compra à receção e à fatura de fornecedor.
- Teste as integrações externas, como API e EDI, as ações automatizadas, as ações de servidor e os fluxos de trabalho entre aplicações.
- Compare os principais valores com os de produção: valorização do stock, saldos contabilísticos, contas a receber e contas a pagar em aberto.
Atribua a cada departamento um guião de testes escrito e um responsável, e registe todos os resultados. Um teste que não fica registado por escrito não aconteceu.
Passo 4: comunicar problemas antes da entrada em produção
Comunique todas as diferenças ou erros detetados na base de dados de teste ao suporte do Odoo através da página de suporte, escolhendo a fase de migração. O Odoo corrige então os scripts de atualização e o utilizador pede uma nova base de dados de teste para confirmar a correção. Repita até os resultados estarem limpos.
Passo 5: planear a atualização de produção
- Escolha um período de pouca atividade, porque a base de dados fica indisponível durante a atualização.
- Peça uma nova base de dados de teste pouco antes da entrada em produção e faça um ensaio completo na véspera.
- Informe os utilizadores sobre o período de indisponibilidade e interrompa a introdução de dados antes do início da atualização.
- Faça e verifique uma cópia de segurança, e prepare uma breve lista de verificação para as primeiras horas após a entrada em produção.
Passo 6: pedir a atualização de produção
No Odoo Online, repita o pedido de teste, mas defina a finalidade como Produção. Depois de concluída, não é possível regressar à versão anterior.
No Odoo.sh, a atualização de produção começa quando é enviado um novo commit para o ramo de produção, de modo que a base de dados atualizada e os seus módulos personalizados atualizados são implementados em conjunto. Se algo falhar, a plataforma reverte a atualização automaticamente e, em caso de sucesso, mantém uma cópia de segurança feita antes da atualização.
Em on-premise, execute o mesmo script de atualização com a opção de produção em vez da de teste. Qualquer alteração feita em produção depois de a base de dados ser enviada não aparecerá na base de dados atualizada. Junte o filestore antes de iniciar a nova versão.
Passo 7: suporte após a entrada em produção
Mantenha os utilizadores-chave disponíveis durante os primeiros dias, monitorize as ações agendadas, os e-mails e as integrações à medida que são reativados e comunique qualquer problema ao suporte do Odoo na fase de produção.
O que o serviço de atualização abrange para clientes Enterprise
Com o Odoo Enterprise, a atualização para a versão mais recente está incluída na subscrição, bem como o suporte para as diferenças detetadas na base de dados atualizada. Isto abrange as aplicações standard, as personalizações feitas com o Studio enquanto o Studio e a respetiva subscrição estiverem ativos, e as personalizações cobertas por uma subscrição de manutenção de personalizações.
Não abrange a limpeza de dados ou configurações existentes, a atualização de módulos internos ou de terceiros sem contrato de manutenção, nem a formação na nova versão. Os utilizadores Community não estão abrangidos por este serviço e recorrem normalmente ao projeto open source OpenUpgrade, mantido pela Odoo Community Association.
Dicas práticas de projetos de atualização
- Limpe os dados mestre antes de atualizar: parceiros duplicados, artigos não utilizados e configurações arquivadas atrasam os testes.
- Desinstale os módulos que já não utiliza antes do pedido de teste, para que a atualização tenha menos para converter.
- No seu planeamento, considere um salto de versão de cada vez, mesmo que o serviço atualize diretamente para a versão de destino.
- Mantenha uma lista de todas as personalizações com o respetivo responsável e decida para cada uma: manter, substituir pela funcionalidade standard ou abandonar.
- Nunca dispense o ensaio: a maioria das surpresas na entrada em produção vem de dados introduzidos depois do último teste.
Como a 1CBMS pode ajudar
A 1CBMS planeia e executa projetos de atualização do Odoo de ponta a ponta: avaliação da sua versão atual e das personalizações, migração dos módulos personalizados, elaboração de guiões de testes para cada departamento, gestão dos problemas junto do suporte do Odoo e supervisão da entrada em produção. Contacte-nos através do website para analisarmos o seu percurso de atualização.