Skip to main content

Documentation Index

Fetch the complete documentation index at: https://archie.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

A field is a column on a table. Each field has a type that controls what data it can store, what validation runs on insert and update, and how it appears in the auto-generated GraphQL and REST APIs.

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.
OptionAvailable onWhat it does
NameAll typesThe system identifier used in the GraphQL and REST APIs.
DescriptionAll typesAn internal note describing the field’s purpose.
Default ValueMost typesThe value assigned when a record is created without an explicit value.
MandatoryAll typesEnforces a NOT NULL constraint — the field cannot be saved empty.
UniqueMost typesEnforces a uniqueness constraint across all rows in the table.
Type-specificVariesNumber precision, timestamp granularity, JSONB vs. JSON, varchar length, and similar choices.

Inline enum vs. user-defined

Both let you constrain a field to a fixed list of values. Choose between them based on reuse:
Choose thisWhen
Inline enumThe list of values is specific to one field on one table and won’t be reused.
User-definedThe list of values needs to stay consistent across multiple fields or tables. Defined once as a Data Type.

Permissions

Field-level visibility and write access is controlled per role in Role-Based Access, not in the Data Model.

FAQ

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.
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.
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.
Leave Mandatory off. Optional fields can be null in the database and will be nullable in the generated GraphQL types.