odoo-migration-helper
Ajuda seu agente a atualizar módulos do Odoo para novas versões. Ele corrige códigos e adapta funcionalidades antigas para as novas.
O que ela faz
Este guia ajuda você a atualizar seus programas personalizados do Odoo de uma versão para outra (como do 14 para o 15, ou 16 para o 17). Ele mostra as mudanças mais comuns que podem quebrar seu código e como corrigi-las.
Quando usar
- ✓Quando você precisa atualizar um programa antigo do Odoo para uma versão mais nova.
- ✓Para ver uma lista de coisas para verificar antes de atualizar o Odoo.
- ✓Para corrigir erros que aparecem depois de uma atualização.
Exemplo do que pedir para a IA
“Ajude-me a migrar meu módulo de Odoo 16 para 17, focando nas mudanças de visibilidade de campos e no 'chatter'.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você me diz as versões do Odoo que você está usando (a antiga e a nova) e me mostra o código do seu programa. Eu analiso as mudanças necessárias e te dou um guia passo a passo com as correções.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill odoo-migration-helperOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/odoo-migration-helper/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Odoo Migration Helper
Visão Geral
Migrar módulos Odoo entre versões principais exige cuidado com mudanças de API, métodos depreciados, campos renomeados e nova sintaxe de visualização. Esta habilidade guia você pelo processo de migração de forma sistemática, cobrindo as mudanças mais comuns entre versões.
Quando Usar Esta Habilidade
- Atualizando um módulo customizado do Odoo 14/15/16 para uma versão mais nova.
- Obtendo uma lista de verificação de coisas para checar antes de rodar
odoo-upgrade. - Corrigindo avisos de depreciação após uma atualização de versão.
- Entendendo o que mudou entre duas versões específicas do Odoo.
Como Funciona
- Ativar: Mencione
@odoo-migration-helper, especifique suas versões de origem e destino, e cole o código do seu módulo. - Analisar: Receba uma lista de mudanças críticas com correções de código antes/depois.
- Validar: Obtenha uma lista de verificação de migração específica para as funcionalidades do seu módulo.
Principais Mudanças de Migração por Versão
Odoo 16 → 17
| Tópico | Antigo (v16) | Novo (v17) |
|---|---|---|
| Visibilidade da View | attrs="{'invisible': [...]}" |
invisible="condition" |
| Chatter | <div class="oe_chatter"> |
<chatter/> |
| Obrigatório/Somente Leitura | attrs="{'required': [...]}" |
required="condition" |
| Python mínimo | 3.10 | 3.10+ |
| Módulos JS | Legado define(['web.core']) |
Sintaxe de módulo ES import |
Odoo 15 → 16
| Tópico | Antigo (v15) | Novo (v16) |
|---|---|---|
| Flag de publicação do website | website_published = True |
is_published = True |
| Aliases de e-mail | alias_domain na empresa |
Movido para o modelo mail.alias.domain |
| Renderização de relatório | _render_qweb_pdf() |
_render_qweb_pdf() (o mesmo, mas a assinatura mudou) |
| Movimentação contábil | Agrupamento account.move.line |
Regras de agregação de linha atualizadas |
| Thread de e-mail | mail_thread_id |
Depreciado; use message_ids |
Exemplos
Exemplo 1: Migrar visibilidade attrs para Odoo 17
<!-- v16 — domain-based attrs -->
<field name="discount" attrs="{'invisible': [('product_type', '!=', 'service')]}"/>
<field name="discount" attrs="{'required': [('state', '=', 'sale')]}"/>
<!-- v17 — inline Python expressions -->
<field name="discount" invisible="product_type != 'service'"/>
<field name="discount" required="state == 'sale'"/>
Exemplo 2: Migrar bloco Chatter
<!-- v16 -->
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<!-- v17 -->
<chatter/>
Exemplo 3: Migrar flag website_published (v15 → v16)
# v15
record.website_published = True
# v16+
record.is_published = True
Melhores Práticas
- ✅ Fazer: Testar com
--update=your_moduleem cada versão antes de enviar para produção. - ✅ Fazer: Usar o Guia de Upgrade Oficial do Odoo para obter um relatório de análise pré-upgrade automatizado.
- ✅ Fazer: Verificar as notas de migração da OCA e o
HISTORY.rstdo módulo para módulos da comunidade. - ✅ Fazer: Rodar
npm run validateapós a migração para identificar problemas de manifesto ou frontmatter precocemente. - ❌ Não fazer: Pular versões intermediárias — ir v14→v15→v16→v17 sequencialmente; nunca pular.
- ❌ Não fazer: Esquecer de atualizar
versionem__manifest__.py(ex:17.0.1.0.0). - ❌ Não fazer: Assumir que módulos OCA estão prontos para migração; verificar o branch GitHub deles para a versão de destino.
Limitações
- Cobre apenas de v14 a v17 — não aborda v13 ou versões anteriores (a era pré-manifesto tem estrutura de módulo fundamentalmente diferente).
- O caminho de upgrade automatizado do Odoo.sh tem passos adicionais não cobertos aqui; consulte a documentação do Odoo.sh.
- Módulos específicos da Enterprise (ex:
account_accountant,sign) podem ter mudanças críticas não documentadas; teste em um ambiente de staging com licença Enterprise. - Migração de componentes JavaScript OWL (v15 Legado → v16 OWL) é um tópico complexo não totalmente coberto por esta habilidade.
Perguntas frequentes
Quais versões do Odoo este guia cobre?
Ele cobre as atualizações entre as versões 14, 15, 16 e 17 do Odoo.
O que é 'chatter'?
'Chatter' é uma seção no Odoo onde ficam as mensagens, seguidores e atividades de um registro. A forma de incluí-lo no código mudou entre as versões 16 e 17.
Preciso atualizar versão por versão?
Sim, é recomendado atualizar de uma versão para a próxima (ex: 14 para 15, depois 15 para 16) em vez de pular versões.
Detalhes
Descrição original do autor
Step-by-step guide for migrating Odoo custom modules between versions (v14→v15→v16→v17). Covers API changes, deprecated methods, and view migration.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3729
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC