Change Reports are now available for State-based Deployments in Flyway
Published 09 April 2025
Change Reports show how many objects are added, modified, and deleted at a glance by comparing the desired state of the objects to a target database. You can also drill into each object and see the exact changes in a side-by-side difference view.
Change Reports are useful for:
- Pre-deployment – Gives reviewers a quick and easy way to see the number of objects that will be added, modified, and deleted in a deployment. It also allows reviewers to drill down into each object to understand how it will change with a side-by-side difference for each object. This can be faster than reading through a 1,000+ line deployment script to understand the impact a deployment will have.
- Post-deployment – Have a history of what objects were changed and how in each deployment. This could be used for auditing or for troubleshooting what changed after a deployment has happened.
To use this as part of a CI/CD pipeline, add:
- flyway check -changes -changesSource=schemaModel -environment=Prod
The report is generated in the current folder with a name of “report.html.” In this example, the following report was produced and contains 2 objects that were added and 2 objects that were modified. We’ve drilled into the modified GetCategories stored procedure where you can see that the unused parameter was removed and “SELECT *” was corrected to explicitly list the columns.
This is available in the Flyway CLI, which is available on Windows, Linux, MacOS, and docker.
We hope this addition improves your state-based deployment process. Please let our team know if you’ve tried this and if there’s anything else we can do to help improve your database deployments.