背景:
项目是现在测试环境进行开发,然后到了上线时刻,需要把测试环境的功能升级到生产环境。
1. Frame库中的运行数据表是否需要升级?
问题描述:
Frame库通过navicat工具进行数据对比,这种很容易升级。但是里面也会有一些小问题。我理解的框架库里的表应该分为定义表,运行表,比如表单基础信息,表单字段表这些属于定义表,需要正常升级到生产环境,但是一些运行数据表是不需要升级的。比如下图的日志表

问题:
1.这种lowcode_log前缀表需要是否需要升级到生成环境,如果不需要我可以过滤掉这些表的比对,可以减少升级干扰,同时提升数据比对效率。每次数据比对,lowcode_log_module_usage_records表都会产生差异数据。
2.Frame库中有那些表是这种运行表。
2. Master库的结构化比对问题。
这次升级使用navicat的结构化对比,能对比出结构化差异,并且生成差异化脚本,因为使用的是达梦数据库,生成的脚本没有对应的主键信息?
我怀疑是因为,我在对比的时没有选项,比较主键、索引、约束这些。


问题:是否有一些好的办法规避,或者有其他的升级办法?
3.Master数据对比,每次都需要全量对比,对比会很慢,是否可以罗列出框架的定义表和运行表?
我现在采用的模式只比较一些特定模块表:
3.1 ACT_GE_、ACT_RE_前缀表:Flowable引擎需要的表,这两个前缀时静态资源表和流程定义表,其他的ACT_RU_、ACT_HI_这种前缀的表属于运行中的数据表,忽略掉了?
3.2 dingding_前缀的表,但是这里我不好区分哪些时定义表,哪些时运行表?
3.3 FLW_前缀表
3.4 qrtz_ 前缀表,但是里面我页无法区分哪些是定义表,哪些是运行表
3.5 infra_job表,配置定时任务
3.6 系统框架表:数据字典(system_dict_data, system_dict_type), 系统菜单(system_menu), 站内消息模板, 目前只用到了站内消息(system_notify_template)
问题:上面的表是否还需要完善,是否还有漏掉的?还有帮忙梳理一下dingding_、qrtz_ 开头表中有哪些是必须要升级的,哪些可以忽略掉的
4.Master库中的ACT_GE_BYTEARRAY表的升级
这个表的升级需要单独说,因为这次升级过程中这个表造成的困扰最大
1.首先这个表通过navicat进行数据差异化比较,能正常生成差异化sql,但是这个表里面有个Blob字段,该字段是二进制,sql中该字段被转成了十六进制,导致超出了数据库的sql长度,被截断无法正常插入
2.后面我又采用达梦的dexp、dimp的命令的表方式进行导出导入,可能是达梦的版本差异,dimp无法使用表格的增量数据导入,导致导入的时候有主键冲突
3.然后我只能删除生产库的ACT_GE_BYTEARRAY表,因为这个表是引擎的通用依赖表,表上面有很多级联关系,导致我只能删除该表和级联关系,才将这个表导入成功,但是级联关系不能自动创建,也没有梳理清楚里面哪些表与这个表有级联关系,导致无法重建这些级联关
4.最后我就只能把所有ACT
续上
4.Master库中的ACT_GE_BYTEARRAY表的升级
这个表的升级需要单独说,因为这次升级过程中这个表造成的困扰最大
1.首先这个表通过navicat进行数据差异化比较,能正常生成差异化sql,但是这个表里面有个Blob字段,该字段是二进制,sql中该字段被转成了十六进制,导致超出了数据库的sql长度,被截断无法正常插入
2.后面我又采用达梦的dexp、dimp的命令的表方式进行导出导入,可能是达梦的版本差异,dimp无法使用表格的增量数据导入,导致导入的时候有主键冲突
3.然后我只能删除生产库的ACT_GE_BYTEARRAY表,因为这个表是引擎的通用依赖表,表上面有很多级联关系,导致我只能删除该表和级联关系,才将这个表导入成功,但是级联关系不能自动创建,也没有梳理清楚里面哪些表与这个表有级联关系,导致无法重建这些级联关
4.最后我就只能把所有ACT_前缀表都删除,然后通过达梦迁移工具,将ACT_前缀的表重新迁移
问题:这个表的迁移过程简直是痛苦,并且现在是因为生产上还没有产生运行数据,否则后面无法升级,因为ACT_RU表也会与ACT_GE_BYTEARRAY表有级联关系,导致以后无法直接删除ACT_前缀的所有表?请问是否有更好的升级方案