Как стать автором
Обновить

Комментарии 13

только я со взглядом горячим, потирая потные ручонки в предвкушении, клацнул по ссылке с таким вкусным заголовком, как статья раз, и закончилась… печаль…

Ну тут я ничего не могу поделать, оригинальная статья тоже небольшая. Главная идя тут все же дать людям, не знакомым с этими решениями направление куда дальше копать ))

Мало того, что статья крайне маленькая, так она ещё и неверная. В Liquibase совершенно спокойно можно писать changeset-ы как на чистом SQL, так и на Java. Откуда взялась информация про «поддерживаются одним человеком» — вообще не понятно. Оба продукта очень зрелые и каждый поддерживается и развивается коммерческими компаниями (в случае Liquibase это Datical, в случае Flyway — Boxfuse). Ну и т.д.
Формально Liquibase поддерживается Datical, но если брать opensource-версию, то там некоторое время назад все было настолько печально, что доходило до форков github.com/dbmanul/dbmanul, которые вроде бы залили назад. С другой стороны, действительно, продукту уже лет 10, так что основные проблемы закрыты, а патчи начали принимать активнее.
А статья, действительно, бестолковая.
Нужно заметить, что Liquibase вполне себе поддерживает использование произвольного SQL-кода, для этого есть тег
<sql>

Есть, не спорю. Однако, это скорее вспомогательный подход для Liquibase.
При переводе оригинала, я несколько неудачно сформулировал фразу на русском, так сто она понималась как то, что Liquibase не позволяет использовать SQL вообще. ((


Текст перевода поправил.
Еще раз спасибо за замечания.

И даже больше, в Liquibase можно чанжсеты в sql файлах писать, управляя миграциями с помощью комментариев https://www.liquibase.org/documentation/sql_format.html, хотя такой подход все равно ограничен по сравнению со стандартными.
В пользу liquibase еще хочу заметить наличие ролбеков из коробки (правда не для всех операций, но для большинства).
Очень удобно: обновил БД, не работает ПО, вернул обратно.
Автор статьи, по какой-то причине, забыл упомянуть, что миграции liquibase могут включать роллбек шаги. Таким образом, там где Flyway просто упадет, liquibase может остановиться на проблемном месте и откатить операцию с ошибкой.
Если нужен только SQL + Java, то я за Flyway. Он легче, заточен на это. Легко позволяет иметь в одной базе несколько независимых модулей.
НЛО прилетело и опубликовало эту надпись здесь
Использую Flyway но недавно столкнулся с неприятностью. В проекте Oracle 11g поддержка которого платная. Тут и стал искать альтернативы и нашел Liquibase. Поигрался на тестовом проекте… как-то не так очевидно все там. Подумал… подумал… и подрубил 4.2 версию Flyway в которой есть бесплатная поддержка Oracle 11g.
Уникальной чертой Flyway является то, что скрипты миграции могут быть не только в формате SQL, но и в виде Java-кода.

Liquibase тоже умеет работать с ченджсетами на Java. И с чистым sql умеет работать. Так что не понятно по итогу в чем разница
Зарегистрируйтесь на Хабре, чтобы оставить комментарий