我正在尝试升级为 Openerp 编写的模块。尽管它在本地机器和本地 openerp 服务器上运行良好。当我尝试通过 SVN 将文件更新到暂存服务器时,出现以下错误。该错误表明他们正在尝试将记录插入数据库,而实际上是更新而不是插入。不过,我担心直接从 Postgres 数据库中删除该记录,我认为它可能会成功。
在暂存服务器上执行 SVN 更新之前,我还删除了所有现有文件。可能这可能是陷阱,但我不太确定。让我知道你们认为什么是这个问题的最佳解决方案。以下是 Openerp 服务器在 SVN 更新后重新启动时显示的错误消息。服务器从这里停止,永不结束。
但是一旦我还原文件或删除它们并更新服务器,它就会像魅力一样工作。
module abc: loading objects
[2011-09-14 08:12:49,425][oe_test] INFO:init:module abc:registering objects
[2011-09-14 08:12:49,432][oe_test] INFO:init:module abc: creating or updating database tables
[2011-09-14 08:12:49,434][oe_test] DEBUG:sql:bad query: INSERT INTO ir_model_data (name,date_init,date_update,module,model,res_id) VALUES (E'model_abc', now(), now(), E'abc', E'ir.model', 301)
[2011-09-14 08:12:49,434][oe_test] DEBUG:sql:('model_abc', u'abc', 'ir.model', 301)
[2011-09-14 08:12:49,434][oe_test] DEBUG:sql:duplicate key value violates unique constraint "ir_model_data_module_name_uniq"
问候,
加延
最佳答案
[2011-09-14 08:12:49,434][oe_test] DEBUG:sql:duplicate key value violates unique constraint "ir_model_data_module_name_uniq"
在 ir.model.data 中,有一个“_sql_constraint”,定义了唯一的记录名称。所以错误来自该代码并表示您不能有重复的记录名称。
据我所知,这种错误可能会发生,因为您的 *_data.xml 文件中有重复的记录 ID。
注意:是否检查 *_data.xml 文件中的 noupdate="True"。
关于python - Openerp 模块更新失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7470503/