【问题标题】:How to rectify database restore error in odoo12?如何纠正odoo12中的数据库恢复错误?
【发布时间】:2019-10-08 10:35:31
【问题描述】:

在 odoo12 中恢复带有附件的数据库时出现以下错误。

我创建了一个python虚拟环境并在虚拟环境中安装了odoo12并尝试恢复一个数据库。但同样的错误也会出现在虚拟环境中。

hrms_db_1 odoo.sql_db: bad query: INSERT INTO "ir_attachment" ("id", "create_uid", "create_date", "write_uid", "write_date", "active", "company_id", "datas_fname", "mimetype", "name", "public", "res_id", "res_model", "type") VALUES (nextval('ir_attachment_id_seq'), 1, (now() at time zone 'UTC'), 1, (now() at time zone 'UTC'), true, 1, 'web.assets_common.js', 'application/javascript', '/web/content/js', true, 0, 'ir.ui.view', 'binary') RETURNING id 
ERROR: relation "ir_attachment_id_seq" does not exist LINE 1: ...", "res_id", "res_model", "type") VALUES (nextval('ir_attach...

【问题讨论】:

  • 您使用的是哪个 IDE? Pycharm?
  • 对我来说,数据库似乎没有正确备份。您是手动备份还是使用 Odoo 备份?在后一种情况下,zip 文件包含文件存储目录和 SQL 文件,可以使用 psql 手动恢复以检查序列 ir_attachment_id_seq 是否存在并诊断问题。
  • 是的,我正在使用 Pycharm 作为我的 IDE。我也尝试使用 odoo 和 psql 进行备份
  • 确保您使用相同的 Odoo 和 postgres 版本。

标签: odoo odoo-12


【解决方案1】:

来自https://github.com/Yenthe666/auto_backup/issues/79#issuecomment-420711666

问题是由于 Odoo 和数据库服务器上的不同 postgres 版本。 Postgres 9.x 与 10

  • 显然,在创建序列时有一条语句会导致此问题,即 PostgreSQL 9.6 不支持的每个“CREATE SEQUENCE”中的“AS INTEGER”。 要解决此问题,您需要解压缩备份文件,打开并编辑您的 dump.sql 文件并从每个“CREATE SEQUENCE”语句中删除每次出现的“AS INTEGER”。然后再次压缩内容并尝试再恢复一次。它会起作用的。

【讨论】:

    【解决方案2】:

    检查你分配的Python解释器是否正确,即virtual env.

    另外,还要检查与数据库的连接以及 odoo 和自定义插件文件夹的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多