Liquibase执行SQL格式变更文件时如何实现自动设置tag标签
最低成本实现自动打标的两种方案,均无需修改现有SQL变更文件:
方案1:修改主Changelog配置(适配Maven执行和Spring Boot启动两种场景,仅需改1处配置)
直接调整你的master changelog yaml文件,在includeAll节点后新增tagDatabase变更集即可:
databaseChangeLog: - includeAll: path: db/changelog/changes/ - changeSet: id: auto-tag-1 author: yourname changes: - tagDatabase: tag: "1"
每次执行mvn liquibase:update操作或者Spring Boot启动执行变更时,所有SQL变更跑完后会自动给当前最新变更打上指定tag。后续版本迭代需要更新tag值时,直接修改对应tag参数即可,新增的变更集会作为新的变更执行,不影响历史数据。
方案2:按执行场景单独配置
如果不想修改changelog文件,可根据你的使用场景单独加配置:
- Maven执行update场景:在pom.xml的liquibase插件配置中新增tag参数
<plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId> <version>你的当前版本号</version> <configuration> <!-- 保留原有所有配置 --> <tag>1</tag> </configuration> </plugin>
- Spring Boot启动执行场景:在application配置文件中新增tag参数
spring: liquibase: tag: "1"
以上两种方案改完即可生效,无需额外调整现有业务代码和SQL变更逻辑。
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

