如何将odoo 8升级到odoo 9数据库?

如何将odoo 8升级到odoo 9数据库?,odoo,odoo-9,Odoo,Odoo 9,我正在尝试将odoo安装从8.0升级到9.0。到目前为止,我所做的工作如下: 从生产系统备份odoo数据库 在我当前的系统中安装了备份数据库作为测试 已将odoo文件夹复制到我的系统上的文件夹中 检查,如果一切正常。它起作用了 更新至最新的v8.0版本,仍然有效 执行了git签出9.0,然后执行了git拉操作 使用命令/openerp server-d testDB-u all启动了odoo 9.0 此命令因以下错误而中断,并且不会更新我的数据库: LINE 1: select model,

我正在尝试将odoo安装从8.0升级到9.0。到目前为止,我所做的工作如下:

  • 从生产系统备份odoo数据库
  • 在我当前的系统中安装了备份数据库作为测试
  • 已将odoo文件夹复制到我的系统上的文件夹中
  • 检查,如果一切正常。它起作用了
  • 更新至最新的v8.0版本,仍然有效
  • 执行了
    git签出9.0
    ,然后执行了
    git拉操作
  • 使用命令
    /openerp server-d testDB-u all启动了odoo 9.0
此命令因以下错误而中断,并且不会更新我的数据库:

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'
是否有我必须遵循的任何步骤来升级数据库,或者所有的事情都是手工完成的?如果是,我该怎么办?显然,它失败了,因为我的数据库中不存在特定列。但是,是否有任何更新脚本,因为我担心,如果我更改此脚本,将有下一个错误等待我

提前谢谢。

我在上找到了答案

诀窍是创建一个名为
transient
的字段,它是
Boolean
,具有表
ir\u model
中的默认值
false


正如我所预料的,这并不是一个完整的解决方案,因为数据库还有其他问题需要调整。

您可以通过转到此处,让odoo公司为您完成该任务 .但他们会为此收费。如果你能自己做的话,这是关于如何做的文档,


选项2:我们可以使用pgadmin(postgresql gui工具)。只需选择您的数据库名称,在顶部可以看到启用了sql,单击它并发出sql查询以显示所有数据(您必须知道要检索的表名),然后可以将其导出。导出的文件包含所有具有列标题的数据,我们可能需要根据odoo9 DB重新排列列。完成后,选择odoo9数据库,右键单击要将数据导入的表名并选择导入选项。这可能需要一些时间,它会显示消息“data imported successfully”。

您正试图在Odoo 9.0上运行Odoo 8.0数据库

“transient”列位于9.0的代码库中,而不在8.0的代码库中。因此,8.0数据库是在9.0代码基础上运行的。因此,数据库没有得到适当升级


如前一个答复所述。您可以让奥多来做,也可以自己做。

谢谢您的链接!我想现在我了解了更新奥多的过程。你有从8.0升级到9.0的经验吗?我只有一个自定义模块,其余的是标准的Odoo模块。好的,我刚刚发现,他们目前正在使用9.0迁移脚本。再次感谢您的回答,我将标记为正确,因为这似乎是适合我的正确方式。您也可以使用一些ETL工具。嗨,我有odoo迁移问题。请检查此链接@弗雷迪,我有奥多迁移问题。请检查此链接。