Может ли liquibase использовать github в качестве источника файлов changeLog? - PullRequest
0 голосов
/ 17 апреля 2020

Рассмотрим проект с разными языковыми модулями, использующими одну и ту же базу данных. База данных контролируется ликвидазой. Файлы Liquibase changeLog помещаются в специальный репозиторий github. Таким образом, каждый разработчик может загрузить его и запустить локально, чтобы поддерживать локальный экземпляр базы данных в актуальном состоянии.

Часто разработчики используют базу данных памяти, такую ​​как H2, для тестирования, а ликвидабаза восстанавливает структуру базы данных при каждом запуске теста. Чтобы поддерживать тестирование базы данных в актуальном состоянии, каждый разработчик должен скачать changeLogs и вставить свои модули вручную. Но иногда он мог пропустить, что кто-то еще изменил структуру базы данных, поэтому его тесты не пройдут, но пройдут. Это более актуально для тестирования в CI.

Может ли liquibase автоматически загружать журналы изменений из источника inte rnet? Может ли он использовать частные репозитории github? Может ли он использовать для этого какое-либо свойство, например changeLogFile?

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

Могу ли я подтвердить некоторые предположения? Похоже, у вас есть команда разработчиков, которые все вносят изменения в базу данных liquibase, и вы хотите иметь возможность автоматического развертывания в процессе CI / CD?

Спасибо,

Ronak Liquibase Developer Evangelist

0 голосов
/ 19 апреля 2020

Liquibase не может запускать журналы изменений, размещенные в каком-либо удаленном репо git. Но в вашем CI вы можете настроить такую ​​вещь: если есть автоматический запрос от ветки 'feature' к ветке 'master' автоматически:

  1. Перед выполнением тестов проверьте ветку 'feature' и объедините ' master 'there
  2. Применить все журналы изменений
  3. Запустить тесты после него

Так что, если другой разработчик изменит структуру БД и передаст ее в мастер-тесты в ветке' feature ', быть выполненным с последней структурой БД.

...