Introducing Flyway Desktop in Community

A graphical development experience for Flyway

Flyway Desktop provides a GUI for working with Flyway, the leading database migrations framework for versioning and automating changes for more than 20 database systems.  Flyway Desktop has been available in our Enterprise edition for over a year and we’re now releasing a preview version for Flyway Community users.  We hope this will get you started easier by helping with naming conventions and managing all your environments in one place.  We also need your feedback on what else we could do to improve the desktop experience.

Get started easier

Flyway Desktop is available for Windows or MacOS.  The installer includes the flyway command line and sets up the path for you to make flyway more accessible.  It also provides an easy upgrade experience through the GUI.

If you’re new to Flyway, the GUI will guide you through creating a new project or importing an existing flyway.conf file, which can then be used in Flyway Desktop.

We also hope Flyway Desktop provides a better interface for learning about the different flyway commands.

Generate next Version number

One thing we learned from teams working with Flyway or when users are working with branches, is that they can get into trouble due to conflicting version numbers in their versioned migration scripts.  Most teams work around this by including a date timestamp as part of the version information.  Flyway Desktop will automatically generate the next version number based on the migration scripts in your project.  For new projects, it adds a timestamp by default and this can be configured.  This can help ensure your whole team follows the same naming convention for versioned migrations scripts and avoids conflicting versions.

Visit the Migrations tab and click “Add new migration” to copy and paste your script into the editor or import a script that will then be named correctly and saved to your project’s migrations folder.

Next version number
Next version number automatically added

Persist multiple target environments

After creating a project or importing your existing flyway.conf, you can easily configure multiple target environments to check the status of what has been deployed to these environments.

Configure target databases

For each target database, you can see how long each migration script took to run, its Execution time, and review which scripts are pending.  If you click on a script, the contents will appear at the bottom.  You can also perform any of the flyway commands that are available on the command line against the different target databases through the GUI.  This includes things like flyway migrate and any of its parameters that you would want to use.

Migrations info
Information about migrations

In addition, if you are licensed for Flyway Teams, then the DryRun script, to preview the exact script that will be executed on the target environment is easily accessible.  Also, the Flyway Team’s Undo command will be available and you can see the corresponding Undo Scripts for your Versioned migrations.

Viewing the DryRun script
Preview deployment script

We need your feedback

We are excited about our initial preview release of Flyway Desktop in the Community edition, but we know there is more to do. We’d like to make adding parameters like baselineVersion, target, and cherryPick easier. But most importantly, we want to hear from you about what you would like to see in Flyway Desktop. So, please download the latest version and use the Help > Feedback link in the tool to let us know your thoughts.

Feedback
We can’t wait to hear your feedback

Tools in this post

Redgate Flyway

DevOps for the Database

Find out more