Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Liquibase命令行回滚到特定更改集_Java_Spring_Postgresql_Maven_Liquibase - Fatal编程技术网

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

Java 如何使用Liquibase命令行回滚到特定更改集,java,spring,postgresql,maven,liquibase,Java,Spring,Postgresql,Maven,Liquibase,我有两个changeLog文件(changeLog-1.0.1.xml,changeLog-2.0.1.xml)。 每个变更日志文件包含两个变更集(变更集-1、变更集-1) 两者都是在应用程序部署时执行的 以下是我指定变更集的方式: <changeSet id="changeSet-1" author="someUser" labels="labelOne"> <createTable tableName="testTable" schemaName="public"&

我有两个changeLog文件(changeLog-1.0.1.xml,changeLog-2.0.1.xml)。 每个变更日志文件包含两个变更集(变更集-1、变更集-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文件位于同一目录中时

更新:我成功地从命令行调用了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 
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 -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