Activiti 初始化启动失败提示 ACT

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Activiti 初始化启动失败提示 ACT
1 问题描述

启动 Activiti 项目时,会执行数据库的检查以及初始化操作,数据库中没有对应的 activiti 数据库表,程序没有自动创建,并提示表不存在。

数据库为 MySQL 5.7+

具体报错如下:

java.sql.SQLSyntaxErrorException: Table 'demo_activiti.ACT_GE_PROPERTY' doesn't exist
2 解决办法

在 MySQL 的链接 URL 中添加: nullCatalogMeansCurrent=true 配置

完整 url 示例:

jdbc:mysql://127.0.0.1:3306/activiti6ui?useUnicode=true&characterEncoding=utf8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8&useSSL=true&allowMultiQueries=true&autoReconnect=true&nullCatalogMeansCurrent=true


问题原因: 同一个数据源中其他库中的表会影响 activiti 表的创建,activiti 会在建表之前检索当前数据源中所有库中是否包含 activiti 相关的数据库表(以 act_ 开头),如果有就会断定为 activiti 的工作流表已经存在,此时就不会再执行建表语句,即使 databaseSchemaUpdate = true


当同一个数据源中有多个 activiti 工作流的数据库且 MySQL 的驱动为com.mysql.cj.jdbc.Driver 时会抛出以上异常

3 参考资料

Activiti6集成springboot后不执行创建语句,直接报查询的表不存在

Table ‘activiti.act_ge_property’ doesn’t exist

Mybatis 官方文档: MySql Usage Notes Unsigned Fields


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
Java Maven
springboot jar包启动提示没有主清单属性
springboot jar包启动提示没有主清单属性
|
4天前
|
Shell Android开发 开发者
Android系统 自定义动态修改init.custom.rc
Android系统 自定义动态修改init.custom.rc
38 0
|
7月前
24activiti - 流程变量(启动流程实例)
24activiti - 流程变量(启动流程实例)
17 0
|
Python
FastAPI(35)- 依赖项中使用 yield + Context Manager 上下文管理器
FastAPI(35)- 依赖项中使用 yield + Context Manager 上下文管理器
261 0
项目中使用了个quartz包,启动时提示Quartz version update check failed
项目中使用了个quartz包,启动时提示Quartz version update check failed
148 0
|
Java
【JAVA】【SpringBoot】当重新启动项目的时候,需要把用户一些状态回退,但是回退失败了,项目却没有停止,可以用System.exit(1);
【JAVA】【SpringBoot】当重新启动项目的时候,需要把用户一些状态回退,但是回退失败了,项目却没有停止,可以用System.exit(1);
304 0
【JAVA】【SpringBoot】当重新启动项目的时候,需要把用户一些状态回退,但是回退失败了,项目却没有停止,可以用System.exit(1);