Skip to content

SyncColumnType

Defined in: packages/contracts/src/apply-strategy.ts:15

Resolved column type descriptor for the apply ladder — derived from the registry, not the DB.

isArray: boolean

Defined in: packages/contracts/src/apply-strategy.ts:26

True when the column is an array of any dimension.


isEnum: boolean

Defined in: packages/contracts/src/apply-strategy.ts:35

True when the column is a Drizzle pgEnum column. An enum’s sqlType is its custom type NAME (not a base type), so it is not in COPY_SAFE_BASE_TYPES — but enum labels round-trip losslessly through both the COPY text format and a json_to_recordset cast (whose cast type is the enum type name), so an enum column is COPY-safe / JSON-safe. This flag carries that positively rather than trying to whitelist every enum type name. When true, sqlType is the enum type name, usable as a cast type once the applier identifier-quotes (and schema-qualifies) it.


name: string

Defined in: packages/contracts/src/apply-strategy.ts:17

SQL column name (not the Drizzle property key).


sqlType: string

Defined in: packages/contracts/src/apply-strategy.ts:24

The column’s base SQL type from Drizzle’s getSQLType() (e.g. "uuid", "text", "jsonb", "bigint", "timestamp with time zone"). Array-ness is carried separately in isArray; this string is the element/base type and is usable verbatim as a json_to_recordset cast type (with [] appended when isArray).