Redgate Flyway

Version control

Whenever you make changes to your schema model or migrations, it is good practice to save those changes to a Version Control system.

This allows for changes to be safely shared between team members and allows for continuous integration testing and continuous deployment of your database changes.

The schema model allows for tracking the history of changes for each object.

Migrations allow for tracking the history of deployments.

Flyway Desktop version control integration

Flyway Desktop integrates with Git, which has become the most popular version control system, integrating with existing Git systems (e.g. Azure DevOps Git, AWS CodeCommit, GitHub, GitLab, Bitbucket, etc.).

If you are using a different version control system (e.g., Team Foundation Server, Subversion, etc.) or would prefer to use a different Git client, then use Flyway Desktop to save the database changes and migration scripts to disk.  You can then use your own version control tool or command line to interact with your version control systems.

Version control workflows

Whenever you finish a unit of work, either by updating the schema model, or generating a migration, or both, you will want to push your changes to version control so they are backed up and can be pulled down by others.

For more information on what these workflows should look like, see Capturing development database schema in version control and Pulling in changes from Version Control..

Branching

Lots of teams take advantage of Git's ability to create and merge branches easily.

Handling the development database when switching branches

For how to sync your development database with your project state as you switch branches, see Switching between branches.

Branching strategy

Flyway is not opinionated about branching strategy.

It is generally considered that long-lived branches can be bad. Branching can be useful to separate work that's ready to deploy and work that is still in progress but more teams are now considering feature flags for this and continuously integrating with their main work to avoid long-lived branches and merge pain.


Didn't find what you were looking for?