Skip to content

Table schema

The table designer defines the structure of a case table. It has three tabs: Basic Information, Columns Designer, and Indexes & Relationships. Saving never changes the live table: it creates a draft version that is compared and published later.

Basic information

Field Rules
Domain Required. The table always belongs to a domain, and the domain prefix is part of the physical table name: PREFIX_TABLE_NAME
Name Required, up to 80 characters, uppercase letters, digits, and underscores, starting with a letter
Classification Required, chosen once at creation and cannot be changed later
Description Optional context for other users

Classifications

Classification Data behaviour Columns
Configuration Seed rows are the source of truth; free data editing is blocked Audit columns added
Editable Seeds are initial data only; after the first publish you own the rows Audit columns added
Process Rows are created by cases System columns added automatically: APP_NUMBER, APP_TITLE, CASE_UID
Analytics Read-only; populated asynchronously by the consumer service No seeds, no audit columns
System Managed by the plugin itself —

Choosing the classification is the most consequential decision in this tab: it decides whether the grid is editable, whether seeds apply, and which columns are added for you.

Columns

Types

VARCHAR, INT, BIGINT, DECIMAL, FLOAT, BOOLEAN, DATE, DATETIME, TIME, TEXT, ENUM, JSON.

VARCHAR and DECIMAL take a length or precision; ENUM takes its option list; BOOLEAN accepts true, false, 0, or 1; dates use YYYY-MM-DD and times HH:MM:SS.

There is no File type.

Structure rules

The designer validates as you type, using the same rules the server applies:

  • a table needs at least one column;
  • column names follow the same pattern as the table name and must be unique within the table;
  • a default value is checked against the column type before it is accepted;
  • at least one column must be the primary key.

Keys and defaults

  • A primary-key column cannot be nullable; the nullable switch is disabled.
  • Auto-increment is only offered for integer primary keys (INT, BIGINT).
  • The default ID column cannot be removed.
  • For ENUM columns, the accepted values are listed in the column editor.

Removing and reordering

Drag columns to reorder. Removing a column is destructive: the designer warns when the table already has rows, and dropping a column of a published table is a blocked operation (see the review below). To retire a column without losing data, mark it as deprecated instead.

Indexes and relationships

Indexes

  • Names are generated: idx_<table>_<COL_1>_<COL_2> for regular indexes and uidx_<table>_<COL_1> for unique ones, truncated to 64 characters.
  • The same ordered set of columns is reported as a duplicate index.
  • An index can be marked unique or fulltext.
  • The designer lists the indexes that already exist, so you can see what a change would add.

Foreign keys

A foreign key points a local column at a column of another table:

  1. Choose the local column.
  2. Choose the referenced table and referenced column.
  3. Choose the display column — the column shown in data-entry dropdowns, so users pick a recognisable value instead of a bare ID.

ON DELETE CASCADE and ON UPDATE CASCADE are optional. When a foreign key is active, the data grid shows a dropdown of the referenced rows instead of a number.

Review and publish

Review & Publish runs the same diff the server will run, without touching the table. For every operation it shows what changes, how confident it is, and what it costs:

Signal Meaning
Operation ADD_COLUMN, RENAME_COLUMN, CHANGE_TYPE, DROP_COLUMN, DROP_TABLE, …
Rename confidence Low-confidence renames are treated as a drop plus an add, because the data cannot be mapped safely
Severity score and label LOW, MEDIUM, HIGH, or CRITICAL
Estimated time How long the migration is expected to take

Severity gates

Label Triggered by What happens
LOW Small additive changes Runs automatically from Jobs
HIGH Score ≥ 41, or an operation that deletes rows Needs approval before it runs
CRITICAL Score ≥ 61, a COPY algorithm, an estimate over 10 minutes, or a table drop Needs approval and scheduling outside working hours

Blocked operations

Two operations are refused outright on a published table:

  • dropping a column — mark it deprecated instead;
  • dropping the table — use the table actions in Tables.

Ambiguous renames are also blocked: renaming two columns at once, or renaming and moving a column in the same change, is reported as possible rename — revert and rename one at a time. Fix the problems listed in the review and the publish button becomes available again.

After publishing

Publishing bundles the operations into a single job plan:

PENDING → ACTIVE_PENDING → IN_PLAN → SYNCING → ACTIVE

If the migration fails the table moves to ERROR and can be retried. See Table states and sync and Jobs.