Odoo直接更改破坏数据库

时间:2016-10-27 11:14:48

标签: openerp

任务是将数据(合作伙伴等)从7个移到10个。 我所做的是将表格从7个移到10个数据库,接下来就是这样:

INSERT INTO res_partner (id, active, barcode, city, color, comment, commercial_company_name, commercial_partner_id, company_id, company_name, country_id, create_date, create_uid, credit_limit, customer, date, debit_limit, display_name, email, employee, fax, function, invoice_warn_msg, invoice_warn, is_company, lang, last_time_entries_checked, message_bounce, message_last_post, mobile, name, notify_email, opt_out, parent_id, partner_share, phone, ref, sale_warn_msg, sale_warn, signup_expiration, signup_token, signup_type, state_id, street, street2, supplier, team_id, title, type, tz, user_id, vat, website, write_date, write_uid, zip) 
SELECT                   id, active, '' AS barcode, city, color, comment, name as commercial_company_name, NULL AS commercial_partner_id, company_id, name AS company_name, 1 AS country_id, create_date, 1 AS create_uid, credit_limit, customer, date, debit_limit, display_name, email, employee, fax, function, '' AS invoice_warn_msg, '' AS invoice_warn, is_company, lang, NULL AS last_time_entries_checked, NULL AS message_bounce, NULL AS message_last_post, mobile, name, '' AS notify_email, opt_out, NULL AS parent_id, NULL AS partner_share, phone, ref, NULL AS sale_warn_msg, TRUE AS sale_warn, signup_expiration, signup_token, signup_type, state_id, street, street2, supplier, NULL AS team_id, NULL AS title, type, tz, NULL AS user_id, vat, website, write_date, 1 AS write_uid, zip 
FROM res_partner_from_7 
WHERE id NOT IN (SELECT id FROM res_partner) 

通过Odoo界面创建并可用的记录。但是当我尝试从界面创建新记录(例如新伙伴)时会引发重复错误(此类ID已存在)。看起来像Odoo忽略表记录中存在或类似的东西。那么也许我需要做一些额外的步骤来逃避这样的问题?或者我只是无法将数据访问直接迁移到表?

1 个答案:

答案 0 :(得分:1)

在Odoo中,每个表都有id列,这是自动递增序列。因此,您需要从res_partner7表中获取最后一个,并在v10 db上设置序列下一个数字,在您的7 db上设置最后+ 1个id,这将生成下一个记录ID唯一,因为id字段具有唯一约束。

贝斯茨