The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

15.02.2017 09:53  Выпуск Flyway 4.1.0, инструмента для контроля версий БД

Представлен новый выпуск проекта Flyway, в рамках которого развивается инструментарий для сопровождения баз данных и синхронизации их структуры со связанным программным обеспечением. Flyway можно рассматривать как аналог системы управления версиями для БД, который выполняет задачу автоматизации отражения изменений в структуре базы данных для соответствия версии БД и версии программного обеспечения, работающего с этой БД.

Иными словами, Flyway позволяет привязать состояние структуры БД к версии приложения и изменять данную структуру в зависимости от выбранной версии программы. Например, при переходе на новую версию приложения Flyway позволяет на всех серверах привести схему хранения данных к новой версии. Flyway также даёт возможность быстро узнать какой версии ПО соответствует имеющаяся БД, проверить целостность схемы и в случае нарушения структуры (например, ручного добавления/удаления поля) исправить схему.

Код проекта написан на языке Java и распространяется под лицензией Apache 2.0. Flyway может работать с СУБД PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, SQL Azure, DB2, DB2 z/OS, Google Cloud SQL Redshift, Vertica, EnterpriseDB, H2, Hsql, Derby и SQLite. Имеются встроенные средства для интеграции с системами сборки Maven, Gradle, Ant и SBT, а также плагины для Spring Boot, Dropwizard, Grails, Play, Griffon, Grunt и Ninja. Применение Flyway возможно на любых системах для которых доступен язык Java, в том числе Windows, macOS, Linux и Android.

