import { ValueTransformer } from "./ValueTransformer"; /** * Column options specific to all column types. */ export interface ColumnCommonOptions { /** * Indicates if column is always selected by QueryBuilder and find operations. * Default value is "true". */ select?: boolean; /** * Column name in the database. */ name?: string; /** * Indicates if this column is a primary key. * Same can be achieved when @PrimaryColumn decorator is used. */ primary?: boolean; /** * Specifies if this column will use auto increment (sequence, generated identity, rowid). * Note that in some databases only one column in entity can be marked as generated, and it must be a primary column. */ generated?: boolean | "increment" | "uuid" | "rowid"; /** * Specifies if column's value must be unique or not. */ unique?: boolean; /** * Indicates if column's value can be set to NULL. */ nullable?: boolean; /** * Default database value. * Note that default value is not supported when column type is 'json' of mysql. */ default?: any; /** * ON UPDATE trigger. Works only for MySQL. */ onUpdate?: string; /** * Column comment. Not supported by all database types. */ comment?: string; /** * Indicates if this column is an array. * Can be simply set to true or array length can be specified. * Supported only by postgres. */ array?: boolean; /** * Specifies a value transformer that is to be used to (un)marshal * this column when reading or writing to the database. */ transformer?: ValueTransformer | ValueTransformer[]; }