Redgate Clone Resolver
Published 15 January 2025
- Status: Preview
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
provisioner
setting) 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
Flyway Desktop
This can be set from the connection dialog for databases types supported by Redgate Clone.
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}"