В новой версии добавлена поддержка EnterpriseDB, возможность использования в PostgreSQL не работающих внутри транзакций конструкций (CREATE INDEX CONCURRENTLY, ALTER TYPE, VACUUM ), улучшена поддержка репликации MySQL, увеличена производительность массовых миграций.

  1. Главная ссылка к новости (https://flywaydb.org/blog/flyw...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: flyway, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 10:19, 15/02/2017 [ответить] [смотреть все]
  • +5 +/
    Очень круто.
     
  • 1.2, Аноним, 10:22, 15/02/2017 [ответить] [смотреть все]
  • +3 +/
    Вот только даунгрейд миграций flyway не поддерживает Модно только дропнуть базу... весь текст скрыт [показать]
     
     
  • 2.5, Аноним, 10:42, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Миграции ещё и на SQL пишутся Тот же liquidbase поддерживает YAML, что гораздо ... весь текст скрыт [показать] [показать ветку]
     
  • 2.17, Аноним, 14:27, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Хотите чтобы flyway сам все дропал вместов вас?
     
  • 2.26, аноним_, 20:50, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    это и на обычном sql невозможно
     
  • 1.3, _pochtynet_, 10:26, 15/02/2017 [ответить] [смотреть все]  
  • –2 +/
    Лучше бы добавили роллбэки.
     
     
  • 2.19, Аноним, 16:28, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Для Oracle на DDL
     
     
  • 3.39, Аноним, 23:42, 19/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Очень сильно удивился в своё время что оракл не может такое, а постгрес без проб... весь текст скрыт [показать]
     
  • 2.38, Dmitry, 23:36, 19/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это работа базы данных
     
  • 1.4, Пользователь Debian, 10:31, 15/02/2017 [ответить] [смотреть все]  
  • +/
    Лого у проекта отличное.

    Майкрософту бы поучиться!

     
     
  • 2.6, A.Stahl, 10:59, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вполне схожие логотипы по трудозатратам У Микрософта нелепо раскрашенные квадра... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.11, Аноним, 13:10, 15/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    А, так это крылья? Долго не мог понять, что не так с ногами
     
     
  • 4.20, Аноним, 16:29, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Это много каблуков... весь текст скрыт [показать]
     
  • 3.36, б.б., 07:09, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    у perl6 на логотипе бабочка, чтобы заинтересовать семилетних девочек а это - ког... весь текст скрыт [показать]
     
  • 3.37, Dmitry77, 23:32, 19/02/2017 [^] [ответить] [смотреть все]  
  • +/
    а мне нравится логотип logstash - чурбан с усами
     
  • 1.7, Аноним, 11:03, 15/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Так а что оно умеет то Просканить папку, посмотреть - выполнены ли все миграции... весь текст скрыт [показать]
     
     
  • 2.9, A, 12:25, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Неюзабельно Как выше заметили downgrade не поддерживается, разработка в команд... весь текст скрыт [показать] [показать ветку]
     
  • 2.14, VoDA, 14:06, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Там несколько больше И самому еще написать нужно А так взял и получил результа... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.21, Аноним, 16:29, 15/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    я про основной код понятно, что там и обвязка для maven-плагина, и некоторый на... весь текст скрыт [показать]
     
  • 2.32, Led, 23:31, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    > Так а что оно умеет то? Просканить папку

    Почему только папку? Мамку тоже.

     
  • 1.8, LinuxID, 11:07, 15/02/2017 [ответить] [смотреть все]  
  • +1 +/
    Ага! Летающая 200 литровая бочка с няшками ))
     
  • 1.12, Аноним, 13:38, 15/02/2017 [ответить] [смотреть все]  
  • +/
    Я не совсем понял, запросы же все равно писать придется, какой профит?
     
     
  • 2.13, VoDA, 13:59, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Удобная либа которая проверит текущую версию БД и накатит нужные обновления Про... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Аноним, 16:30, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А можно поподробнее про java migrations Ну или хотя бы ссылочку - что это вообщ... весь текст скрыт [показать]
     
     
  • 4.27, qsdg, 20:50, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Я так понимаю товарищ про то, что flyway не обязательно вызывать из командной ст... весь текст скрыт [показать]
     
     
  • 5.31, Аноним, 23:11, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    я пробежался по примерам чтобы сделать нормальную интеграцию под мои требован... весь текст скрыт [показать]
     
  • 5.34, VoDA, 16:01, 16/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Наоборот Flyway может дергать кастомный java который будет выполнять эпические ... весь текст скрыт [показать]
     
  • 4.33, VoDA, 15:59, 16/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Лови :)

    https://flywaydb.org/documentation/migration/java

     
     
  • 5.35, Аноним, 17:05, 16/02/2017 [^] [ответить] [смотреть все]  
  • +/
    как интересно и кто-то этим реально пользуется ... весь текст скрыт [показать]
     
  • 1.15, Аноним, 14:20, 15/02/2017 [ответить] [смотреть все]  
  • +1 +/
    А есть аналоги этой флайвей?
     
     
  • 2.28, qsdg, 20:54, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > А есть аналоги этой флайвей?

    MyBatis migrations http://www.mybatis.org/migrations/ наверно самая простая.

    Liquibase -- xml синтаксис, умеет делать diff между реальной базой и твоим XML скриптом.
    Также поддерживает scope (там это называется context), когда можно указать что вот эти вот нужно накатывать только на прод, некоторые -- только на тестовую бд. При вызове указываешь какой context хочешь накатить.

     
  • 1.16, Аноним, 14:25, 15/02/2017 [ответить] [смотреть все]  
  • +/
    http://www.liquibase.org/
     
  • 1.18, Шкурка_от_головки, 15:19, 15/02/2017 [ответить] [смотреть все]  
  • +1 +/
    Мой личный опыт с этой программой.
    Понравилось:
    1. именование файлов как версию миграции
    2. чистый SQL
    3. гибкая конфигурация

    Не понравилось:
    1. отсутствие транзакций. например, если пишите запрос в несколько строк, и одна из них ушла в fail, то откатить исполнившиеся строки нельзя.
    2. Никакая работа с несколькими схемами. Вполне логично было бы разделить миграции для разных схем на разные директории, а работать с ними через одну программу.
    3. отсутствие downgrade

     
     
  • 2.23, Аноним, 16:32, 15/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    как по мне - очень спорно в чем это проявляется не все БД умеют транзакционност... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, Шкурка_от_головки, 17:26, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    > как по мне - очень спорно

    Помимо версии указывается еще описание миграции. По мне, так это лучше, чем тyпой таймстамп.

    > в чем это проявляется?

    Различные префиксы, суффиксы, разделители для именования файлов и т.д. Подробности в комментариях файла конфигурации.

    > не все БД умеют транзакционность DDL (тот же mysql - не умеет)

    Если программа берет на себя версионность БД, то как-то на уровне ПО можно это реализовать.

    > а как же гибкая конфигурация?

    Да, не все в ней гладко

    > насколько реально это нужно и как часто востребовано?

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

     
     
  • 4.25, Аноним, 17:32, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Чем это лучше чем например тyпой таймстамп для сортировки и краткое описание м... весь текст скрыт [показать]
     
     
  • 5.29, Шкурка_от_головки, 22:33, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Да, при наличии двух и более файлов с одной версией он ругается Но как часто Вы... весь текст скрыт [показать]
     
     
  • 6.30, Аноним, 23:09, 15/02/2017 [^] [ответить] [смотреть все]  
  • +/
    в активной фазе разработки проекта база меняется очень часто потом пилятся фичи... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor