Odoo第三方模块V16.0>V17.0记录
升级后端*.py代码
借助OCA的odoo-module-migrator工具
# 进入容器
exec --user root -it odoo17 /bin/bash
apt update
apt install -y git
# 在容器内执行
cd /tmp
git clone https://github.com/OCA/odoo-module-migrator.git
cd odoo-module-migrator
pip3 install -r requirements.txt
# 查看命令行帮助
python3 -m odoo_module_migrate -h
# 升级模块
python3 -m odoo_module_migrate -d /mnt/extra-addons/ -m module_name -i 12.0 -t 17.0
升级模块之后会自动commit变更
升级视图
主要处理视图中的attrs与states:https://github.com/odoo/odoo/pull/104741
# 进入容器
exec --user root -it odoo17 /bin/bash
# 容器内
cd /usr/lib/python3/dist-packages/odoo/tools/
mv convert.py convert.py_bak
# 退出容器,把打好补丁的convert.py复制进去
docker cp E:\convert.py odoo17:/usr/lib/python3/dist-packages/odoo/tools/
之后在升级模块的时候它会转换xml文件中的attrs与states