Ответ 1
Я уже использовал оба инструмента, и, следовательно, это основные отличия.
пролетный путь
- Простота настройки - вам просто нужно место в папке и сохранить имя синтаксис V1__file.sql,...
- SQL-based, но вам нужно написать правильный синтаксис вашего конкретного механизма базы данных (Mysql, DB2,...)
- Является ли Java, поэтому добавление пользовательской конфигурации для очистки, выполнения и т.д. проще.
Liquibase
- Нужен основной файл "changelog", чтобы отслеживать все выполненные Изменения.
- Основан на базе XML, поэтому вам нужно использовать специальные теги Liquibase для создания SQL-код. Это идеально подходит для переноса кода на другой DB: вам не нужно ничего менять, и только драйвер DB скажет linibase, как перевести с тегов XML на правильный синтаксис SQL.
- Если вы используете тег sql от Liquibase, то вы не воспользуетесь точкой 2, поэтому лучше использовать Flyway.
- Liquibase предоставляет банку автоматическую миграцию существующей БД во все необходимые файлы XML, поэтому вам не нужно вручную работать с ними. Весьма полезно.
Теперь вам решать, что вам нужно для вашего проекта, нужно ли в будущем переходить на другой механизм БД и т.д.