Development Branch

When working on significant structural updates, you may prefer not to expose partial changes to end users until the project is complete. To address this, we introduced the Development Branch.

The primary goal is to keep changes hidden from end users until your work is finished. The branch is a copy of the original database that shares the same underlying data. You can make (almost) any changes within the branch. Once your work is complete, you can promote these changes to the original database. If you choose not to promote the changes, the development branch can be deleted.

Only one development branch can be linked to a database at a time. If you need to create a new development branch, you must first delete or promote the existing one.

Create Development Branch

To enable the Development Branch, navigate to Setup > Database > Create Development Branch.

Create Development Branch Link

The development branch is a separate snapshot of the database settings that shares data with the current database. You can make and test setup changes in the branch and then promote it to the production database with one click when ready.

Development Branch Create

When creating a development branch, the system performs the following steps:

  1. Creates a snapshot of the database settings that shares data with the current database.
  2. Removes roles from all users within the development branch.
  3. Disables all email reminders, view subscriptions, periodic triggers, and time-dependent triggers in the development branch.

When promoting changes to the production database, user roles will be restored and triggers re-enabled.

If the Disable all Users option is selected in the Add Users field, only you will have access to the development branch and be able to promote it.

To add users to the development branch, select the Enable selected user(s) option and choose the users. The selected users will be able to make changes and promote the branch.

Click the Create Development Branch button to initialize the development branch.

Development Branch Banner

When the red DEV banner is displayed next to the database name, it indicates that you are working in the Development Branch.

Please note that because the branch shares data with the production database, certain restrictions apply. You cannot modify the width, uniqueness, or required status of existing columns in shared tables (these restrictions do not apply to new tables) in either the production database or the development branch.

As mentioned earlier, the branch and the original database share the same underlying data. The primary advantage is that you can implement changes in the branch while other users continue working in the original database. You can make adjustments in the development branch for as long as needed. Once your work is complete, you can promote the changes to the original database.

Promote Development Branch

To promote changes, navigate to Setup > Database > Promote Development Branch.

Promote Development Branch Link

When promoting a development branch, the system performs the following steps:

  1. Restores roles for all users in the development branch according to the original production database settings.
  2. Enables all email reminders, view subscriptions, periodic triggers, and time-dependent triggers in the development branch according to the original production database state.
  3. Replaces the original production database with the development branch.

Development Branch Promote

Clicking the Promote Development Branch button replaces the original database with the development branch. As a result, all changes are applied, and all database users will begin working in the updated database.

Please note that TeamDesk does not merge changes. You can either accept all changes from the development branch, overwriting the original database, or keep the original database without modifications.

Delete Development Branch

If you decide not to promote the changes, you can delete the Development Branch by selecting the Database tab and clicking the Delete Database link in the setup menu. The original database will remain unchanged.