Skip to content

Interface: ColumnMeta

Defined in: core/src/schema/columns.ts:26

readonly kind: ColumnKind

Defined in: core/src/schema/columns.ts:27


readonly notNull: boolean

Defined in: core/src/schema/columns.ts:28


readonly unique: boolean

Defined in: core/src/schema/columns.ts:29


readonly hasDefault: boolean

Defined in: core/src/schema/columns.ts:30


readonly optional defaultValue?: unknown

Defined in: core/src/schema/columns.ts:31


readonly optional refGetter?: () => AnyColumn

Defined in: core/src/schema/columns.ts:32

AnyColumn


readonly optional onDelete?: OnDeleteAction

Defined in: core/src/schema/columns.ts:42

For ref() columns: what happens when the referenced parent row is deleted. "noAction" (default) leaves the child row alone (the parent fk becomes dangling — plasma allows this because the client’s IndexedDB can’t enforce fkey without a cascade of its own); pick "cascade" to also delete every referring child row, or "setNull" to clear the ref column instead. "restrict" refuses the parent delete outright when children still exist.


readonly optional encrypted?: boolean

Defined in: core/src/schema/columns.ts:48

When true, this column stores an encrypted Envelope at rest. The server never sees plaintext; the client’s sync loop encrypts on push and decrypts on pull using a DEK the app supplies.


readonly optional file?: FileColumnMeta

Defined in: core/src/schema/columns.ts:54

For file() columns: per-column upload / validation policy. Stored separately from the Column phantom so runtime validators can read it without knowing the type argument.


optional tableName?: string

Defined in: core/src/schema/columns.ts:55


optional columnName?: string

Defined in: core/src/schema/columns.ts:56