10 reasons to choose Flyway

Thousands of organizations use DevOps practices every day to deliver application changes. But what about the database? Excluding the database from your DevOps pipeline and processes risks application performance, data security and integrity. With Flyway, Redgate solves this challenge in one complete solution that sits inside your existing DevOps platform and processes. Find out the 10 reasons why organizations worldwide choose Flyway.

1. The smarter way to do database DevOps
2. Agile development meets agile deployment in one end-to-end solution
3. Author migrations in your database’s native language to reduce risk and cognitive load
4. Handle complex database changes and data moves
5. Script migrations from Java provide greater flexibility
6. Built on strong community foundations and supported by Redgate
7. Usability lowers the barrier to adoption
8. Renowned for rich product and onboarding support to suit your rollout
9. Support for a continuous improvement approach with Flyway
10. Ambitious roadmap with continual investment in Flyway

The smarter way to do database DevOps

Flyway’s reputation is built on its reliability and solid support for SQL Server, PostgreSQL, Oracle and MySQL among over 30 of the most common database types. As far back as 2015, Flyway was placed in the Adopt section of the Thoughtworks Technology Radar for its low friction approach to automating database migrations. Since then, Flyway’s popularity has soared, with teams worldwide using it to level up their DevOps workflows across large teams.

Now with advanced functionality for SQL Server, PostgreSQL, Oracle and MySQL, Flyway adds further friction-busting functionality to boost team collaboration and productivity. This is not just a solution for managing and deploying database changes. Flyway is a game-changing solution for the smarter way to do database DevOps.

Agile development meets agile deployment in one end-to-end solution

At each stage of the DevOps workflow, Flyway supports an agile approach with collaboration, team-wide change tracking, and a fast feedback loop central to the workflow.

Speeds up the development feedback loop, with everything in version control
Flyway connects your database to your existing VCS to ensure everything you need to maintain the referential integrity of your database is kept safe:

  • Database schemas
  • Static data
  • Undo scripts

The object level history means you can see who made which changes, why and when, all of which supports stable, controlled releases from a known version and state.

Accelerates test and quality processes Using Flyway, fully automated database unit and integration tests can be run in a CI pipeline to reduce bugs and regressions. Automated DB quality checks for DB design issues and code smells also increase reliability and lower risk at deployment time. By automating pre-merge tests, checks and reviews, full shift-left testing can be achieved.

You can also use Flyway together with Redgate Test Data Manager to take advantage of self-service provisioning, making it easier to run tests in agile test cells or parallel test runs to achieve much more in the same testing window and ensure bugs are caught earlier before they disrupt the business.

Brings fast feedback and control to release management With workflow processes for UA, security and performance sign-off, agile, on-demand deployments can be enabled. This allows teams to run a fully managed pipeline, with tracking of every new feature from development through to delivery. Flyway’s built-in change report also uses market-leading database comparison technology to indicate which objects have changed and their before/after states, so you can run thorough pre-deployment checks for pending changes in addition to capturing a history of changes for auditing or reporting. Other advanced capabilities include:

  • Drift detection report
  • Dry run
  • Cherry pick
  • Undo migration scripts

Author migrations in your database’s native language to reduce risk and cognitive load

Flyway treats the migration script as a first-class artifact and each migration is authored in the native language of the database you’re working with. This is a different approach to other solutions that recommend their own proprietary DSL to define and deploy migrations, such as XML.

This means that your team experiences a much lower barrier to adoption with Flyway. There’s no need to spend time and resources training team members how to master a proprietary DSL. Your team won’t need to spend additional time maintaining and ordering changes through XML, YAML, or JSON, either. Nor will they need to carry out further checks to verify that the act of translating their changes into a proprietary DSL has unintentionally modified the intended result, risking data loss. Instead, Flyway very simply uses the database’s native language from start to finish to create and manage database migrations, giving greater transparency and reducing the workload.

Handle complex database changes and data moves

Flyway provides rich features and a series of in-built checkpoints to help teams manage complex database changes and data moves with greater accuracy.

We know how to do database diff comparisons

At the heart of Flyway’s management of database migrations lies Redgate’s market-leading database diff engine for SQL Server, Oracle, PostgreSQL and MySQL. In continual development since 1999, Redgate’s comparison technology has been relentlessly tested to help teams swiftly compare database schemas, schema snapshots and static data to generate deployment and undo scripts, all while ensuring that changes are deployed in the correct dependency order every time. Offering support for an unparalleled number of database objects from an intuitive UI, Flyway brings scalability, flexibility and a smooth user experience to performing database comparisons. Flyway Enterprise also gives users the ability to auto-generate database migration scripts, providing both exceptional time-savings and improved reliability.

