У нас есть довольно интересный вариант использования, когда мы используем Liquibase для развертывания базы данных для нашего приложения, но на самом деле мы не контролируем базу данных. Это означает, что нам нужно добавлять много дополнительных logi c каждый раз, когда мы запускаем Liquibase, чтобы избежать каких-либо ошибок во время фактического запуска. Один из способов, которым мы это сделали, состоит в том, что мы генерируем моментальные снимки того, как должна выглядеть БД для каждой версии нашего продукта, а затем сравниваем этот моментальный снимок с работающей БД, чтобы узнать, находится ли она в совместимом состоянии. Файлы моментальных снимков для нашей полной базы данных - это не giganti c, но если нам нужно иметь полный файл для каждого возможного выпуска, это может привести к тому, что наш программный пакет в будущем станет большим мертвым грузом.
Мы Мы рассмотрели использование команды Linux patch для создания файлов смещения, поскольку разница между этими файлами обычно будет очень небольшой (например, изменение 1 столбца и т. д. c.), но проблемы связаны с сгенерированными идентификаторами в моментальном снимке, которые не согласовано между прогонами:
"snapshotId": "aefa109",
"table": "liquibase.structure.core.Table#aefa103"
Есть ли способ заставить идентификаторы быть последовательными или решить эту проблему другим способом?
Спасибо!