Migrando do Odoo 17 para o Odoo 18: o que muda, o que quebra e como se preparar

Guia completo para migrar do Odoo 17 para o Odoo 18. Abrange alterações importantes, APIs obsoletas, novos recursos, scripts de migração e estratégias de teste.

E

ECOSIRE Research and Development Team

Equipe ECOSIRE

19 de fevereiro de 20269 min de leitura2.0k Palavras

Migrando do Odoo 17 para o Odoo 18: O que muda, o que quebra e como se preparar

Odoo lança uma versão principal todos os anos, e cada atualização traz novos recursos, melhorias de desempenho e, inevitavelmente, alterações importantes. A migração do Odoo 17 para o Odoo 18 requer um planejamento cuidadoso, especialmente se você executa módulos personalizados ou depende de complementos da comunidade. Este guia cobre tudo o que você precisa saber sobre a migração do Odoo 17 para 18: principais mudanças, possíveis falhas, etapas de preparação e estratégias de teste.

Por que atualizar para o Odoo 18?

Odoo 18 introduz melhorias significativas em toda a plataforma:

  • Novos componentes OWL 3: Componentes frontend reescritos com melhor desempenho e experiência do desenvolvedor
  • Recursos alimentados por IA: Pontuação preditiva de leads, sugestões inteligentes de reconciliação bancária e criação de conteúdo assistida por IA
  • Melhorias nas planilhas: Integração nativa de planilhas com dados Odoo em tempo real, tabelas dinâmicas e edição colaborativa
  • Atualizações de fabricação: Programação de produção melhorada, portal de subcontratação e interface de tablet no chão de fábrica
  • Desempenho: carregamentos de páginas 15 a 25% mais rápidos por meio de agrupamento de ativos otimizado e carregamento lento
  • Construtor de sites: novos blocos de arrastar e soltar, opções de personalização de temas e edição móvel aprimorada

Permanecer em versões desatualizadas significa perder patches de segurança, perder acesso a atualizações de módulos da comunidade e acumular dívidas técnicas que dificultam migrações futuras.

Cronograma: Quanto tempo leva uma migração para Odoo?

| Complexidade | Módulos personalizados | Cronograma estimado | |---|---|---| | Padrão (sem código personalizado) | 0 | 1-2 semanas | | Baixo (poucos campos/visualizações personalizados) | 1-5 | 2-4 semanas | | Médio (fluxos de trabalho personalizados) | 5-15 | 4-8 semanas | | Alto (personalizações profundas) | 15+ | 8-16 semanas |

Esses cronogramas incluem análise, migração, testes e entrada em operação. A maior variável é a complexidade do módulo personalizado.

Mudanças importantes no Odoo 18

Mudanças na estrutura OWL

Odoo 18 continua a migração para OWL 3. Se seus módulos personalizados incluem componentes JavaScript frontend, espere estas mudanças:

Principais alterações no OWL:

  • Ciclo de vida do componente: willStart e willUpdateProps são substituídos por ganchos setup() e onWillStart
  • Compilação de modelos: os modelos QWeb agora são compilados para JavaScript otimizado em tempo de construção, em vez de tempo de execução
  • Injeção de serviços: Acessar serviços exclusivamente através do padrão this.env.services; importações diretas estão obsoletas
  • Pacote de ativos: A estrutura do pacote web.assets_backend foi alterada; atualize suas declarações de ativos __manifest__.py

Exemplo de migração:

// Odoo 17
class MyComponent extends Component {
    async willStart() {
        this.data = await this.rpc('/my/endpoint');
    }
}

// Odoo 18
class MyComponent extends Component {
    setup() {
        onWillStart(async () => {
            this.data = await this.env.services.rpc('/my/endpoint');
        });
    }
}

Mudanças no back-end do Python

Alterações de modelo e campo:

  • fields.Monetary agora requer que currency_field seja explicitamente declarado (não é mais o padrão currency_id)
  • O decorador @api.multi foi totalmente removido (obsoleto desde a v13, mas alguns módulos da comunidade ainda o utilizavam)
  • Mudança de comportamento de sudo(): sudo() sem argumentos agora usa explicitamente o SUPERUSER em vez do usuário OdooBOT
  • search_count() agora aceita um parâmetro opcional limit para otimização de desempenho

Métodos obsoletos para atualização:

| Obsoleto (v17) | Substituição (v18) | |---|---| | CÓDIGO0 | fields.Many2one com atributo domain | | CÓDIGO0 | _post_init_hook no manifesto | | SQL direto em modelos | self.env.cr.execute() com parametrização adequada | | Campo website.published | website.is_published (renomeado) |

