今天开发同事遇到个问题,说新增一个单据实体,在浏览器中要创建WEB方案时新增不了业务单元,这个问题很致命,且当前项目的环境用了好久了都没这问题,于是高度重视并优先解决这个环境问题,以下描述下本次解决问题的收获和心得。
waf2的web方案对应的表如下:
表关系为:web方案表->业务单元表(业务单元表有对应的业务单元关系表-用户记录实体和query等信息)->视图表
关联外键:“业务单元表”通过FAppSolutionId 关联“业务单元关系表”,通过FCustomizedSchemeId 关联“方案表”,
每个“方案”都在“业务单元”表中都有一条对应的数据,作为ROOT节点数据,方案下的其他业务单元通过FParentId关联这个ROOT节点的数据。
表查询:
--web“方案”对应表:
select * from T_EP_CustomizedScheme where fid ='IAwAAABeIaksmNZR'
--方案下的“业务单元”对应表
select * from T_EP_CustomizedUnit where FCustomizedSchemeId = 'IAwAAABeIaksmNZR' and FAppSolutionId = ''
--“业务单元”自身关系表
select * from T_DYN_AppSolution where FName_l2 like '%顾问%' fid ='IAwAAAA3SFg7dcWQ'
--业务单元下的“视图”对应表
select * from T_DYN_DynamicConfigure where fid ='IAwAAAA3SFqxUARR'
问题原因及解决:
原因:当前“方案”都在“业务单元”表中的作为ROOT节点数据丢失了,导致新增“业务单元”时业务单元表中的FparentId为空,所以在页面中没有找到新增的“业务单元”。
找到原因后问题就好解决了,我找到之前备份的数据库账套还原了一下,查询到“方案”对应的业务单元表中的作为ROOT节点数据,导出生成insert脚本,并执行insert语句,此时在通过web方案新增业务单元就可以在浏览器中看到了。