Product articles Development and Testing with Clones

  • How to

Instant Database Reset and Easier Bug Fixing using Clones

The article demonstrates how the use of lightweight, containerized clones removes the problem of 'mopping up' after a database migration fails part way through, particularly in database systems like MySQL that don't support DDL transaction rollback. A quick reset to the previous saved revision provides 'instant rollback'. It also demos how they make it much easier and less disruptive to do retrospective bug fixing on older migrations. Read more

Using Flyway and Data Containers for Database Testing: Rapid Setup and Teardown

This article demonstrates how to use the rgclone CLI in Redgate Test Data Manager to automatically save each new version of a database created by Flyway as a data container revision, tracking which Flyway version maps to which container revision. We can then, from a single data container, load any version of the database during test setup, as well as quickly 'reset' a container during test teardown. Read more

Data Container Revisions, Resets and Graduations

Redgate Test Data Manager allows developers to save each new version of a database as a data container revision. After making local development changes to the container, or running tests, they can instantly reset it to its starting revision. They can also load any previous revision and can even 'graduate' a revision to an image, providing a new baseline for ongoing team development. These techniques are especially effective when used in conjunction with Flyway, which automatically tracks the version of every copy of the database. Read more

Solving the Provisioning Problem in Database Development using Clones

When database development is described, the details often get vague when the data gets beyond spreadsheet-size. There is 'hand-waving' talk of providing databases for each developer, but little detail of how you would provision all the databases that would be needed, at the correct version and with the correct development data, and then keep them all in sync with the source code, as developers commit changes. This article explains the requirements, and how SQL Clone can meet them. Read more

Unwrapping, Unboxing and Installing SQL Clone

If you are evaluating a tool such as a text editor or spreadsheet, it is easy: you just install it, you run it, you decide whether you need it. Job done. However, a similar 'unboxing' or 'unwrapping' of SQL Clone, and installing across a network, is not so quick and easy. Phil Factor's solution is to install and run a complete installation of SQL Clone on a single box. This allows you to try everything out, creating images and deploying clones, while isolated from the network. It can then be extended across a network, subsequently, when it's been fully tested. Read more

Safely Deleting Clones and Images during Database Development and Testing

Whenever you’re ready to refresh a test cell with the latest database version, you need a safe way to drop the current set of clones, and the parent image, without losing any unsaved work. Phil Factor provides a PowerShell script that automates this process so it runs in the time it takes to grab a coffee, after which can quickly deploy the new clones. Read more

Backup and restore of a SQL Clone

What if you now do development work on a clone, but you to continue working on you own local clone while ‘disconnected’, such as when travelling? One simple option if the original database contains no private data, or the image has been masked, is to performance a normal backup and restore operations the clone, although you'll now be working with a normal, full-sized database. Read more