Redgate Change Control 4

About Redgate Change Control

In v5, Redgate Change Control has been renamed to Flyway Desktop. Check out the latest documentation at https://documentation.red-gate.com/fd


Redgate Change Control helps you easily and safely version control your database schema and prepare validated deployments for SQL Server and Oracle databases. 

Redgate Change Control saves the definitions of your database objects into a schema model. You can version control and share changes to the schema model with teammates to rapidly iterate on new development.

When you are ready to prepare a deployment, you generate migration scripts to deploy these changes safely.  Migration scripts are also committed to version control and are used as part of an automated CI/CD process to validate and deploy database changes to other environments (e.g., Test, Staging, Prod).

Why should you version control your database schemas?

Redgate Change Control allows you to easily save the definitions of objects in your database to a schema model. The schema model is a set of text files within your project which contains a version of your database schema. 

You can version control your Redgate Change Control project by using the native Git client in Redgate Change Control, or by using the version control client of your choice (for any version control system). 

Once you have committed your project containing your schema model to version control, other team members may access the project via version control. We recommend that each team member develop changes in dedicated development database environments, and Redgate Change Control allows team members to apply the schema model from the project to their development database to bring it up to date.

Version controlling your database schema into a schema model with Redgate Change Control has the following benefits:

  •  The schema model automatically maintains object level history for your database with full object definitions. This enables you to:
    • Find out when changes happen
    • Find out who made them and why, by reviewing history and commit messages in your version control system
    • Identify conflicts when multiple team members have modified the same object
  • The schema model allows a lightweight way to share work-in-progress when the final set of changes is not known
    • This allows team members who are less fluent in SQL to make changes in the IDE or GUI of their choice and easily commit the schema 
    • For teams who deploy database changes once a sprint or less often, this can save considerable time as deployment code need not be considered constantly

Why should you generate migration scripts for deployments?

Redgate Change Control enables you to generate and track migration scripts from the schema model.

Redgate Change Control does this by helping you create a baseline script when you are working with an existing database which has already been deployed to production. The baseline script captures the state of the database schema at the beginning of your work. Redgate Change Control allows you to configure a shadow database which enables you to validate that your baseline script (if present) and any additional migration scripts are valid and can be deployed successfully.

Additionally, Redgate Change Control utilizes the shadow database to compare your schema model with the result of all of your migration scripts and to generate new migration scripts to deploy new changes reflected in your schema model. 

Generating migration scripts early in the development process as you prepare a deployment has the following benefits:

  • You gain control over exactly how changes for the database are executed
    • You are able to review and edit the code in migration scripts early in the deployment process
    • Migration scripts are version controlled as part of the project, providing a clear audit trail of the code used in deployments
  • Easy integration of data modification scripts into the release process

Redgate Change Control offers flexible workflows

If you are a team who deploys database changes frequently or a team where everyone is comfortable writing SQL, you may prefer for each team member to both save changes to the schema model as well as generate migration scripts each time they commit a change. Redgate Change Control supports this workflow. 


Didn't find what you were looking for?