首页 > 解决方案 > 如何仅在控制台上显示 diffChangeLog 命令的输出?

问题描述

我正在研究用于数据库模式版本控制的 Liquibase 命令。目前我正在使用diffChangeLog命令。下面是我正在处理的示例格式。

liquibase
--changeLogFile=dbchangelog.xml
--outputFile=mydiff.txt
--driver=oracle.jdbc.OracleDriver
--classpath=ojdbc14.jar
--url="jdbc:oracle:thin:@<IP OR HOSTNAME>:<PORT>:<SERVICE NAME OR SID>"
--username=<USERNAME>
--password=<PASSWORD>
diffChangeLog
--referenceUrl="jdbc:oracle:thin:@<IP OR HOSTNAME>:<PORT>:<SERVICE NAME OR SID>"
--referenceUsername=<USERNAME>
--referencePassword=<PASSWORD>

根据我的要求,我不希望结果保存在 dbchangelog.xml 上。我只想在控制台上得到这个结果。是否必须传递changeLogFile参数,因为如果我不传递,则diffChangeLog命令不起作用。请帮忙。

标签: jenkinsliquibaseliquibase-hibernateliquibase-sql

解决方案


不幸的是,更改更改日志文件的命令基本上是固有的。

作为一种解决方法,您可以使用包装脚本来执行此操作。

  1. 运行 diffchangelog
  2. 使用您的源代码管理来显示更改日志文件的差异
  3. 使用源代码管理还原更改

如果您没有源代码控制(请告诉我您正在使用源代码控制),那么您可以仅使用文件系统完成相同的操作:

  1. 制作变更日志文件的备份副本
  2. 运行 diffchangelog
  3. 使用命令行 diff 将更改后的变更日志文件与备份副本进行比较
  4. 恢复更改日志文件的备份副本

推荐阅读