增量升级(v3.0.1->v3.1.0)

程序发布前执行项

1、Apollo配置

1.2 CSB-LEGOX

2、Nacos配置

3、数据库脚本

业务库

配置库

独立部署程序自动执行,不需要手动执行,只有多租户需要执行:研发、行政、众远智慧

-- 初始化附件&历史记录&审批纪录标签权限配置
do $$
declare
str RECORD;

begin
for str in
WITH tmp_layout AS (
    select ofd.id  , olc.id as layout_id
    --, ofd.design_name,olc."name" ,olc.relate_id ,ogc.attr3
    from obj_form_design ofd
    left join obj_layout_config olc on ofd .id = olc.biz_id
    left join obj_general_config ogc on olc.relate_id  = ogc.relate_id
    where olc.kind ='TAG'
    and ogc.attr3 != ''
    and (
        CASE
            WHEN ogc.attr3::text ~ '^[\s]*[{\[]' THEN  -- 简单检查是否像JSON
                ogc.attr3::jsonb->>'attrType' IN ('WORKFLOW', 'ATTACHMENTS', 'HISTORY')
            ELSE FALSE
        END
    )
),
tmp_permission AS(
    select distinct opp.Id,opo.attr1, opo.attr2
    from obj_permission_policy opp
    inner join obj_class oc on opp.biz_id  = oc.id
    left join obj_permission_object opo on opp.id = opo.policy_id
    where 1=1
    --and opp.biz_type = 'workflow_form'
    --and oc.form_type = 'FORM_WORKFLOW'
    and (opp.is_create_status is null or opp.is_create_status ='0')
    --测试用:指定某个分类
    --and oc.id  ='414ca362bf734b00b122f938e4e5bba9'
    and opo.object_type = 'field'
)
select
    'INSERT INTO obj_permission_object (id, policy_id, object_type, object_id, permission_type, permission_value, attr1, attr2, attr3, attr4, crt_user, crt_name, crt_time, crt_host, upd_user, upd_name, upd_time, upd_host) VALUES (''' ||
    REPLACE(gen_random_uuid()::text, '-', '') || ''', ''' ||
    tp.id || ''', ''field'', ''' ||
    tl.layout_id || ''', ''visible'', ''1'', ''form_design'', ''' ||
    tl.id || ''', NULL, NULL, ''system'', NULL, '''||  TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI') || ''', NULL, NULL, NULL, NULL, NULL);' as dsql
FROM tmp_permission tp
         LEFT JOIN tmp_layout tl ON tp.attr2 = tl.id
WHERE tl.id IS NOT null
  AND NOT EXISTS (  -- 排除已存在的记录
    SELECT 1 FROM obj_permission_object opo_exist
    WHERE opo_exist.policy_id = tp.id
      AND opo_exist.object_type = 'field'
      AND opo_exist.object_id = tl.layout_id
      AND opo_exist.permission_type = 'visible'
      AND opo_exist.permission_value = '1'
      AND opo_exist.attr1 = 'form_design'
      AND opo_exist.attr2 = tl.id
)
ORDER BY tp.id, tl.layout_id


    loop
    raise notice '%', str.dsql;

execute str.dsql;  -- 注释掉执行语句,只输出SQL

raise notice '%', '-----success-------';
end loop;
end $$;

程序发布

应用 分支 备注
lcp-log 3.1.0-SNAPSHOT 仅天舟云本身需要,其他产品线无需处理
lcp-app 3.1.0-SNAPSHOT
lcp-data 3.1.0-SNAPSHOT
lcp-hub 3.1.0-SNAPSHOT
lcp-legox 3.0.3-SNAPSHOT csb-data-dictionary(3.0.3-SNAPSHOT/2.0.9.5-SNAPSHOT)

应用运维同步

作者:黄威鸿  创建时间:2025-06-10 19:28
最后编辑:柯立明  更新时间:2025-09-03 19:30