Подтвердить что ты не робот

Liquibase vs Flyway, какой из них использовать?

Мне нужно использовать инструмент/среду для миграции базы данных для моих приложений на основе Sprint Boot/ Node.js. Изучив особенности Liquibase и Flyway, я немного смущен, и один из них можно использовать. В то время как поддержка отката, нейтральная замена базы данных и т.д. Привлекает меня к Liquibase, с другой стороны, простота (SQL-based), лучшая процедура и поддержка PL/SQL тянет меня к Flyway.

Нам нужно больше конкретных точек данных, прежде чем, наконец, решив это.

4b9b3361

Ответ 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, поэтому вам не нужно вручную работать с ними. Весьма полезно.

Теперь вам решать, что вам нужно для вашего проекта, нужно ли в будущем переходить на другой механизм БД и т.д.

Ответ 2

Я использовал Liquibase. Для приложений уровня предприятия (где вы сотрудничаете с разными командами) Liquibase очень подходит для вас. Мне нравится функция отката.

Для небольших приложений Flyway будет хорошо благодаря простоте.