type alias ColumnDef

Column definition for a table

Type Parameters

T = unknown

Properties

optional
generated: boolean | undefined

Whether this column is auto-generated (like id)

optional
projected: boolean | undefined

Whether this value is projected by caller SQL, not stored on the table.

optional
default: (() => T) | undefined

Default value generator (for created timestamps etc)

optional
write: ((v: T) => Promise<T> | T) | undefined

Transform value before writing to DB (e.g., encrypt)

optional
read: ((
v: T,
rowId?: unknown,
) => Promise<T> | T) | undefined

Transform value after reading from DB (e.g., decrypt). Row reads pass the row's primary-key value as rowId so a read failure can name the record (single-column reads via readColumn may omit it).

Usage

import { type ColumnDef } from "doc.ts";