Schema Editor
The schema editor is the visual designer at /{workspace}/services/{id}/editor. It renders your schema as a diagram — entities are nodes, relationships are edges — and pairs it with an AI chat panel for generating and editing the schema by prompt.
Layout
- A React Flow canvas showing entity nodes and relationship edges, with pan/zoom controls, a minimap, and a dotted background.
- An AI chat / agentic panel that plans and applies schema changes from natural-language prompts (with a progress log of the steps it takes).
- Dialogs for editing entities, fields (properties), and relationships.
Entities
- Create / rename an entity via the entity dialog.
- Delete an entity through a confirmation dialog.
- Each entity node lists its fields; you edit fields from the node.
Fields (properties)
Add or edit a field with the property dialog:
- Property Name
- Data Type — one of the PostgreSQL types below
- Primary Key — mark the field as the primary key
- Not Null — require a value (stored as
nullable: false) - Unique Value — enforce uniqueness
- Enum values — when the type is
enum, supply the allowed values
created_at / updated_at are treated as managed timestamp fields.
The field dialog exposes Primary Key, Not Null, and Unique constraints (plus enum values). There is no default-value input and no custom/format-validation builder in this dialog.
Data types
The Data Type selector offers these PostgreSQL types:
varchar (String) | text | integer |
bigint | smallint | decimal |
real (Float) | double precision | boolean |
timestamp | timestamptz | date |
time | uuid | json |
jsonb | enum | array |
Relationships
Add or edit a relationship with the relationship dialog by choosing a source entity, a target entity, and a type:
| Type | Meaning |
|---|---|
| OneToOne | Each source relates to exactly one target |
| OneToMany | Each source relates to many targets (direction sets one-to-many vs many-to-one) |
| ManyToMany | Many sources relate to many targets |
Relationships render as edges between entity nodes on the canvas.
AI-assisted editing
The chat panel drives agentic schema generation: describe what you want and the assistant plans phases and applies entity/field/relationship changes to the diagram, streaming a progress log. This is the primary way to scaffold a schema quickly; the dialogs above are for precise manual edits.
Migrations are not managed here
The schema editor edits the schema definition only. Schema versioning, migration generation, migration preview, and rollback are not part of this UI — migrations are produced and applied during deployment (the build pipeline), not from the editor. The “Migration Management” items in the component checklist don’t correspond to controls in this view.
Related
- Field types — type reference
- Entities and Relationships
- Service List