如何在odoo中保存和恢复记录?

wr98u20j  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(601)

从客户模块中导出或保存记录的最佳方法是什么,以便在odoo出现问题时可以重用它们?-如果卸载并重新安装odoo,则创建的记录将消失。
对于我来说,找到一个不使用ui中的export按钮的解决方案是很重要的。因为我们有这样的列表,它不能与经典按钮。
事先非常感谢。

djp7away

djp7away1#

首先我建议你做个备份。您可以从登录页或url在odoo中创建备份:

http://localhost:8069/web/database/selector

或者,您也可以从终端创建数据库转储:

$ pg_dump your_backup_database -Fc > your_backup_database.dump

您可以通过从odoo ui或直接将备份加载到postgres来恢复数据库,方法是:

$ pg_restore -d your_tmp_database your_database.dump

现在,要在新的odoo安装中获取数据,可以使用sql查询将旧数据导出到csvs文件,然后将其插入新数据库。例子:
要导出您的客户:

--sql
COPY (
    SELECT * 
    FROM customers
) TO '/your_path/customers.csv' WITH CSV HEADER DELIMITER ';' ENCODING 'your_encoding';

要恢复您的客户:

-- sql
CREATE TABLE IF NOT EXISTS temp_customers(
  id INTEGER,
  name TEXT
);

\COPY temp_customers(id, name) FROM '/path_to_the_copy/old_customers.csv' DELIMITER ';' CSV HEADER;

INSERT INTO customers (id, name)
SELECT id, name
FROM temp_customers;

注意:请注意引用此表的其他表中的记录,还应导出这些记录以保持一致性。

相关问题