Fine-grained controls to support team-wide development

For teams needing to consolidate changes across a large project, Flyway also offers further fine-grained controls including a range of checkpoints and reports, such as cherry pick, dry run and the auto-generation of undo scripts.

And to support branch-based development for SQL Server, Oracle, PostgreSQL and MySQL, you can use Redgate Test Data Manager together with Flyway to provision development and testing databases with realistic data sets in a matter of seconds.

Script migrations from Java provide greater flexibility

For some teams, it’s a matter of preference to code in Java instead of SQL. For other teams, the requirement to deploy more complex changes regularly, such as advanced data transformations or LOBs, makes Java a good fit. Flyway’s support for both SQL and Java script migrations means your team has the flexibility to choose the optimal language for their needs.

Built on strong community foundations and supported by Redgate

Flyway has been refined and honed in the community since it was first created in 2010, built from the start as an automation tool that can slot easily into workflow pipelines. A team of over 100 contributors have made Flyway the popular open source database migrations tool it is today. For Flyway’s commercial editions, a large team of developers based in Cambridge, UK, are dedicated to supporting Flyway and its ambitious roadmap.

Usability lowers the barrier to adoption

Flyway’s reputation is built on its ease of use and the speed at which teams realize time to value. Its design is geared towards simplicity, supporting a lower barrier to large-scale adoption of Flyway across organizations. It offers an intuitive UI through Flyway Desktop to support team-based approaches for managing and automating database development. Flyway also intuitively favors convention over configuration, making it easy for teams to get started and standardize their processes.

Redgate, a company whose focus has been to develop ingeniously simple tools for databases since 1999, invests continual development effort in enhancing Flyway’s usability. A dedicated design team for Flyway is focused on enhancing the user experience both for the Flyway CLI/API and for Flyway Desktop, the GUI-based way for teams to version control and deploy changes for SQL Server, Oracle, PostgreSQL and MySQL databases.

Renowned for rich product and onboarding support to suit your rollout

Our onboarding support comes in different forms to suit the rollout of Flyway across your organization. If you’re considering a pilot or smaller-scale rollout of Flyway Teams or Flyway Enterprise, we have a rich online hub of easy-to-search product support documentation, easy-to-follow video courses in the Redgate University, active forums and Simple-Talk articles to get you up-and-running.

Our interactive onboarding checklist for Flyway Enterprise also gives your team an online, trackable way to master Flyway and show how it can help your business succeed.

If your organization is looking at a larger-scale rollout of Flyway Enterprise, we have a team of experienced solutions engineers ready to deliver support with architecture building, training, troubleshooting, and more. Contact us to find out how we can help.

Support for a continuous improvement approach with Redgate

In DORA’s ‘Accelerate: State of DevOps 2022’ report, the paper finds: “Teams that recognize the need to continuously improve tend to have higher organizational performance than those who don’t.” There are three ways Redgate offers teams opportunities to align their workflow for database migrations with a culture of continuous improvement, using Flyway together with Redgate Test Data Manager:

  • On-demand database provisioning of realistic data sets: The ability to provision lightweight, compliant, production-like data sets in a matter of seconds with Redgate Test Data Manager removes limits and wait times, meaning development teams can shift left testing, discover and resolve issues sooner before they hit production.
  • Version control with Flyway for a culture of trust and collaboration: If all your team is working with version control for database changes, team members can enjoy the confidence of working from a known state with the assurance that it’s easy to roll back to a previous version at any time.
  • Supercharge the feedback loop in your CI/CD pipelines: Flyway and Redgate Test Data Manager fit in with your existing CI/CD pipelines to supercharge the feedback loop for developing and deploying database changes. Here’s how:
    • Run automated tests that hit real database instances with controlled test data.
    • Enable teams to self-serve the test data they need without lengthy wait times – whether that’s provisioning a smart subset, a masked, lightweight clone of production, or generating realistic data to fit development and testing needs.
    • Eliminate environment sprawl and guarantee that tests are hitting consistent datasets.
    • Configure virtual instances precisely for development and testing requirements; easily simulate complex backends with cross-database dependencies.
    • Increase confidence that software changes are being robustly tested, enabling team members to focus on value-added work.

Ambitious roadmap with continual investment in Flyway

Adopting Flyway is an investment in your organization’s capacity to level up its DevOps workflow for databases. With an ambitious roadmap of features and database support ahead, Flyway has a proven track record of delivering requested functionality and identifying what organizations need in future.

Find out more about why Flyway is the smarter way to automate database deployments across teams and technologies.

Article updated on 15 November 2023.

Tools in this post

Flyway

DevOps for the Database

Find out more