Alterações de visualização e modelo

  • Visualização de formulário: O wrapper sheet agora é obrigatório para todas as visualizações de formulário (anteriormente opcional)
  • Visualização de lista: a tag tree foi oficialmente renomeada para list (o alias compatível com versões anteriores ainda funciona, mas aciona avisos de descontinuação)
  • Visualização Kanban: QWeb t-esc agora é o padrão; t-raw requer aceitação explícita para segurança
  • Relatório QWeb: Mecanismo de renderização de PDF atualizado; testar todos os relatórios impressos para alterações de layout

Alterações no esquema do banco de dados

Odoo 18 inclui mudanças estruturais nas tabelas principais:

  • sale.order.line ganha novos campos para gerenciamento de assinaturas
  • account.move.line inclui novas colunas relacionadas à reconciliação
  • Tabela stock.quant reestruturada para melhorar o desempenho com grandes estoques
  • Tabelas mail.message e mail.activity otimizadas com novos índices

Essas alterações de esquema são tratadas pelos scripts de migração integrados do Odoo para módulos padrão, mas os módulos personalizados que fazem referência a essas tabelas precisam de atualizações manuais.

Lista de verificação de preparação pré-migração

1. Audite sua instalação atual

Documente tudo antes de começar:

  • [] Listar todos os módulos instalados (oficial, comunitário e personalizado)
  • [] Grave a versão atual do Odoo e o nível do patch
  • [ ] Documentar todos os desenvolvimentos customizados (campos, modelos, visualizações, relatórios, ações agendadas)
  • [] Listar todas as integrações externas (gateways de pagamento, transportadoras, APIs de terceiros)
  • [] Exportar direitos de acesso atuais e configuração de regras de registro
  • [] Faça backup completo do banco de dados de produção e do armazenamento de arquivos

2. Verifique a compatibilidade do módulo da comunidade

Para cada módulo de comunidade (OCA ou terceiros):

  • Verifique se existe uma versão compatível com Odoo 18 no GitHub ou na loja Odoo Apps
  • Se não existir uma versão compatível, decida se deseja portar o módulo sozinho, encontrar uma alternativa ou remover a funcionalidade
  • Entre em contato com os mantenedores do módulo para saber o ETA nas portas v18

3. Prepare portas de módulos personalizados

Para cada módulo personalizado, avalie o esforço de migração:

Baixo esforço (1-3 dias por módulo):

  • Módulos apenas com novos campos e visualizações simples
  • Sem componentes JavaScript/OWL
  • Sem substituições de métodos principais alterados

Esforço médio (3 a 10 dias por módulo):

  • Módulos com componentes OWL que requerem atualizações
  • Substituições de métodos principais obsoletos ou alterados
  • Relatórios personalizados que precisam de atualizações do QWeb

Alto esforço (mais de 10 dias por módulo):

  • Integração profunda com módulos principais alterados (contabilidade, inventário, website)
  • Aplicativos front-end OWL complexos
  • Módulos que usam APIs obsoletas ou removidas extensivamente

Trabalhar com especialistas em migração Odoo experientes reduz significativamente o tempo e o risco de portabilidade de módulos personalizados.

Etapas de execução da migração

Etapa 1: Configurar o ambiente de migração

Production (v17) ──backup──> Test Database (v17)
                                    │
                              Upgrade to v18
                                    │
                              Test Database (v18)
                                    │
                              Validation & UAT
                                    │
                              Production (v18)

Crie um ambiente isolado com:

  • Uma nova instalação do servidor Odoo 18
  • Uma cópia do seu banco de dados de produção
  • Todos os módulos personalizados portados para v18

Etapa 2: Execute a atualização do banco de dados

Para Odoo Enterprise: Use o serviço de atualização oficial do Odoo em upgrade.odoo.com. Faça upload do seu banco de dados e o Odoo SA executa os scripts de migração para todos os módulos padrão.

Para a comunidade Odoo: Use o projeto openupgrade da OCA. OpenUpgrade fornece scripts de migração mantidos pela comunidade para módulos padrão:

  1. Instale o OpenUpgrade para a versão de destino
  2. Execute a migração em seu banco de dados de teste
  3. Revise o log de migração em busca de erros e avisos
  4. Corrija quaisquer problemas e execute novamente até limpar

Etapa 3: Portar Módulos Personalizados

