Flyway 12.7.0 Update: New Features & QA Impact

TL;DR

  • Enhanced database compatibility and feature support.
  • Critical bug fixes improving migration stability.
  • New configuration options for stricter migration control.

Flyway, the database migration tool, has released version 12.7.0, moving from 12.6.2. This update focuses on refining existing functionalities, improving compatibility, and addressing reported issues. QA teams tracking tool updates should note these changes for their testing strategies. For full details, refer to the official release notes here.

Key Changes

Features:

  • Expanded Database Support: Flyway 12.7.0 introduces enhanced compatibility with specific features of newer database versions, such as PostgreSQL 16 and SQL Server 2022. This includes better handling of new data types and functions, ensuring smoother migrations for modern database environments.
  • New Configuration Option: A new property, flyway.failOnMissingTarget, has been added. This allows users to configure Flyway to explicitly fail if the specified target version for migration is not found, providing stricter control over migration processes.

Fixes:

  • Oracle Undo Migration Fix: Resolved an issue where undo migrations could fail on certain Oracle setups, particularly those with specific user privilege configurations. This improves reliability for rollback scenarios.
  • Improved Validation Error Reporting: The validate command now provides clearer error messages when the schema history table is corrupted or in an inconsistent state, aiding faster diagnosis and resolution.
  • MySQL Clean Operation Stability: Fixed a bug that could cause the clean operation to hang indefinitely on specific MySQL versions when dealing with very large schemas, enhancing tool stability.

Deprecations:

  • Legacy Placeholder Properties: The properties flyway.legacyPlaceholderPrefix and flyway.legacyPlaceholderSuffix are now deprecated. Users are advised to transition to the standard flyway.placeholderPrefix and flyway.placeholderSuffix for future compatibility.

Impact for QA Teams

QA teams benefit from more stable database migrations, especially with the fixes for undo operations and clean commands. Improved error reporting for validation issues reduces debugging time. The new flyway.failOnMissingTarget option allows for stricter pre-migration checks, enhancing the reliability of test environments and automated testing pipelines.

FAQ

Q: Is Flyway 12.7.0 a major release? A: No, Flyway 12.7.0 is a minor release focusing on enhancements, bug fixes, and compatibility improvements, not a major version change.

Q: Should our team update to 12.7.0 immediately? A: Review the changes. If your team is affected by the resolved bugs (e.g., Oracle undo issues, MySQL clean hangs) or can utilize the new configuration options, an update is recommended.

Q: Where can I find the complete list of changes for 12.7.0? A: The full release notes are available on the official Flyway documentation website: https://documentation.red-gate.com/flyway/release-notes-and-older-versions/release-notes-for-flyway-engine.