背景:
设计阶段把系统创建的流程表、用户表都转到了外联库。
或是版本问题,发现现有8.0版本开始创建的数据库的流程系统表有问题,需要用9.0重新生成流程系统表。
围绕流程与用户,存在自建表;还有业务表。
目的:
原有工程文件+新的数据库
新数据库=新版本9.0产生的流程/用户系统表+原有自建表+原有业务表
过程:
1、原有8.0数据库的工程文件A
2、新建工程B,新工程在9.0数据库内生成流程表
3、服务器的用户连接到新的9.0数据库,9.0数据库里生成了用户表
4、工程文件A复制出文件C
5、文件C把流程系统表/用户系统表之外的全部数据表转成内库表(ctrl+shift+内转外表)
6、工程B内引入C的非系统表
系统自带的流程视图不需要导入(原因见后文)
自建视图导入后也需要重新制作(因为导入的视图基于8.0老数据库,但是导入后可以用于拷贝)
7、工程B把非系统表转到新的9.0外库
至此,得到了一个9.0新流程系统表+9.0新用户系统表+原有自建表与视图+原有业务表的新数据库
下面就是需要原有工程文件连上这个新数据库(没采用新工程B里导入A,考虑原因同样要去导入老的数据连接,还会有可能覆盖,有些关联不保证一定能导入)
8、工程文件A复制出文件D
9、删除D里面全部与8.0老数据关联的表(数据库并不会删除表,只是删除设计器里表的定义)
10、新建数据连接,成功后把新数据库的所有表转到设计器里(连接的时候弹窗询问,错过了再次连接会再弹窗),然后把每个表移动到相应的子文件夹
11、查找老数据库的引用:就是很多涉及SQL命令的东西+1个流程数据关联
SQL命令没有好办法,只能复制命令后一点点修改(此处可另开贴提出需求)
最后那个流程数据关联需要删除每个流程的数据,再删除流程,每个流程图删除前导出BPMN文件备份(此处可另开贴提出需求)
原有流程图全部删除了,然后终于能把8.0的数据连接删除
保存文件,关闭后重新打开,否则直接创建流程报错(原因不明)
制作D的副本E,以备意外。
12、打开D文件,再创建流程,这个时候让选对应的数据库,选择那个新的9.0数据库
系统这个时候才会产生新的流程系统视图和内置页,注意:如果不采用这种方式直接在原有那个8.0版本流程系统视图上改成新数据库连接没有用。
13、检查还有没有页面覆盖、冲突等错误
14、测试成功即可
|