Licensing
Published 29 June 2022
Each developer contributing database changes that will be processed by an automated database change delivery process needs to be licensed with Flyway Teams or Flyway Enterprise depending on whether the pipeline is a Redgate Pipeline (Flyway Enterprise) or a Flyway Teams Pipeline.
After purchasing Flyway Teams/Enterprise, you will see a record of it in your portal.
- Desktop tools - This license will be used to license the GUI tools: Flyway Desktop and our schema and data comparison tools (SQL Compare, SQL Data Compare, Schema Compare for Oracle, Data Compare for Oracle).
- Flyway Engine - This will be used when executing the Flyway command line directly (e.g., running ad-hoc commands on your development machine or calling the command lines as part of a CI/CD process) or via the Flyway Docker image.
Activating Flyway Desktop
Providing you have been allocated a license to the "Desktop tools", you'll be able to activate Flyway Desktop.
When you first launch Flyway Desktop, you will be prompted to login with your Redgate ID:
You’ll be able to login interactively, and activation will happen automatically.
If you have issues, make sure your firewall is not blocking the traffic to red-gate.com.
Offline Licensing
- In Flyway Desktop, access the Licensing menu under the user icon in the top right.
- Click Manage offline license.
- If you don't have an Offline Permit, generate one at https://permits.red-gate.com/offline?productCode=64.
- Enter your Offline Permit and click Save permit.
Alternatively, configure a REDGATE_LICENSING_PERMIT_PATH environment variable with your Offline Permit.
Activating Flyway Engine (CLI)
You have choices in how you unlock Flyway to enable features. A pre-requisite for all options is that you have a Redgate account and the account has been allocated a Flyway license in the Redgate portal - you may need to speak to whoever manages your licenses.
- Setting up a CI/CD pipeline - use Personal Access Token
- Air-gapped / no internet access - use Offline License Permit
- Running Flyway manually on your machine - use Auth command
Personal Access Token (PAT)
- Your license is automatically kept up to date and once configured, you won't have to manually update your license key when it expires.
- Flyway will periodically contact Redgate to refresh the license status
How to set it up
- If you are using PAT as part of a CI/CD pipeline, then you might want to setup a Redgate account/email address not tied to a particular end user to use for this
- Create a token for this user
How to use it
You need to define the following two parameters for Flyway
Using a personal access token will store a license permit in the Redgate app data folder, the same location as when running the Auth command.
Offline License permits
- These work without contacting Redgate (e.g. air-gapped pipelines) and expire in 365 days or the product subscription end date.
- You will need to refresh them before they expire to continue using licensed functionality
- Because of the size of the permit, the permit information needs to be read from a local file
How to use it
- Download the Flyway CLI offline permit details from https://permits.red-gate.com/offline?productCode=63. Save the content to a file — the filename and location don't matter to Flyway
- Point Flyway at the permit file using the
offlinePermitPathsetting
Legacy license keys (This is deprecated and will be removed in a future release)
- These work without contacting Redgate (e.g. air-gapped pipelines) and expire in 365 days or the product subscription end date.
- You will need to refresh them before they expire to continue using licensed functionality
- You will need to update your licensing mechanism when this is eventually removed
How to use it
- Contact Redgate Support or your account representative to get a copy of the license key
- Provide it Flyway using the
licenseKeyparameter
Interactive authentication for local use
If you are experimenting with Flyway locally or want to use it for development, you can use the Auth command to authenticate interactively with Redgate. This is a one-time process that will store a license permit locally and keep it up to date automatically.
Using the Auth command
- Your license is automatically kept up to date and once configured, you won't have to manually update your license.
- Flyway will periodically contact Redgate to refresh the license status
- It is an online and interactive process so not intended for CI/CD usage
How to use it
- Run
./flyway auth -IAgreeToTheEulawhich will start a browser window locally for you to login to your Redgate account - Typically this would be done once and thereafter Flyway can refresh the credentials automatically.
Verifying your license is active
Flyway will check your license when you use a feature requiring a license. If you want to verify your license you can run flyway --version which will result in something like this:
./flyway --version
Flyway Enterprise Edition 12.4.0 by Redgate
See release notes here: ...
or if you want something machine-readable you can output JSON:
./flyway --version -outputType=json
{
"command" : "version",
"edition" : "ENTERPRISE",
"pluginVersions" : [ {
...
Authorization Precedence
There are multiple ways to authorize Flyway. The following list shows the order of precedence for authorization if more than one is configured:
- Offline Permit used - License permit
- Online Authentication
- Non-interactive: Using PAT token defined via
emailandtokenparameters - Interactive: Running the Auth command
- Non-interactive: Using PAT token defined via
- Legacy Flyway License key
Token Refresh
- When an online authentication process successfully retrieves a license permit, a refresh token is saved locally - see the
Authverb for the file locations. - This refresh token is used to automatically refresh a user's license permit when it expires. Each time a license permit is refreshed, a new refresh token is saved to disk, replacing the existing refresh token.
- Offline License Permits cannot be refreshed automatically so you will need to update them manually.



