【问题标题】:How to display output of diffChangeLog command on console only?如何仅在控制台上显示 diffChangeLog 命令的输出?
【发布时间】:2020-02-20 03:18:07
【问题描述】:

我正在研究用于数据库模式版本控制的 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 命令不起作用。 请帮忙。

【问题讨论】:

    标签: jenkins liquibase liquibase-hibernate liquibase-sql


    【解决方案1】:

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

    作为一种解决方法,您可以使用包装脚本来做到这一点。

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

    如果您没有源代码控制(请告诉我您正在使用源代码控制),那么您可以只使用文件系统来完成同样的事情:

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

    【讨论】:

    • 感谢史蒂夫的回复。你能解释一下如何比较两个不同的变更日志文件吗?
    • 有许多不同的工具可用于此。如果您在 Linux 上,则有内置的 diff 命令。在 Windows 上,我使用了一个名为 Beyond Compare 的工具,但是这个类别中有很多很多工具。变更日志文件只是纯文本文件(以 XML 或其他格式格式化,但仍然只是纯文本),与标准工具相比非常容易。我最喜欢的另一个工具是 Tortoise SVN 和 Tortoise Git 中包含的比较工具。
    猜你喜欢
    • 2013-07-22
    • 2020-09-23
    • 2014-06-23
    • 2014-09-18
    • 2019-04-28
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多