Selegic CRM Docs
ServerMetadata

Overview

Syncing tenant database schemas with CRM metadata using CRUD hooks and DDL helpers.

The Metadata Admin feature ensures that when a user creates an Entity or Field through the UI/API, the underlying physical database tables are updated accordingly.

Core Responsibilities

  • DDL Execution: Creating tables for new entities and adding/dropping columns for fields
  • Reference Management: Ensuring LOOKUP fields create foreign key constraints
  • Schema Safety: Preventing accidental data loss with dropColumn flag
  • Default Fields: Automatically adding audit columns (created_at, updated_at, etc.)

Hook-into-CRUD Pattern

Instead of a separate Migration API, Selegic uses CRUD hooks attached to Entity and Field models:

POST /api/entities (create Entity) Save metadata record Success trigger after:create CREATE TABLE (tenant schema) Done User CRUD Engine Metadata Hook Tenant DB

Steps

  1. User creates Entity/Field via API
  2. CRUD Engine saves metadata record
  3. Hook triggers after event
  4. Hook calls migration library to run DDL

Key Modules

ComponentLocationPurpose
EntityHookfeatures/metadata-admin/Manages table lifecycle
FieldHookfeatures/metadata-admin/Manages column lifecycle
Migration Librarylib/migration/DDL abstraction layer
Field Mapperlib/migration/Logical to physical type mapping

Quick Navigation

On this page