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

原因分析:之间在同一个mysql或orcle下的另外的一个库中创建过act_ru_execution这个表,在Activiti初始化的时候回去遍历所有库去找是否存在这个表,如果之前用过,它当然就不会去执行创建表的语句了。

情景再现。

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>6.0.0</version>
        </dependency>

1、引用Activiti6.0

2、如果你数据库中没有生成过Activiti的表的话,第一次运行应该可以自动创建表。

3、但是当你换个库想用Activiti的话就会出现这个

表不存在!按说应该回去自己创建表,为什么他没去创建?原因是我之前在我mysql中的一个test库中运行过Activiti项目,他在那生成了act_开头的表,那么同学们应该问了,我连接的事另一个数据库 跟另一个库 有半毛钱的关系?答案是有半毛钱的关系,请看下图:

Activiti会根据

databaseSchemaUpdate的值去判断是去创建还是删除创建还是更新操作。默认是true

然后就去调用dbSchemaUpdate方法,

isEngineTablePresent()方法是个布尔类型的返回值,它是判断
ACT_RU_EXECUTION表存不存在,但是很奇怪他查询的方式是遍历当前数据源的所有数据库的方式去找这个表,没有的话就去创建act_这系列的表,也不知道算不算是个bug,下面附上查询表的源码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半块橘子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值