Announcing Flyway v9 beta. With added Change Report!
We are pleased to announce our latest update to Flyway, the world’s most popular migrations framework for database deployments.
According to the latest State of Database DevOps report, companies of all sizes are adopting DevOps at an accelerating rate and across more projects than ever before. Delivering software faster poses the challenge of needing to increase confidence in your migrations.
Flyway 9 provides new features to address this, helping to satisfy your compliance needs and overall make your deployments safer and more reliable.
Specifically, we’ve introduced a new command called check. In this first beta, we’ve started by adding our first check to generate what we are calling a Change Report.
What is a Change Report?
A Change report is a database object-level view of the changes that will be made to a target database.
It is a visual report to help developers, database administrators, DevOps Engineers, QA Engineers, team leads and other stakeholders to ensure database changes are safe and ready to release.
Here’s how a Change Report looks like in Flyway 9.
Why do I need a Change report?
Adding a Change Report to your CI/CD pipeline before running migrate provides the following key benefits:
- Increase the confidence that a deployment will be safe and of high quality at any stage of your release process (Dev, QA or Production)
- Introduce an easy way to review and approve changes before a deployment
- Helps to understand what has changed in a past release
- Provide a shareable object-level audit log of your database deployments
- Provide a way to create customized reports of your database deployments
- Help troubleshoot failed deployments
How does it work?
The following diagram describes how Flyway generates a Change Report.
Given a project with some pending migrations, these are the steps Flyway performs to generate a Change Report:
- Get the list of applied migrations from the target database
- Migrate applied migration to the temporary database
- Create a snapshot of the temporary database at V2
- Migrate the pending migrations to the temporary database
- Create a snapshot of the temporary database at V5
- Compare the two snapshots
- Generate the Change Report
How to get Change Report?
To use Change Report, you need to download Flyway 9 beta CLI.
This feature will be available in future products, but during the Beta phase you can access it through your Flyway Teams or Redgate Deploy licence.
Start a 28-day free trial at https://flywaydb.org/download/teams.
To use the new Flyway check command, you only need to configure the connection details for:
- The target database (using the url parameter)
- The temporary database (using the flyway.check.tempUrl parameter)
Then, you can call simply call the new Flyway check command as shown below:
flyway check -changes
Running the command generates a Change Report in two formats JSON and HTML.
When you integrate the command in your CI/CD environment, you can export the reports as artifacts and configure approval steps or perform any custom operations on them.
To learn more about the new command visit our check documentation page.
What’s next?
The Change Report feature currently works only for SQL Server, but we are planning to add support for more database platforms soon.
We are also planning to add more types of checks, such as drift detection, unit testing and code analysis.
We need your help to understand what checks YOU would like to see and help us shape the future of Flyway. If you want to get an insider look to early designs and have a stronger influence to our roadmap, please sign-up to our Flyway Test Pilot program today.
Finally, if you haven’t tried it yet, we also invite you to play with Flyway Desktop. It’s powered by Flyway and it’s a GUI that provides a delightful developer experience on top of the Flyway command-line. Get started with Flyway Desktop today.