Flyway 12.9.0 теперь доступен, предлагая ряд доработок и исправлений для этого важного инструмента миграции баз данных. Это обновление, выпущенное 18 июня 2026 года, направлено на повышение стабильности и совместимости.

TL;DR

  • Устранены критические ошибки, влияющие на историю схемы и операции undo.
  • Улучшена совместимость с базами данных, особенно для PostgreSQL 16 и SQL Server.
  • Введена новая опция конфигурации для более контролируемой очистки схемы.

Ключевые Изменения

Flyway 12.9.0 основывается на своем предшественнике, Flyway 12.8.1, с целенаправленными улучшениями.

Новые Возможности

Этот релиз включает незначительные, но важные улучшения функций. Совместимость с PostgreSQL 16 была дополнительно оптимизирована, теперь предлагая улучшенную поддержку расширенных типов данных, сложных определений функций и синтаксиса декларативного партиционирования. Это обеспечивает более надежное выполнение миграций для современных сред PostgreSQL. Для пользователей SQL Server обновление улучшает парсинг разделителей пакетов GO, особенно в скриптах, содержащих запросы к связанным серверам или динамический SQL, что ранее могло приводить к ошибкам парсинга. Заметным дополнением является опция конфигурации flyway.clean.ignoreSchemas. Она позволяет пользователям указывать список схем, разделенных запятыми, которые должны быть явно исключены из команды clean, обеспечивая важную защиту от случайной потери данных в общих средах разработки или тестирования. Например, flyway.clean.ignoreSchemas=audit_schema,external_data предотвратит удаление этих схем.

Исправления

Flyway 12.9.0 устраняет несколько критических ошибок, повышающих общую стабильность инструмента. Были решены проблемы, связанные с таблицей истории схемы, в частности, касающиеся одновременных записей во время параллельных миграций. Это предотвращает потенциальные взаимоблокировки и обеспечивает целостность метаданных миграции. Давняя проблема с операциями undo, завершающимися сбоем в базах данных Oracle из-за специфических ошибок парсинга блоков PL/SQL, была исправлена, значительно повышая надежность процедур отката. Кроме того, отчетность об ошибках для неудачных миграций теперь более точна, предлагая более четкие трассировки стека и контекстную информацию, что значительно помогает в более быстром анализе первопричин. Также были реализованы оптимизации производительности для обработки больших наборов скриптов миграции.

Устаревшие Функции

В этом релизе не отмечено значительных устаревших функций. Пользователи могут продолжать использовать свои существующие конфигурации и скрипты миграции без немедленных опасений по поводу нарушений совместимости.

Для получения официальной информации и полного списка изменений см. примечания к релизу Flyway 12.9.0.

Влияние на Команды QA

Команды QA обнаружат, что Flyway 12.9.0 способствует созданию более стабильных и предсказуемых сред тестирования баз данных. Улучшенная надежность истории схемы и операций undo означает меньше неожиданных проблем при настройке и демонтаже тестовых сред. Улучшенная отчетность об ошибках позволяет быстрее выявлять и отлаживать сбои миграции, оптимизируя тестирование изменений в базе данных. Новая опция flyway.clean.ignoreSchemas обеспечивает дополнительный уровень безопасности, предотвращая непреднамеренное удаление критически важных тестовых данных или общих схем во время операций clean, тем самым сокращая время повторного создания тестовой среды.

FAQ

В: Является ли Flyway 12.9.0 обязательным обновлением? О: Нет, это минорное обновление. Обновитесь, если вашим проектам требуются конкретные исправления ошибок, улучшенная совместимость с базами данных или новая опция конфигурации clean.

В: Есть ли критические изменения в этом релизе? О: В Flyway 12.9.0 не сообщается о серьезных критических изменениях. Существующие скрипты миграции и конфигурации должны оставаться совместимыми. Всегда обращайтесь к официальным примечаниям к релизу для получения полной информации.

В: Как это обновление повлияет на существующие скрипты миграции? О: Существующие скрипты миграции должны оставаться полностью совместимыми. Обновление в основном сосредоточено на внутренней стабильности, совместимости с базами данных и незначительных улучшениях функций, а не на изменениях синтаксиса или логики выполнения скриптов миграции.