Configuration Table Catalog (Studio → DB → Renderer)
This catalog maps studio designers and runtime renderers to their typical configuration tables. Exact column names vary by migration history; align with data-model-conventions.md.
Designers ↔ persistence
Studio mode (StudioRouter) | Typical SQL table(s) | Renderer consumers |
|---|---|---|
page-designer | app_page_configs (entity route prf_code: page_configs) | Page renderer, dialogs embedding forms |
dataview-designer | app_dataview_configs | UnifiedDataViewer |
workflow-designer | app_workflow_configs (+ runtime instance tables) | Workflow execution UI, approvals |
scrumboard-designer | app_scrumboard_configs | Scrumboard runtime |
document-studio | apt_files, apt_* doc hierarchy tables | DocumentViewer / studio preview |
Spelling: platform uses scrumboard, not scrumbiard.
Canonical entity codes (frontend source of truth)
These are the intended entity_code values for /api/entity/:entity_code/* calls. The constant PAGE_CONFIGS_ENTITY_CODE is exported from axiom-genesis-frontend/src/services/node-config.service.ts (same as ENTITY_CODES.PAGES → page_configs prf_code). Use it for:
- Workflow NODE_CONFIG_* schema rows (same physical table as many page/form configs).
- Any new code that loads page config by
pgc_codeviaget_by_filter.
| Artifact | SQL table (typical) | Entity code for generic CRUD | Notes |
|---|---|---|---|
| Page / form config rows | app_page_configs | ENTITY_CODES.PAGES → page_configs (prf_code in app_object_profiles; physical table app_page_configs) | Use src/constants/entity.constants.ts everywhere (studio save, renderers, workflow NODE_CONFIG fetches via PAGE_CONFIGS_ENTITY_CODE re-export). Primary key field remains pgc_id. |
| Dataview config | app_dataview_configs | dataview_configs | |
| Workflow definition | app_workflow_configs | workflow_configs | Matches studio save branch in UnifiedDataViewer. |
| Scrumboard config | app_scrumboard_configs | scrumboard_configs |
Rule for agents: The URL / recordService first argument must match app_object_profiles.prf_code (entity_code), not app_object_registries.obj_code. Use prf_obj_code = obj_code to join profile → registry. Before adding another frontend alias, confirm which prf_code row is active for that tenant/profile in app_object_profiles.
Renderer entity code hints
UnifiedDataViewer resolves designer types to entity codes for embedded save operations — mapping:
- Page designer →
page_configs(prf_code) - Workflow designer →
workflow_configs - Scrumboard designer →
scrumboard_configs - Dataview designer →
dataview_configs
Source: axiom-genesis-frontend/src/components/workspace/viewer/dataviewer/UnifiedDataViewer.tsx (designer-type switch).
Agents must treat these strings as hints: verify against app_object_registries for the target deployment.
Other configuration tables (observed in DB introspection)
From read-only introspection (scripts/db-readonly-introspection.js against dev DB), dbo tables included:
app_dashboard_configsapp_navigation_configsapp_templatesapp_connectionsapp_rolesapp_applications,app_subscriptions,app_config_versions
These typically align with:
- Dashboard renderer / workspace dashboard routes
- Dynamic navigation (
navigation.service.ts) - Integration connectors for datasource picks in studio
Dashboard & navigation
- Navigation: configured rows consumed when building menus (
fn_get_app_navigation_configs_by_tenant_roleentity route in frontend services). - Dashboard: widget layout JSON stored in dashboard config tables; rendered under workspace dashboard routes.
When adding features, prefer adding JSON schema inside existing config columns plus registry/profile updates over adding bespoke tables.