Adding a field
Open the table on the Schema tab and click + Add Field. Pick a name, choose a type from the dropdown, and configure its options in the right-hand panel. Changes save in real time.Field types
Boolean
True / false flags.
Date
Calendar dates and timestamps.
Number
Integers, decimals, and floats.
Text
Strings of any length.
JSONB
Structured JSON objects and arrays.
UUID
128-bit unique identifiers.
Relationship
Foreign keys between tables.
Inline enum
A one-off list of allowed values defined on the field.
User-defined
A reusable Data Type (enum) shared across tables.
Configuration options at a glance
Most field types share a common set of options. The exact set varies by type — see each field type’s page for the full list.Inline enum vs. user-defined
Both let you constrain a field to a fixed list of values. Choose between them based on reuse:Permissions
Field-level visibility and write access is controlled per role in Role-Based Access, not in the Data Model.FAQ
Can I change a field's type after I've added it?
Can I change a field's type after I've added it?
Yes, with caveats. Date, Number, and Text values are auto-converted where possible. Switching a field to Unique runs a check on the existing data and refuses the change if duplicates exist. Switching a field to Mandatory prompts you for a default to backfill existing rows.
What's the difference between a relationship field and a UUID field?
What's the difference between a relationship field and a UUID field?
A UUID field stores a free-form 128-bit identifier with no enforcement. A relationship field stores a foreign key to another table, enforces referential integrity, and creates the inverse query in the GraphQL API automatically.
Should I use JSON or JSONB?
Should I use JSON or JSONB?
JSONB. It’s stored in a binary format that’s significantly faster to query and supports indexing. Plain JSON is faster to write but slower to read. See JSONB.
How do I make a field optional?
How do I make a field optional?
Leave Mandatory off. Optional fields can be
null in the database and will be nullable in the generated GraphQL types.