Model Export / Import
Export model definitions to a JSON file and import them into another Primentra environment. Use this to move models between development, staging, and production — or to share model structures between teams.
Exporting models
- Go to Settings → Models
- Click Export
- Select which models to include — all are selected by default
- Optionally check Include data rows to export the actual data inside each entity
- Optionally check Include permissions to export role-based permissions for each entity
- Click Export to download a
primentra-export-YYYY-MM-DD.jsonfile
Importing models
- Go to Settings → Models
- Click Import
- Upload the
.jsonexport file - Review the preview table — each entity shows its status and a conflict action:
| Status | Meaning |
|---|---|
| New | Entity does not exist in this environment — it will be created |
| Exists | Entity already exists — choose how to handle the conflict |
- Set a conflict action for each existing entity (see below)
- Click Import to execute — a progress bar shows import status
- Review the summary: entities created, updated, skipped, and rows imported
Conflict actions
When an imported entity already exists in the target environment, you choose one of three actions:
| Action | What happens |
|---|---|
| Overwrite | Replace all entity settings and attributes with the imported version |
| Skip | Leave the existing entity unchanged — nothing is modified |
| Merge | Update only the fields that differ between the existing and imported version |
Domain attribute warnings
If an exported entity references a domain entity (via a Domain attribute) that is not included in the import file, a warning banner is shown during the preview step. The import can still proceed, but the domain link will be left unresolved — the attribute will exist without a valid target entity until that entity is created or imported separately.
Permissions
Permissions can optionally be included in the export file. During import, users are matched by email address:
- If a matching user exists and is active, the permission is applied
- If the user does not exist or is inactive, that permission entry is skipped
No new users are created during import — only existing accounts are matched.