解决Flowable删除表后不能重新创建问题

解决办法:

1. yml 配置时

配置mysql连接时加上:nullCatalogMeansCurrent=true

url: jdbc:mysql://localhost:3306/myActiviti?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC

2. xml配置时

up-58527f760b6fcbbc6da550b6d5a24bd8d6d.png

问题出现的原因:

出现这种问题的原因是mysql版本问题,mysql8.xxx以上驱动会出现这个问题,下图是我原mysql配置,是8.0.16的。

up-3bbf020ff349930aec425df05ced6472d46.png

总结:

因为mysql使用schema标识库名而不是catalog,因此mysql会扫描所有的库来找表,如果其他库中有相同名称的表,activiti就以为找到了,本质上这个表在当前数据库中并不存在。
设置nullCatalogMeansCurrent=true,表示mysql默认当前数据库操作,在mysql-connector-java 5.xxx该参数默认为true,在6.xxx以上默认为false,因此需要设置nullCatalogMeansCurrent=true。

猜你喜欢

转载自blog.csdn.net/qq_25231683/article/details/121141060