Flyway 7.3.0 Released
Flyway 7.3.0 is out! This release contains new features and improvements over Flyway 7.2.0.
Highlights
- A placeholder for the full filename of a migration file
- Script config files can specify
shouldExecute
- Retrying connections back off exponentially
- Dry Run output can be directed to AWS S3 or Google Cloud Storage
You can find a detailed list of the changes in the release notes.
Migration filename placeholder
It can be useful to know the full name of a migration file at the time it’s executed, for auditing purposes. The migration description is of course preserved in Flyway’s history, but this wasn’t available to the migration itself. You can now use the placeholder ${flyway:filename}
and the migration’s full name will be substituted.
See the documentation for more details.
Script config files
A new option for script configuration files is shouldExecute
. This can be set to true or false, as an alternative to using cherry-picking, or to a condition in the form expression1==expression2
. Allowing expressions, which can include placeholders, means that you can specify scripts to run in particular environments and be ignored in others – useful if, say, you want to create static test data but not in a production environment!
Retrying connections
When Flyway is not able to make a database connection, it will try again. However, retrying at 1 second intervals will cause a significant number of errors if the database is busy or unavailable for some time, and that may be unwelcome if, for example, each one results in an alert in a monitoring system. So, Flyway now increases the interval between retries exponentially as the number of failures increases. The more failures Flyway encounters, the more likely it is that the database will not be available any time soon and that more attempts will just add noise into the situation.
Dry Run output to cloud storage
Migrations can already be stored in, and read from, AWS S3 and Google Cloud Storage. You can now send Dry Run output to a bucket in either platform in exactly the same way – just specify s3:<bucket>/<filename>
or gcs:<bucket>/<filename>
in the flyway.dryRunOutput
parameter similarly to the way you would for flyway.locations
.
See the documentation for more details, including necessary libraries and authentication options.
Download it now and enjoy!
You can download Flyway 7.3.0 now! We recommend you upgrade if you are affected by any of the issues logged in the release notes.
Flyway is brought to you with by the Redgate team: Julia Hayward, Ajay Ahir, and Mikiel Agutu, with a lot of help from Axel Fontaine as well as the many contributors.
Now it’s your turn! Spread the word, follow @flywaydb on Twitter and subscribe to our newsletter below to be the first one to be notified about updates.