繁体   English   中英

Spring Boot 2下activiti后启动liquibase

[英]Start liquibase after activiti under Spring Boot 2

我们有一个带有 activiti 和 liquibase 依赖项的项目。 Activiti 是自动配置的(exc. 'spring.activiti.async-executor-activate' 和 application.yml 中的 'spring.activiti.database-schema-update' 参数)和 liquibase 也是(exc. 'spring.liquibase.change-log ')。

现在我们需要使用特殊的 liquibase 变更集(如<sql>alter index... rebuild tablespace...</sql> )重建 activiti 表(ACT_*)上的索引。

现有数据库没有问题,但由于 liquibase 试图更改不存在的 ACT_* 索引,它在第一个应用程序启动时崩溃。

考虑到 Spring 引导自动配置,我如何在安装 activiti DB 后启动 liquibase?

您可以使用preconditions控制这些变更集的执行。 例如:

<changeSet id="1"  author="bob">  
    <preConditions onFail="MARK_RAN">  
        <indexExists>your_act_index</indexExists>  
    </preConditions>  
    <sql>alter index ... rebuild tablespace ...</sql>
</changeSet>  

这种方式只有在索引存在时才会重建索引,而空数据库则不然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM