小编Rod*_*lfo的帖子

从命令行进行 Liquibase 回滚不起作用

我正在 Windows 环境中执行一个 Tomcat 应用程序,部署时会在 Oracle 数据库上创建/更新数据库架构。为此,我使用 Liquibase SDK 3.3.2。所以基本上我调用 SDK 并告诉它从我的changelog.xml 进行更新。这部分工作得很好。代码构成java类

...
Liquibase liquibase = new Liquibase(CHANGE_LOG,
                new ClassLoaderResourceAccessor(getClass().getClassLoader()), db);

liquibase.update("");
Run Code Online (Sandbox Code Playgroud)

问题是,当出现问题并且我从命令行执行回滚时,什么也没有发生。我没有收到任何异常或错误消息。只是一条消息“回滚成功”,但数据库中根本没有任何变化。现在有趣的是,当我从 cmd 更新更改日志文件,然后也从 cmd 进行回滚时,回滚就会起作用。命令行调用如下所示:

Liquibase --changeLogFile=C:\myProject\src\main\resources\database\master.xml  --logLevel=DEBUG rollbackCount 5
Run Code Online (Sandbox Code Playgroud)

我的 liquibase.properties 文件如下所示:

driver: oracle.jdbc.OracleDriver 
classpath:ojdbc6.jar 
url: jdbc:oracle:thin:@192.168.56.101:1521:orcl
username: myUser
password: mypassword
Run Code Online (Sandbox Code Playgroud)

问题有人知道为什么会发生这种情况吗?SDK和cmd工具之间是否存在不兼容的情况?

java liquibase

4
推荐指数
1
解决办法
6571
查看次数

标签 统计

java ×1

liquibase ×1