Member Junction
    Preparing search index...

    Input to the RSU pipeline.

    interface RSUPipelineInput {
        AdditionalSchemaInfo?: string;
        AdditionalSchemaInfoAuthoritative?: boolean;
        AffectedTables: string[];
        CompanyIntegrationID?: string;
        ContextUser?: UserInfo;
        Description: string;
        MetadataFiles?: { Content: string; Path: string }[];
        MigrationSQL: string;
        PendingWork?: RSUPendingWork[];
        PostRestartFiles?: { Content: string; Path: string }[];
        SkipGitCommit?: boolean;
        SkipRestart?: boolean;
    }
    Index

    Properties

    AdditionalSchemaInfo?: string

    Optional: additionalSchemaInfo JSON content for soft FKs.

    AdditionalSchemaInfoAuthoritative?: boolean

    When true, this input's AdditionalSchemaInfo payload represents the FULL current resolution for each schema it contains (e.g. a schema-evolution refresh that re-resolved the whole connector). The writer then REPLACES each contained schema's table list wholesale — pruning entries for tables that vanished from the resolution (rsuplan: "adds new ones, removes old ones that no longer exist"). Leave false/unset for subset builds (ApplyAll of selected objects), where pruning would wrongly delete other tables' soft constraints.

    AffectedTables: string[]

    Tables being created or modified (used in branch naming and logging).

    CompanyIntegrationID?: string

    The connection this schema change belongs to.

    This is the run's IDENTITY, not a label: an RSU run artifact is only readable over the API by callers authorized for the connections it touched, and without this the pipeline has no way to tell an observer whose run it is (see RSUObserverEvent run.start). A run with no connection identity at all stays unreadable through the per-connection endpoints — which is exactly what used to happen to EVERY RSU run.

    Optional because a caller with no post-restart work may omit it; when it is absent the identity falls back to PendingWork's CompanyIntegrationID, which every production caller supplies today. See RuntimeSchemaManager.CollectCompanyIntegrationIDs.

    ContextUser?: UserInfo

    User context used for the durable PendingWork writes. Required when PendingWork is set.

    Description: string

    Descriptive name for this schema change.

    MetadataFiles?: { Content: string; Path: string }[]

    Optional: metadata JSON files for mj-sync.

    MigrationSQL: string

    The migration SQL to execute (from SchemaEngine or any other source).

    PendingWork?: RSUPendingWork[]

    Post-restart work to register durably in the database (MJ: RSU Pending Works). Rows are inserted ONLY for migrations that succeeded, before the restart, and are marked Completed only after the post-restart consumer finishes them successfully — so a crash mid-consumption leaves the row visible and re-processable rather than silently lost (which is what the old delete-on-read .rsu_pending files did).

    PostRestartFiles?: { Content: string; Path: string }[]

    Optional files to write to disk before restart. RSU does not read or interpret these — it simply persists them so they survive the process restart. The caller is responsible for reading them on the other side.

    SkipGitCommit?: boolean

    If true, skip the git commit/push step (Phase 2).

    SkipRestart?: boolean

    If true, skip MJAPI restart (useful for batching multiple changes).