ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ODOO升级可能遇到问题

2022-06-28 23:32:03  阅读:301  来源: 互联网

标签:遇到 解决方案 重启 module 升级 state 模块 ODOO


a,找不到模块或视图不存在。
解决方案:查看是否将相应py文件加入到__init__文件中,或xml文件加入到manifest->data文件中。
b, 找不到关联模块。
解决方案:这种一般要么很简单,要么很复杂。
先将关联模块加入到manifest->depends中,升级
如果依然报错,在用到此模型的py文件中加入继承此模型的类
如果还不行,检查2个模块是否被相互继承,检查继承顺序。
如果还不行,尝试重写被继承模型,将模型剥离出原模块。
c, 视图错误,或字段错误。
解决方案:一般这种为低端错误,很容易排查,检查关联模型是否存在,检查字段是否存在。
d, 重启直接崩溃,无法进行界面升级。
解决方案:命令行重启升级一般能够解决。
重启命令加 -u 需要升级的模块。
如果还是炸,数据库将自动重启升级结束。
update ir_module_module set state = ' installed’ where state = ' to upgrade'
然后再重启,解决问题后再进行升级。
e, 升级卡死
解决方案:线上升级卡死可能由于3种原因,1代码问题,常常发生在新加字段,ondepends字段,complate字段。2,继承问题。3,多进程数据库死锁问题。本地只有1,2两种原因。
1解决方案,尽量在新添加字段时不要加入数据库约束,比如说非空。尽量不要在新加字段上加入depends和complate进行计算。如果没办法越过上述问题,那么要么等待程序计算完成,要么查看字段是否添加成功,添加成功后直接重启,sql更新数据。
2解决方案,参考b解决方案
3解决方案,上线前保证尽量少的在线用户操作。但是肯定还是会发生的,那么下面这条SQL可能可以救命。
select
pg_terminate_backend(pid)
from pg_stat_activity
where (now() - backend_start) > '00:01:00' and pid != (select pg_backend_pid()); --强杀连接超过1分钟的事务 不要杀死自己的进

数据库:

select state,* from ir_module_module where state='to upgrade'

标签:遇到,解决方案,重启,module,升级,state,模块,ODOO
来源: https://www.cnblogs.com/pushuiyu/p/16421667.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有