2

Openerp用に作成されたモジュールをアップグレードしようとしています。ローカルマシンとローカルopenerpサーバーでは正常に動作しますが。SVNを介してステージングされたサーバーにファイルを更新しようとすると、以下のエラーが発生します。エラーは、レコードをDBに挿入しようとしていることを示しています。実際には、挿入ではなく更新です。私はそのレコードをPostgresデータベースから直接削除することを心配していますが、それでうまくいくかもしれないと思います。

また、ステージングされたサーバーでSVN更新を行う前に、既存のファイルをすべて削除しました。これは落とし穴だったのかもしれませんが、よくわかりません。この問題の最善の解決策は皆さんがどう思うか教えてください。以下は、SVNの更新後に再起動したときにOpenerpServerに表示されるエラーメッセージです。サーバーはここから停止し、終了することはありません。

しかし、ファイルを元に戻すか、ファイルを削除して更新するとすぐに、サーバーはチャームのように機能します。

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"

よろしく、

ガヤン

4

3 に答える 3

3

[2011-09-14 08:12:49,434] [oe_test] DEBUG:sql:重複キー値が一意性制約「ir_model_data_module_name_uniq」に違反しています

ir.model.dataには、一意のレコード名に対して定義された「_sql_constraint」があります。そのため、そのコードからエラーが発生し、レコード名を重複させることはできないと表示されます。

私の知る限り、* _ data.xmlファイルのレコードIDが重複しているため、この種のエラーが発生する可能性があります。

注:*_data.xmlファイルでnoupdate="True"を確認するかどうかを確認してください。

于 2011-09-20T08:42:17.577 に答える
2

上記の問題を実行した後、実際の原因を突き止め、問題を解決することができました。根底にある問題は、誤って同じ名前を持つ別のモジュールがあることでした。そのため、上記の競合する例外が発生します。最後にモジュール名を変更し、機種名と問題点を整理しました。

すべての入力に感謝します。

よろしく、

ガヤン

于 2011-10-06T07:12:40.703 に答える
1

でサーバーを起動しようとしました-u your_module_name -d your_db_nameか?

于 2011-09-19T12:45:46.697 に答える