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

How to upgrade odoo 8 to odoo 9 database?

我正在尝试将 odoo 安装从 8.0 升级到 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'

升级数据库时是否必须遵循任何步骤或是否需要手动完成所有操作?如果是,我该怎么办?显然它失败了,因为我的数据库中不存在特定的列。但是有没有任何更新脚本,因为我担心,如果我更改它,将会有下一个错误等着我。

提前致谢。

我在 Github 上找到了答案。

诀窍是创建一个名为 transient 的字段,它是 Boolean,在 table ir_model.[=15 中具有默认值 false =]

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

您可以通过转到此 link 要求 odoo 公司为您完成该任务 .但是他们会为此收费。如果你可以自己做,这里有关于如何做的文档, https://doc.therp.nl/openupgrade/intro.html

选项 2:我们可以使用 pgadmin(postgresql gui 工具)。只需 select 你的数据库名称,在顶部你可以看到 sql 已启用,单击它并发出sql 查询以显示所有数据(您必须知道要检索的 table 名称)之后您可以导出 it.The 导出的文件包含所有带有列标题的数据,我们可能必须根据 odoo9 DB.Once 重新排列列已完成 select odoo9 数据库,右键单击要将数据导入到的 table 名称并 select 导入 option.It 可能需要一段时间,它应该以 "data imported successfully".

的形式给出消息

您正在尝试 运行 Odoo 9.0 上的 Odoo 8.0 数据库。

列 'transient' 在 9.0 的代码库中,而不在 8.0 的代码库中。因此 8.0 数据库在 9.0 代码库上 运行。因此,数据库尚未正确升级。

如上一个答案所述。您可以让 Odoo 来做,也可以自己做。