Создать журнал изменений между снимком и базой данных - PullRequest
1 голос
/ 31 марта 2019

Для отслеживания изменений в базе данных я подумал, что лучшим решением является создание снимка базы данных, внесение изменений и получение журнала изменений, сравнивая снимок с базой данных.

Для снимкаЯ использую следующую команду:

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

Теперь, когда у меня есть снимок, я внесла некоторые изменения в базу данных (добавив 2 столбца в 2 разные таблицы).Я пытаюсь запустить следующую команду, чтобы сравнить снимок с БД:

 $ 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

Есть идеи, как это исправить?

1 Ответ

1 голос
/ 01 апреля 2019

Мне удается решить проблему, и в случае, если у кого-то возникнет такая же проблема в будущем, это правильный способ сделать это.

Создать снимок:

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

Приветствия

...