springboot3.x 整合 activiti8.1.0 创建数据表时少了一张历史表 ACT_HI_IDENTITYLINK ,报错如下:
原因:mysql并不提供 varbinary(max) 的写法,
解决办法:
1、提升 activiti 版本到 8.2.0 以上
github 上作者是在 8.2.0 版本才合并修改的代码,所以想让 activiti 自动创建表,需要将 activiti8.1.0 提升到 activiti8.2.0 版本。需要注意的是,如果使用 8.2.0 版本,java 版本最低必须要 21。
2、手动创建表
可以自己创建一张表,sql语句如下:
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64),
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
DETAILS_ varbinary(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin
或者如下:
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64),
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
DETAILS_ longblob,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin
注:作者推荐使用longblob数据类型,并且在新的版本中也是使用此类型。