Creating an entity
Select a Content module and create an entity. Set Entity name, such as Product, and Entity title, such as Products. Technical names use PascalCase starting uppercase. Labels support navigation without changing technical keys.
| Setting | Selection |
|---|---|
| Module | Required logical entity group |
| Kind: persistent | Records stored in their own database table |
| Kind: virtual | Read-only projection of existing persistent data |
| DB table | Persistent table name, for example products |
| Record editor | Right panel or Separate page for creating/editing records |
For persistent, add a supported primary key through Add field → Identifier. Virtual needs no table: select its source and existing fields in dedicated settings.
CRUD and admin exposure
CRUD and UI exposure chooses application capabilities. Create, Read, Update, Delete enable operations; List page and Form page enable admin pages. A read-only directory may need only Read/List page, with writes disabled. Access grants permission only to enabled operations; an access setting cannot add an operation that is not generated.
Choose Record editor: Right panel opens a side panel; Separate page opens a page. Virtual entities have no create/edit forms.
Finish and open Generate. Generate files and update the running project to see results.
Moving between modules
Change Module in Entity settings to move an entity. Before confirming, note that /api/admin/v1/<module>/… and /api/external/v1/<module>/… addresses change, requiring client updates. Access and custom-code ownership are preserved. Changing a logical group does not imply moving all entity files.
Changing entity kind
Changing Kind or projection source may require replacing settings. Read the confirmation: persistent fields and virtual selections have different structures. For a read-only response over existing data, keeping persistent and adding a separate virtual entity is usually simpler.
Deletion
Open Delete and inspect dependencies first. For an already-generated persistent entity, choose table/data handling:
| Option | Result |
|---|---|
| Keep table and data | Remove the entity from the generated application; retain table/records |
| Delete table and data | Generate a drop migration; applying it deletes data |
The editor shows custom files and requests archive confirmation. Generate moves them into custom-archive/<operation-id> outside active source files. Remove known references from remaining code. External clients and arbitrary SQL are not automatically fixed.
See CLI entities, rename/deletion.