问题描述1:models / 模型或关系表的卸载
项目场景:
环境:服务器Ubuntu20.4 odoo14.0
主机:windows + MobaXtrem
问题描述:
问题1:在一个数据库中创建了新的模型(APP),或者是下了别人的module源码。在odoo客户端中install了,就会在运行时指定的数据库中留下记录;如果之后移除module文件包,再次启动odoo服务时,就会报错:
问题2:卸载模型,不能直接在数据库中将某个表删除,因为有模型之间可能有依赖,直接删除删不干净;或者成功运行odoo服务之后,再修改模型文件名字,也会报错:
解决办法/原因:
1. 推荐:一定要删除被移除/更改的表的所有依赖关系,可以通过navicat等数据库管理工具删除;
2. 不推荐:新建一个数据库(这个时候,odoo启动会慢一点,Odoo要将自身的表,以及用户定义的表导入到新的数据库中),但是原有的数据记录全部都会消失,这是要命的。
注:
在模型运行成功后,修改模型字段名字,再启动服务时,会提示警告,如下啊:
意思是,odoo管理表关系的库中有修改前字段的记录,需要手动删除。用上面提到的命令就可以:
DELETE FROM ir_model WHERE "name" = "tags_id"
tags_id, 就是你要删除的字段名字。比如说原来他的名字是tags_id,但是你改为tag_id,再次运行,odoo服务就会报出警告。