我正在尝试将odoo安装从8.0升级到9.0。到目前为止我所做的是以下内容:
git checkout 9.0
后跟git pull
。./openerp-server -d testDB -u all
此命令因以下错误而中断,并且不会更新我的数据库:
LINE 1: select model, transient from ir_model where state='manual'
^
, in query select model, transient from ir_model where state=%s
2015-10-26 00:37:29,823 4501 CRITICAL testDB openerp.service.server:
Failed to initialize database `testDB`.
Traceback (most recent call last):
File "/opt/odoo/openerp/service/server.py", line 885, in preload_registries
registry = RegistryManager.new(dbname, update_module=update_module)
File "/opt/odoo/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo/openerp/modules/loading.py", line 279, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report)
File "/opt/odoo/openerp/modules/loading.py", line 136, in load_module_graph
registry.setup_models(cr, partial=True)
File "/opt/odoo/openerp/modules/registry.py", line 185, in setup_models
cr.execute('select model, transient from ir_model where state=%s', ('manual',))
File "/opt/odoo/openerp/sql_db.py", line 139, in wrapper
return f(self, *args, **kwargs)
File "/opt/odoo/openerp/sql_db.py", line 215, in execute
res = self._obj.execute(query, params)
ProgrammingError: column "transient" does not exist
LINE 1: select model, transient from ir_model where state='manual'
我是否需要遵循升级数据库的步骤或手头完成所有工作?如果是的话,我该怎么办?显然它失败了,因为我的数据库中不存在特定的列。但是有没有任何更新脚本,因为我担心,如果我改变它,将会有下一个错误等待我。
提前致谢。
答案 0 :(得分:4)
你可以通过转到link让odoo公司为你完成这项任务 但他们会为此收钱。如果你能自己做,这里有关于如何做到这一点的文档, https://doc.therp.nl/openupgrade/intro.html
选项2:我们可以使用pgadmin(postgresql gui工具)。只需选择你的数据库名称,在顶部你可以看到启用sql,点击它并发出一个sql查询来显示所有数据(你必须知道表名,哪个你想转发)之后你可以导出它。导出的文件包含列标题的所有数据,我们可能要根据odoo9 DB重新排列列。一旦完成选择odoo9数据库,右键单击你的表名想要导入数据并选择导入选项。它可能需要一段时间,它应该给出消息"数据导入成功"。
答案 1 :(得分:3)
答案 2 :(得分:0)
您正在尝试在Odoo 9.0上运行Odoo 8.0数据库。
列'瞬态'是在9.0的代码库中,而不是在8.0代码库中。因此,8.0数据库正在9.0代码库上运行。因此,数据库尚未正确升级。
如上一个答案中所述。你可以让Odoo去做,也可以自己做。