System requirements
Published 11 October 2021
Flyway Desktop Requirements
Flyway Desktop is currently available for Windows macOS and Linux, with the following requirements:
- On Windows, .Net Core Runtime – available at https://dotnet.microsoft.com/download.
- Install Flyway Desktop on developer workstations. It is not necessary to install Flyway Desktop on any agents used for CI/CD automation. See below for agent requirements.
- If you want to use the integrated Git version control capabilities available in the paid Flyway edition, then Git will need to be installed - https://git-scm.com/download and added to your path.
The current minimum supported Git version is 2.30.0. If not, you may see the error "The Git command line is not available" on the Version control tab. - A Development Database that you want to make and capture changes to. These changes are captured in a schema model to understand how each object changes over time.
- A Shadow Database, which is a separate database or schema to run the project's migration scripts against. The schema model is compared to the Shadow Database when you go to the Generate migrations tab to understand any changes made in development that haven’t been imported into the project migrations yet.
- In the Shadow Database, the user will need permission to create schemas. If this is not possible, then the schema(s) that you are tracking changes to in the development database needs to exist on the shadow database. Make sure the schema name in the shadow database has the same casing as the schema name in the development database. Learn more about the Shadow Database or Shadow Schema.
- In the Shadow Database, the user will need permission to create schemas. If this is not possible, then the schema(s) that you are tracking changes to in the development database needs to exist on the shadow database. Make sure the schema name in the shadow database has the same casing as the schema name in the development database. Learn more about the Shadow Database or Shadow Schema.
Requirements for Flyway on CI/CD agents
If you are using the Flyway Docker image, then you just need to make sure your agent can run docker images.
If you are using the Flyway command line directly and want to take advantage of the Flyway check functionality, then you will need the following installed on your agent:
- Install the Flyway command line and add it to your path.
- If you want to run code analysis (flyway check -code), then sqlfluff (OSS) is required. You can install it by running pip3 install sqlfluff==1.2.1 and add it to your path.
Permissions/Privileges needed
Flyway will use the credentials you provide to access the target databases. These credentials will need the necessary permissions/privileges based on what the migration scripts are doing. For example, if you have a script that creates a new table, you'll need this level of access.
Flyway Desktop and the Flyway check command for change reports and drift detection uses our comparison technology behind the scenes to understand the differences. Please review the permissions/privileges needed for Oracle, PostgreSQL, or SQL Server.
Note:
- As for security, Flyway uses the database credentials that the user supplies and there should be good security standards (e.g., strong passwords, different users for different environments, limiting access to Prod, etc.).
- In Flyway Desktop, the passwords are stored in the Operating System's credential store by default so they're not in plain text - https://documentation.red-gate.com/fd/configuring-the-development-database-138346991.html
- For CI/CD, there's information about authentication at https://documentation.red-gate.com/fd/authentication-167936400.html. We recommend using secret variables in your CI/CD system, so your passwords are not in plain text.
- You can also look into Flyway Enterprise's Secret Management feature