解决 activiti java.sql.SQLSyntaxErrorException: Table ‘activiti.act_ge_property’ doesn’t exist
系统使用的是activiti6,mysql使用的是8.0.28,在启动系统时报Table ‘activity.act_ge_property’ doesn’t exist 异常,在使用mysql5.7的时候,启动正常,于是查找资料发现mysql8查表时默认表名区分大小。
报错信息:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'activit.ACT_GE_PROPERTY' doesn't exist
### The error may exist in org/activiti/db/mapping/entity/Property.xml
### The error may involve org.activiti.engine.impl.persistence.entity.PropertyEntityImpl.selectProperty-Inline
### The error occurred while setting parameters
### SQL: select * from ACT_GE_PROPERTY where NAME_ = ?
### Cause: java.sql.SQLSyntaxErrorException: Table 'activit.ACT_GE_PROPERTY' doesn't exist
网上有人说在数据库链接 url后加上 nullCatalogMeansCurrent=true,测试后没有效果。 activit配置文件将 databaseSchemaUpdate = true,测试后没有效果。
以下是我的解决办法
1、 修改 mysql的 my.cnf 全局搜索 [mysqlld] ,然后添加配置: lower_case_table_names=1
2、通过docker安装的mysql 直接修改配置文件后,mysql无法启动。 需要将mysql配置目录下data目录清空。(一定要提前备份数据库表)然后在启动mysql就正常了。
|