为了账号安全,请及时绑定邮箱和手机立即绑定

为什么账户模块升级会断开某些表上的记录?

为什么账户模块升级会断开某些表上的记录?

哆啦的时光机 2021-09-14 16:48:11
我只是想确保升级baseoraccount模块一切正常,因为如果我对模块进行新更改,我想将来升级数据库。我在模型上手动创建了新记录account.acount.type。但是当我尝试升级account模块时,出现了写在这个问题底部的异常。Odoo 正在尝试从该模型中删除记录。为什么会这样?我已经安装了 account 模块,但我没有从那个表中删除任何记录,我只添加了更多类型。因此,使用数据升级模块的预期行为是:noupdate 表示当该模块第二次升级时,该记录将不再更新。noupdate="1" 中的记录只会在安装时初始化。提示:如果您删除该记录,则在下次更新时系统将重新创建它。通常是那些有可能从前端修改的记录,在 noupdate=1 中给出。例如,自动调度程序记录。<data noupdate="1">    <!-- account.account.type -->    <record model="account.account.type" id="data_account_type_receivable">        <field name="name">Receivable</field>        <field name="type">receivable</field>        <field name="include_initial_balance" eval="True"/>    </record>    <!-- [...]  -->这是升级帐户模块时日志上引发的错误2018-12-11 20:35:31,729 18018 INFO db_name odoo.addons.base.ir.ir_model: Deleting 59@account.account.type (l10n_es.account_type_third_parties)2018-12-11 20:35:31,760 18018 ERROR db_name odoo.sql_db: bad query: b'DELETE FROM account_account_type WHERE id IN (59)'ERROR: null value in column "user_type_id" violates not-null constraintDETAIL:  Failing row contains (14927, Account name or description, null, 4, f, null, other, null, f, null, 1, null, 1, 2018-12-11 18:10:24.091826, 1, 2018-12-11 18:10:24.091826, t).CONTEXT:  SQL statement "UPDATE ONLY "public"."account_account" SET "user_type_id" = NULL WHERE $1 OPERATOR(pg_catalog.=) "user_type_id""2018-12-11 20:35:31,763 18018 WARNING db_name odoo.modules.loading: Transient module states were reset2018-12-11 20:35:31,763 18018 ERROR db_name odoo.modules.registry: Failed to load registry问题那么唯一的解决方案是使用现有的帐户类型而不是创建新的帐户类型?源代码中是否有进行此取消链接操作的地方?有人知道吗?这是正常行为吗?注意:我已经从头开始手动导入会计科目表
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号