3

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

  • 从生产系统备份odoo数据库
  • 在我当前的系统中安装了备份数据库作为测试
  • 将odoo文件夹复制到我系统上的一个文件夹中
  • 检查,如果一切正常。有用!
  • 更新到最新的v8.0版本,仍然可以使用
  • 做了一个git checkout 9.0后跟一个git pull
  • 使用命令启动 odoo 9.0./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'

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

提前致谢。

4

3 回答 3

5

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

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

于 2015-10-26T12:01:51.417 回答
3

我在Github上找到了答案。

诀窍是创建一个名为的字段transient,该字段具有表中Boolean的默认值。falseir_model

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

于 2015-10-26T01:38:26.337 回答
0

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

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

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

于 2016-02-05T00:00:30.213 回答