Member Junction
    Preparing search index...

    One field/column in a source object discovered during introspection.

    interface SourceFieldInfo {
        AllowsNull?: boolean;
        DefaultValue: string;
        Description?: string;
        ForeignKeyTarget: string;
        IsForeignKey?: boolean;
        IsPrimaryKey?: boolean;
        IsReadOnly?: boolean;
        IsRequired: boolean;
        IsUniqueKey?: boolean;
        Label: string;
        MaxLength: number;
        Name: string;
        Precision: number;
        Scale: number;
        SourceType: string;
    }
    Index

    Properties

    AllowsNull?: boolean

    Whether NULL is a permitted value at rest. Distinct from IsRequired. Undefined ⇒ source did not declare; default to permissive (nullable). Honest gap rather than fabricated NOT NULL.

    DefaultValue: string

    Default value expression (null if none).

    Description?: string

    Human-readable description of the field's purpose (used for sp_addextendedproperty on the column).

    ForeignKeyTarget: string

    If FK, which source object it references (null if not a FK).

    IsForeignKey?: boolean

    Whether this field is a foreign key. undefined = the source had no opinion (see IsPrimaryKey) — distinct from an affirmed false.

    IsPrimaryKey?: boolean

    Whether this field is part of the primary key.

    undefined means the SOURCE HAD NO OPINION (a sample/list API that doesn't report PKs) — semantically distinct from an explicit false (the source affirmed it is NOT a PK). The persist overlay (decideBooleanOverlay) treats undefined as no-opinion so a Declared true survives; coercing silence to false here is the U1 bug that wiped declared PKs (the keyless-entity root). Never write ?? false when mapping into this field.

    IsReadOnly?: boolean

    Whether the field is read-only (computed, system-managed, or otherwise not user-writable). Affects whether the field is included in Create/Update operation bodies.

    IsRequired: boolean

    Whether the field must be provided when creating a new record. Semantically distinct from AllowsNull — see ExternalFieldSchema.IsRequired.

    IsUniqueKey?: boolean

    Whether this field is constrained as unique. Distinct from IsPrimaryKey — an object can have several unique fields (email, phone) of which only one is the PK. Both flags should be set independently when the source distinguishes them; SchemaBuilder uses this for DDL UNIQUE constraint emission.

    Label: string

    Human-readable label.

    MaxLength: number

    Maximum length for string types (null if not applicable).

    Name: string

    Field name in the source system.

    Precision: number

    Precision for numeric types (null if not applicable).

    Scale: number

    Scale for numeric types (null if not applicable).

    SourceType: string

    Generic source type (e.g., "string", "integer", "datetime", "boolean").