【问题标题】:liquibase diffChangeLog does not reflect any changesliquibase diffChangeLog 不反映任何更改
【发布时间】:2014-09-13 01:13:57
【问题描述】:

我已经能够使用以下命令从当前数据库生成变更日志:

Liquibase --driver=org.hsqldb.jdbc.JDBCDriver --classpath=C:\i2S-devenv\apps\hsqldb-2.2.9\lib\hsqldb.jar --changeLogFile=c:\i2S-devenv\changelog.xml --url="jdbc:hsqldb:hsql://localhost:9901/test_db" generateChangeLog

现在,我在数据库中做了一些更改(删除表),我想更新我的更改日志以反映这些更改。我已经执行了以下命令:

Liquibase --driver=org.hsqldb.jdbc.JDBCDriver --classpath=C:\i2S-devenv\apps\hsqldb-2.2.9\lib\hsqldb.jar --changeLogFile=c:\i2S-devenv\changelog2.xml  --url="jdbc:hsqldb:hsql://localhost:9901/test_db" diffChangeLog --referenceUrl="jdbc:hsqldb:hsql://localhost:9901/test_db"

这种方法有什么问题。我在 Changelog 中看不到任何差异。

谢谢。

蒂亚戈

【问题讨论】:

    标签: liquibase


    【解决方案1】:

    您正在将数据库与自身进行比较。为了比较两个数据库,您必须让 --url 参数和 --referenceUrl 是不同的数据库。

             --url="jdbc:hsqldb:hsql://localhost:9901/test_db"
    --referenceUrl="jdbc:hsqldb:hsql://localhost:9901/test_db"
    

    【讨论】:

    • 好的,谢谢您的回复。这意味着我不能在两个不同的时刻比较同一个数据库,对吧?如果我想在两个不同的时刻(例如一天的开始和结束)查看同一数据库实例之间的差异,我不能使用 liquibase?
    • 正确 - 这不是 Liquibase 旨在解决的问题。
    猜你喜欢
    • 2019-03-03
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多