Working with Branches

Available to: Developers, Admins Minimum plan: Business (multi-branch); Free/Team operate on a single Production branch

This guide covers the practical workflows for creating, switching, and managing branches in TitanRDM. For the conceptual background on the branching model, see Branches.

Branches page


Prerequisites

  • Business or Enterprise plan (Free and Team plans have a single Production branch)
  • Developer or Admin role to create and manage branches

The Branches Page

Navigate to Development > Branches to see all branches in your account. The page is organised into three sections:

Permanent Branches (Shared)

Long-lived environment branches ordered by hierarchy (Production → Test → Development). These are created during account activation and cannot be deleted.

Your Private Branches

Feature branches you own. These are long-lived developer workspaces for making changes in isolation.

Other Private Branches

Feature branches owned by other developers that you have permission to see.

Each section shows: - Branch name and status (open/closed) - Parent branch relationship - Owner (for private branches) - Database suffix

You can filter by status (open, closed) and search across all branches.


Switching Your Current Branch

Your current branch determines which table definitions, deployments, and data you see throughout the application.

To switch, click the branch name badge in the top-right header area of the dashboard, then select the branch you want from the dropdown.

What Changes When You Switch

When you switch branches, the following updates immediately:

AreaBehaviour
Tables sidebarShows deployed tables on the new branch
Table DefinitionsShows definitions on the new branch
DeploymentsFilters to the new branch
PromotionsFilters based on branch type (from-branch for private, to-branch for shared)
ImportsFilters to the new branch
Data gridShows data from the new branch's physical tables
Branch badgeUpdates in page headers to show your current branch

Creating a Private Branch

Private (feature) branches let you work in isolation without affecting the shared Development branch.

Steps

  1. Navigate to Branches page
  2. Click New Branch
  3. Fill in the form:
FieldRequiredDescription
NameYesA descriptive name (e.g., feature/add-currency-tables). Must be unique among open branches.
Branch TypeYesSelect Private.
Parent BranchYesThe branch this one is created from. Defaults to the integration branch (typically Test). Changes are promoted from this branch back to the parent.
DescriptionNoOptional context about what this branch is for.
  1. Click Create Branch

Note: The database suffix is automatically derived for private branches — you do not need to enter one. TitanRDM generates a unique suffix based on your user.

What Happens on Creation

  • A new database schema is created for the branch
  • Default user groups are created (Branch <name> Editor, Branch <name> Approver, Branch <name> Developer)
  • You are automatically added to the branch's user groups
  • The branch is set as your current branch

After Creation

Your new branch starts empty — it does not inherit table definitions from the parent branch. To bring table definitions into your private branch:

  • Clone individual tables from the parent branch (see Cloning Tables)
  • Bulk Clone multiple tables at once from the Table Definitions page

Once cloned, you can modify the table definitions and deploy them on your branch without affecting anyone else.


Editing a Branch

  1. Navigate to the branch's detail page (click its name in the branches list)
  2. Click Edit
  3. You can change the name, parent branch, and description

Note: The database suffix and branch type cannot be changed after creation because they are embedded in the physical schema name.


Deleting a Branch

When a private branch's changes have been promoted and you no longer need it:

  1. Navigate to the branch's detail page (click its name in the branches list)
  2. Click Delete
  3. Confirm the deletion

What Happens on Deletion

  • The branch's database schema is dropped (all physical tables and data on that branch are permanently removed)
  • The branch's user groups and permissions are destroyed
  • The branch is removed from the branches list

Blocked Deletions

You cannot delete a branch that has open child branches. Close or delete child branches first.

You also cannot delete permanent shared branches (Production, Test, Development).


Branch Detail Page

Click a branch name to view its detail page, which shows:

  • Branch properties — name, type, status, parent, database suffix, owner, description
  • User groups — the auto-created groups (Branch <name> Editor, Branch <name> Approver, Branch <name> Developer) with their members

Branch detail page


Integration Branch

One branch in your account can be designated as the integration branch (typically Test). This is used as the default parent when creating new private branches. The integration branch flag can be set via the branch edit form.


Branch Permissions

To work with branches, users need appropriate permissions:

ActionRequired Permission
View branch detailsAny authenticated user (shared branches visible to all; private branches visible only if you belong to a group with any permission on that branch)
Create a private branchdevelop permission on the account (or admin)
Edit table definitions on a branchdevelop permission on the branch and develop permission on the domain or table definition (or admin)
Deploy on a branchNo branch-level permission check (any authenticated user can create and execute deployments)
Approve promotions to a branchapprove permission on the branch (or admin)
Delete a branchdevelop permission on the branch (or admin)

Account administrators bypass all branch permission checks.


Workflow Example

A typical feature branch workflow:

  1. Clone the table definitions you need to your private branch
  2. Edit the column definitions on your branch
  3. Deploy on your branch to test the changes
  4. Promote from your branch to Test when ready
  5. Deploy on Test branch for integration/UAT testing
  6. Promote from Test to Production when ready
  7. Deploy on Production branch for production use