Creating Tables

Available to: Developers, Admins Minimum plan: Free

This guide walks through creating a new table definition and defining its columns. A table definition is the blueprint for a reference data table — once created and deployed, it becomes a physical table where users can enter and manage data.

New table definition form


Prerequisites

  • Developer permission on the target domain (via the "Domain [Name] Developer" user group), or Account Administrator access
  • Developer permission on the current branch (via the "Branch [Name] Developer" user group)
  • At least one domain must exist in your account

Step 1: Create the Table Definition

  1. Navigate to Development > Table Definitions
  2. Click New Table Definition
  3. Fill in the form:
FieldRequiredDescription
BranchYesPre-filled with your current branch (read-only). Switch branches first if needed.
DomainYesSelect the domain this table belongs to. Only domains you have permission on are listed.
NameYesA descriptive name (e.g., Currency Codes). Must start with a letter or underscore. Must be unique within the branch and domain.
Database Table NameNoThe physical name used in the database. Auto-generated from the name (lowercased, spaces replaced with underscores). Can be customised but must not contain spaces.
DescriptionNoFree-text context. Shown as a tooltip on the data grid page — useful for instructions to data entry users.
Allow new rows to be added manuallyNoCheck this box if users should be able to add rows through the UI. Leave unchecked if data will only come from file uploads.
  1. Click Create Table Definition

You are redirected to the Edit Columns page to define the table's structure.


Step 2: Define Columns

The Edit Columns page uses an interactive AG Grid editor where you define each column.

Column definitions editor

Adding a Column

  1. Click Add Column (or press the add button in the grid toolbar)
  2. A new row appears in the grid
  3. Fill in the column properties:
PropertyRequiredDescription
NameYesColumn name. Must start with a letter or underscore. Must be unique within the table.
Data TypeYesSelect from the dropdown. See Column Types Reference for all options.
LengthNoMaximum length for text types, precision for numeric types, or fractional-second precision (0–6) for date/time types.
ScaleNoDecimal places for decimal type.
Primary KeyNoCheck to make this column part of the table's primary key. Primary keys are required for Import/Export operations.
RequiredNoCheck to make this column non-nullable.
Foreign KeyNoSelect a referenced table to enable lookup dropdowns. See Foreign Keys.
Valid ValuesNoComma-separated list of allowed values. Enforces a dropdown in the data grid.
DescriptionNoTooltip shown in the data grid column header.

Reordering Columns

Drag a row in the grid to change its display order. The display order controls the left-to-right arrangement of columns in the data grid.

Editing a Column

Click any cell in the column definitions grid to edit it. Changes are saved automatically.

Removing a Column

Select a column row and click Delete (or use the row action menu). The column is marked as deleted. If the table has already been deployed, the column will be dropped from the physical table on the next deployment.

Note: Removing a column from a deployed table will permanently delete the data in that column when you deploy. Review carefully before deploying.


Step 3: Set the Lookup Display Column (Optional)

If other tables will reference this table via foreign keys, you should set a Lookup Display Column:

  1. Navigate back to the table definition's Edit page
  2. In the Lookup Display Column dropdown, select the column whose values should appear in foreign key lookup dropdowns
  3. Save

For example, for a Currency Codes table with columns currency_code and currency_name, you might set the lookup display column to currency_name so that users see "US Dollar" in the dropdown rather than just "USD".


Step 4: Deploy

After creating the table definition and columns, the table needs to be deployed to create the physical database table:

  1. Navigate to Development > Deployments
  2. Click New Deployment
  3. Your new table appears in the list of changes requiring deployment
  4. Review the diff (all columns will show as "New")
  5. Click Deploy

Once deployed, the table appears in the sidebar under its domain, and users can begin entering data.

Tip: You can create multiple table definitions before deploying. A single deployment can include all your new tables at once.


After Creation

Once a table is created and deployed:

  • It appears in the Tables sidebar under its domain
  • Users with Data Manager permission on the domain can view and edit data
  • You can continue to modify the table definition (add/remove/change columns) and redeploy
  • The table definition shows a "Needs Deploy" badge when it has undeployed changes

Naming Conventions

TitanRDM applies these conventions automatically:

  • The database table name is generated from the table name by lowercasing and replacing spaces with underscores
  • The domain abbreviation is used as a prefix in the physical schema (e.g., fin.currency_codes for a table in the Finance domain with abbreviation fin)
  • Column names follow the same pattern — what you type is used as-is, so use a consistent convention (e.g., snake_case)