0.背景

表单宽表模式下,表名填错了或者不规范怎么办?明细表表名填错了怎么修改呢?接下来分这两种情况进行说明

1.操作

1.1表单宽表改表名

由于表单分类支持继承,所以需要找到根分类,宽表是以根分类的编码作为表名的

可以通过表单编码或者表单ID(即控制台网络请求的ID)

  1. 更改表单物理表名定义,即更改根表单分类编码
    UPDATE obj_class SET api_name = 'CLCP_FORM_TREE' WHERE id = 'fd40f80b44524141b6b73b8a358e1869 ';
  2. 更改表单物理表的表名,即更改真实表名
    ALTER TABLE FORM_TREE  RENAME TO CLCP_FORM_TREE ;

以上表单的表名就改好了

如果有配置事件处理程序需要一并修改为最新的表单分类编码

  1. 修改事件处理程序关联的表单分类编码(非必须)
    UPDATE ec_event_program p SET form_api_name = 'CLCP_FORM_TREE' where p.form_api_name = 'FORM_TREE';

1.2表单明细表改表名

表单明细表需要进入表单详情查看有哪些,或者通过SQL查询,因为存在继承,所以需要进入创建的层级查看,或者知道表名可以反向查看

1.2.1查看路径

点击表单分类 –> 点击详情视图 –> 点击属性标签 –> 找到明细组 –> 展开基础信息

  1. 进入详情视图(模型视角)
  2. 进入属性标签
  3. 找到明细组
1.2.2通过表名查找
select * from obj_biz_list l where l.api_name = 'F_DETAIL_TEST' and l.class_id = '4351aba077bd40d8bab260a463c0b67c';
1.2.3修改明细表名
  1. 修改明细表定义
    UPDATE obj_biz_list l SET api_name = 'CLCP_DETAIL_TEST' where l.api_name = 'F_DETAIL_TEST' and l.class_id = '4351aba077bd40d8bab260a463c0b67c';
  2. 修改明细表组定义
    update obj_attribute_group g set g.api_name = 'CLCP_DETAIL_TEST' where  g.id = (
    select l.obj_attribute_group_id  from obj_biz_list l where l.api_name = 'F_DETAIL_TEST' and l.class_id = '4351aba077bd40d8bab260a463c0b67c'
    );
  3. 修改明细表物理表表名
    ALTER TABLE F_DETAIL_TEST  RENAME TO CLCP_DETAIL_TEST ;

如果使用了表单设计,并且有用到明细表,则还需要修改表单设计的配置数据

1.2.4修改表单设计中明细表表名
  1. 查看路径:表单配置 –> 表单分类 –> 表单设计 –> 设计表单

  2. 从设计方案中获取关键信息

  3. 更新布局信息编码

    -- 通过编码和设计器方案ID查找,biz_id即为设计器方案ID
    select * from layout_config l where l.code = 'STOCK_REQ_DETAIL' and l.biz_id = '526483ce46b143f593b71a033e24706a';
    -- 或者
    -- 根据上面找到的obj_attribute_group的ID查找,relate_id即为obj_attribute_group的ID
    select * from layout_config l where l.relate_id = '5c2044a1db6648ab926000f5bb72d427' and l.biz_id = '526483ce46b143f593b71a033e24706a';
    -- 建议先查询,避免有多条情况,再执行更新
    UPDATE layout_config l SET code = 'CLCP_DETAIL_TEST' where l.code = 'F_DETAIL_TEST' and l.biz_id = '526483ce46b143f593b71a033e24706a';
  4. 更新布局配置信息

    -- 根据上面的布局信息的ID查找配置信息
    select * from general_config g where g.relate_id = 'bae8aa3cc47c49b5b8ec823db6181310' and g.biz_id = '526483ce46b143f593b71a033e24706a';
    -- 查看field_mapping字段的映射关系,找到baseConfig的key是谁,一般是attr3
    -- {"attr2":"uiConfig","attr1":"rulesConfig","attr3":"baseConfig"}
    -- 去修改attr3里面的apiName
    -- {"apiName":"F_DETAIL_TEST","bizListType":"manual","isEditable":"1","name":"标题","_type":"table","viewType":"normalTable","isCrtVisible":"1","bizListName":"备货策略管理","isVisible":"1","parentId":"-1"}

以上表单的明细表表名就改好了

作者:叶端旺  创建时间:2022-03-14 18:08
最后编辑:聂维  更新时间:2022-11-10 10:58