生成快照和数据库之间的更改日志

问题描述 投票:1回答:1

为了跟踪数据库的变化,我认为最好的解决方案是生成数据库的快照,进行更改并获取将快照与数据库进行比较的更改日志。

对于快照,我使用以下命令:

 $ liquibase --url=jdbc:postgresql://localhost:5432/test 
 outputFile=sdk/workspace//output.json --snapShotFormat=json

现在我有快照,我在数据库中做了一些更改(向2个不同的表添加了2列)。我尝试运行以下命令来将快照与db进行比较:

 $ liquibase --url=jdbc:postgresql://localhost:5432/test - 
 username=postgres --password=new_password -- 
 referenceUrl=offline:postgresql?snapshot=sdk/testsnapshot.json 
 diffchangelog

但是我收到以下错误:

 $ Unexpected error running Liquibase: Cannot parse snapshot 
 offline:postgresql?snapshot=sdk/testsnapshot.json

有关如何解决此问题的任何想法?

diff liquibase snapshot
1个回答
1
投票

我设法解决问题,如果将来有人会遇到同样的问题,这是正确的方法。

生成快照:

liquibase 
--driver=org.postgresql.Driver \
--classpath=lib/postgresql42.2.5.jre6.jar \ 
--url=jdbc:postgresql://localhost:5432/test \
--outputFile=sdk/snaptest.json \
--username=postgres \
--password=new_password \
snapshot 

生成快照和数据库之间的diffChangeLog

liquibase 
--driver=org.postgresql.Driver \
--changeLogFile=sdk/workspace/difference_log.xml \
--url=jdbc:postgresql://localhost:5432/test \
--username=postgres \
--password=new_password \
--referenceUrl=offline:postgresql=sdk/snaptest.json \
diffchangelog

干杯

© www.soinside.com 2019 - 2024. All rights reserved.