dram.me

OFBiz模块数据迁移(WorkEffort为例)

在OFBiz系统重新部署时,有时会涉及到数据迁移问题,以下以WorkEffort模块为例,介绍数据迁移的流程。

系统初始化

在数据迁移前,需要在初始安装系统中导入部分必要的数据,以支持后续导入数据与之关联。主要包括:

  • Party - 当事人定义;
  • PartyRole - 当事人角色定义,包含日历权限CAL_OWNER
  • UserLogin - 用户登录定义,包含登录信息,以及和Party的关联信息;
  • UserLoginSecurityGroup - 用户登录安全组定义。

以下是基于entity-engine-xml定义的详细数据:

<entity-engine-xml>
  <Party partyId="admin" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
  <PartyRole partyId="admin" roleTypeId="CAL_OWNER"/>
  <UserLogin userLoginId="admin" partyId="admin" currentPassword="{SHA}47ca69ebb4bdc9ae0adec130880165d2cc05db1a" requirePasswordChange="N"/>
  <UserLoginSecurityGroup groupId="SUPER" userLoginId="admin" fromDate="2001-01-01 12:00:00.0"/>
</entity-engine-xml>

该数据可使用如下命令在系统数据初始化时导入:

./gradlew "ofbiz -l readers=seed -l file=data.xml"

数据迁移

在完成系统初始化后,可开始数据库表数据的迁移工作:

  • work_effort - 工作计划主数据;
  • work_effort_party_assignment - 工作计划当事人分派;
  • note_data - 注释主数据;
  • work_effort_note - 工作计划和注释关联;
  • sequence_value_item - 自增ID偏移。