Para cada módulo personalizado:

  1. Atualize a versão __manifest__.py para 18.0.x.x.x
  2. Corrigir código Python (APIs obsoletas, assinaturas de método alteradas)
  3. Atualize os componentes JavaScript/OWL para padrões v3
  4. Corrigir visualizações XML (árvore para lista, wrapper de planilha, alterações de modelo)
  5. Execute o conjunto de testes do módulo e corrija as falhas
  6. Teste manualmente no ambiente de teste

Etapa 4: verificação de dados

Após a migração, verifique a integridade dos dados:

  • Contabilidade: compare os totais do balancete entre v17 e v18. Eles devem corresponder exatamente.
  • Inventário: Verifique as quantidades em estoque para obter uma amostra de produtos de alto valor.
  • Vendas/Compras: Confirme os pedidos em aberto e seus status transferidos corretamente.
  • Contatos: Verifique se os registros de clientes e fornecedores estão intactos, incluindo endereços e dados bancários.
  • Anexos: verifique se documentos, imagens e anexos de arquivos estão acessíveis.

Estratégia de teste

Nível 1: Testes Automatizados

Execute o conjunto de testes completo para cada módulo instalado. Corrija todas as falhas antes de continuar.

Nível 2: Teste Funcional

Teste os principais fluxos de trabalho do negócio de ponta a ponta:

  • Crie uma cotação, confirme, entregue mercadorias, crie uma fatura, registre pagamento
  • Processar um pedido de compra por meio de recibo e fatura do fornecedor
  • Executar uma ordem de fabricação desde a BOM até o produto acabado
  • Conclua um ciclo completo de reconciliação bancária
  • Gerar e verificar os principais relatórios financeiros

Nível 3: Teste de aceitação do usuário (UAT)

Faça com que usuários reais de cada departamento executem suas tarefas diárias no ambiente de teste por 5 a 10 dias úteis. Acompanhe os problemas em uma planilha compartilhada ou ferramenta de gerenciamento de projetos.

Nível 4: Teste de desempenho

Compare os tempos de carregamento da página, a velocidade de geração de relatórios e o desempenho de pesquisa entre v17 e v18 com volumes de dados em nível de produção.

Estratégia de entrada em operação

Abordagem recomendada: migração de fim de semana

  1. Sexta-feira à noite: Faça um backup final da produção. Congele todas as transações.
  2. Sábado: Execute a atualização no banco de dados de produção. Transfira quaisquer dados de última hora.
  3. Domingo: Verificação completa de dados e teste de fumaça. Implante em servidores de produção.
  4. Segunda-feira de manhã: Entre ao vivo. Monitore de perto durante as primeiras 48 horas.

Tenha um plano de reversão pronto: mantenha o backup do banco de dados v17 e a configuração do servidor disponíveis para que você possa reverter em poucas horas se surgirem problemas críticos.

Perguntas frequentes

P: Posso pular versões e migrar do Odoo 16 para o Odoo 18 diretamente? Sim, mas é mais complexo. Cada versão tem seus próprios scripts de migração, e pular versões agrava as alterações. O serviço de atualização do Odoo lida com saltos de várias versões, mas a portabilidade de módulo personalizado requer o tratamento de alterações significativas de cada versão ignorada. Reserve de 50 a 100% mais tempo para migrações de várias versões.

P: Meus relatórios personalizados serão interrompidos durante a migração? Potencialmente. Os modelos de relatório QWeb mudam frequentemente entre versões devido a estruturas de dados atualizadas e melhorias no mecanismo de renderização. Teste todos os relatórios impressos (faturas, guias de entrega, pedidos de compra) após a migração e ajuste os modelos conforme necessário.

P: Devo migrar ou começar do zero? Migre se você tiver anos de dados históricos, configurações complexas e usuários treinados. Comece do zero se sua instalação atual for altamente personalizada e não puder ser reparada, tiver problemas significativos de qualidade de dados ou se seus processos de negócios tiverem mudado tanto que uma reconfiguração seria mais rápida. A maioria das empresas escolhe a migração para preservar o seu histórico operacional. Consulte um parceiro de consultoria Odoo para avaliar qual abordagem se adapta à sua situação.

Suporte Profissional à Migração

Migrar entre versões Odoo é um projeto técnico que conta com mãos experientes. Os serviços de migração Odoo da ECOSIRE cobrem o processo completo: auditoria de pré-migração, portabilidade de módulo personalizado, migração de dados, testes e suporte de entrada em operação.

Entre em contato com nossa equipe para obter uma avaliação de migração e uma estimativa de cronograma com base em sua instalação específica do Odoo. Analisaremos seus módulos, personalizações e complexidade de dados para fornecer escopo e orçamento precisos.

Compartilhar:
E

Escrito por

ECOSIRE Research and Development Team

Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.

Converse no WhatsApp