Skip to content

SyncTableUpdateInput

SyncTableUpdateInput<TRegistry, TKey> = TRegistry[TKey] extends SyncTableEntry<AnyPgTable, infer TLocalTable> ? Partial<Omit<InferInsertModel<TLocalTable>, ManagedFieldColumnKeys<TRegistry[TKey]>>> : never

Defined in: packages/contracts/src/registry.ts:569

The patch type for an update: the insert model made partial, minus every managed key — including a create-only one. A field declared applyOn: ["create"] is stamped at birth and inert on update (the generated apply function offers no UPDATE SET candidate for it), so it is never a settable update key; the write route 400-rejects an update payload that carries one. This omit set is the type-level statement of isManagedFieldGuarded at "update" — that predicate is the single definition of the rule, and every runtime surface derives from it.

TRegistry extends SyncTableRegistry

TKey extends keyof TRegistry