gpt4 book ai didi

java - 如何使用 Liquibase 命令行回滚到特定的更改集

转载 作者:行者123 更新时间:2023-11-29 12:08:51 26 4
gpt4 key购买 nike

我有两个更改日志文件(changeLog-1.0.1.xml、changeLog-2.0.1.xml)。每个 changeLog 文件包含两个 changeSets (changeSet-1, changeSet-1)两者都在应用部署时执行。

这是我指定变更集的方式:

<changeSet id="changeSet-1" author="someUser" labels="labelOne">
<createTable tableName="testTable" schemaName="public">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints primaryKey="true"/>
</column>
</createTable>
<rollback>
<dropTable tableName="testTable"/>
</rollback>
</changeSet>

我想从命令行回滚第二个 changeLog 文件 (changeLog2.xml)。

我尝试了很多方法,但都没有成功。

java -jar C:\..\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar update rollback changeSet-1 --changeLogFile="changeLog-1.0.1.xml"

当与 changeLog 文件在同一个目录时

更新:我成功地从命令行调用了更新

    java -jar C:\Users\someUser\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar 
--changeLogFile=changeLog.xml
--labels=labelOne
--url=jdbc:postgresql://localhost:5432/app2db
--classpath=C:/postgresql-42.1.4.jar
--username=app2user
--password=password
update

回滚

    java -jar C:\Users\someUser\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar 
--changeLogFile=changeLog.xml
--labels=labelOne
--url=jdbc:postgresql://localhost:5432/app2db
--classpath=C:/postgresql-42.1.4.jar
--username=app2user
--password=password
rollback

调用崩溃

Unexpected error running Liquibase: rollback requires a rollback tag

最佳答案

我必须先创建一个标签

java -jar C:\path\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar  
--changeLogFile=changeLog.xml
--url=jdbc:postgresql://localhost:5432/app2db
--classpath=C:/postgresql-42.1.4.jar
--username=app2user
--password=password
tag exampletag

然后回滚到那个特定的标签

java -jar C:\path\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar
--changeLogFile=changeLog.xml
--labels=labelOne
--url=jdbc:postgresql://localhost:5432/app2db
--classpath=C:/postgresql-42.1.4.jar
--username=app2user
--password=password
rollback exampletag

关于java - 如何使用 Liquibase 命令行回滚到特定的更改集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com