Activiti7不自动创建表解决方法

内容纲要

新库中要使用activiti7,如下配置设置自动检查创建表

spring:
  activiti:
    database-schema-update: true
    history-level: full
    #表示启动时检查数据库表,不存在则创建
    db-history-used: false

启动的时候报错,说找不到表,跑去数据库一看,果然没有表,为啥没有自动创建表呢?

Cause: java.sql.SQLSyntaxErrorException: Table 'ceis_cms_v3_0.ACT_GE_PROPERTY' doesn't exist

file

因为mysql使用schema标识库名而不是catalog,因此mysql会扫描所有的库来找表,如果其他库中有相同名称的表,activiti就以为找到了,本质上这个表在当前数据库中并不存在。
解决办法就是在数据库链接的配置后面加上 nullCatalogMeansCurrent=true,标识之搜索当前链接的库。


url: jdbc:mysql://localhost:3306/acttst?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true

加上以后就可成功运行了,此时查看数据库已经有了相关的表了

file

标签

发表评论