Member Junction
    Preparing search index...

    Platform-agnostic table definition — the universal input for DDL generation. Any consumer provides this; SchemaEngine produces platform-correct SQL.

    interface TableDefinition {
        AdditionalColumns?: ColumnDefinition[];
        Columns: ColumnDefinition[];
        Description?: string;
        EntityName: string;
        ForeignKeys?: ForeignKeyDefinition[];
        PrimaryKeyColumns?: string[];
        SchemaName: string;
        SoftPrimaryKeys?: string[];
        TableName: string;
    }
    Index

    Properties

    AdditionalColumns?: ColumnDefinition[]

    Additional columns injected by the consumer (e.g., integration sync columns). SchemaEngine appends these after the user-defined Columns.

    Columns: ColumnDefinition[]

    Column definitions (in order).

    Description?: string

    Human-readable description for the table.

    EntityName: string

    MJ entity display name (e.g., "User: Project Milestones").

    ForeignKeys?: ForeignKeyDefinition[]

    Foreign key relationships (soft or hard).

    PrimaryKeyColumns?: string[]

    Column names that form the database PRIMARY KEY constraint. Generates CONSTRAINT PK_{TableName} PRIMARY KEY (col1, col2, ...). Use this for tables that need a real DB-enforced primary key. Distinct from SoftPrimaryKeys which creates only a UNIQUE constraint.

    SchemaName: string

    Target database schema (e.g., "custom", "hubspot", "dbo").

    SoftPrimaryKeys?: string[]

    Column names that form the soft primary key (UNIQUE constraint only). No DB-level PK is created — the unique constraint serves as the natural key.

    TableName: string

    SQL table name (e.g., "UD_ProjectMilestones", "HubSpotContacts").