Redgate Clone Resolver
Published 15 January 2025
- Status: Preview
Note: Redgate Clone has been removed from Flyway Desktop and is deprecated in Flyway Engine. This feature will be removed in a future version.
This property resolver allows for connecting to databases generated using Redgate Clone. This is usually used as a provisioner, as detailed here.
Prerequisites:
- A Redgate Clone server needs to be set up
- The image used for generating the clone needs to already exist on the clone server
- (When not setting the
provisionersetting) The data container to connect to needs to have already been created
To use this, configure the relevant settings and set the value of the environment JDBC URL parameter to ${clone.url}. This will derive the JDBC URL from Redgate Clone.
Note that currently for SQL Server the database name needs to be set explicitly after this within the URL parameter as shown in the example below (the JDBC URL returned by Redgate Clone always ends with a ; so additional properties can be appended)
Settings
| Setting | Required | Type | Description |
|---|---|---|---|
url |
Yes | String | The Redgate Clone server URL. |
dataImage |
Yes | String | The data image to use for creating the container. |
dataContainer |
Yes | String | The data container to use for the database clone. |
dataContainerLifetime |
Yes | String | The lifetime of the data container. |
authenticationToken |
Yes | String | The token required for authenticating with the Redgate Clone Server. |
operationTimeout |
No | String | The amount of time to wait for Redgate Clone operations to complete. |
Usage
Command-line
./flyway info \
-environment='development' \
-environments.development.url='${clone.url}databaseName=my-database' \
-environments.development.resolvers.clone.url='https://clone.red-gate.com:1234/cloning-api' \
-environments.development.resolvers.clone.dataImage='mssql-empty' \
-environments.development.resolvers.clone.dataContainer='MyContainer' \
-environments.development.resolvers.clone.dataContainerLifetime='1h' \
-environments.development.resolvers.clone.authenticationToken='${localSecret.RedgateCloneToken}'
TOML Configuration File
[environments.development]
url = "${clone.url}databaseName=my-database"
[environments.development.resolvers.clone]
url = "https://clone.red-gate.com:1234/cloning-api"
dataImage = "mssql-empty"
dataContainer = "MyContainer"
dataContainerLifetime = "1h"
authenticationToken = "${localSecret.RedgateCloneToken}"