UNPKG

typeorm

Version:

Data-Mapper ORM for TypeScript and ES2021+. Supports MySQL/MariaDB, PostgreSQL, MS SQL Server, Oracle, SAP HANA, SQLite, MongoDB databases.

123 lines (122 loc) 3.27 kB
/** * Table's column options. */ export interface TableColumnOptions { /** * Column name. */ name: string; /** * Column type. */ type: string; /** * Column's default value. */ default?: any; /** * ON UPDATE trigger. Works only for MySQL. */ onUpdate?: string; /** * Indicates if column is NULL, or is NOT NULL in the database. */ isNullable?: boolean; /** * Indicates if column is auto-generated sequence. */ isGenerated?: boolean; /** * Specifies generation strategy if this column will use auto increment. */ generationStrategy?: "uuid" | "increment" | "rowid" | "identity"; /** * Indicates if column is a primary key. */ isPrimary?: boolean; /** * Indicates if column has unique value. */ isUnique?: boolean; /** * Indicates if column stores array. */ isArray?: boolean; /** * Column's comment. */ comment?: string; /** * Column type's length. Used only on some column types. * For example type = "string" and length = "100" means that ORM will create a column with type varchar(100). */ length?: string; /** * Column type's display width. Used only on some column types in MySQL. * For example, INT(4) specifies an INT with a display width of four digits. */ width?: number; /** * Defines column character set. */ charset?: string; /** * Defines column collation. */ collation?: string; /** * The precision for a decimal (exact numeric) column (applies only for decimal column), which is the maximum * number of digits that are stored for the values. */ precision?: number | null; /** * The scale for a decimal (exact numeric) column (applies only for decimal column), which represents the number * of digits to the right of the decimal point and must not be greater than precision. */ scale?: number; /** * Puts ZEROFILL attribute on to numeric column. Works only for MySQL. * If you specify ZEROFILL for a numeric column, MySQL automatically adds the UNSIGNED attribute to the column */ zerofill?: boolean; /** * Puts UNSIGNED attribute on to numeric column. Works only for MySQL. */ unsigned?: boolean; /** * Array of possible enumerated values. */ enum?: string[]; /** * Exact name of enum */ enumName?: string; /** * If this column is primary key then this specifies the name for it. */ primaryKeyConstraintName?: string; /** * If this column is foreign key then this specifies the name for it. */ foreignKeyConstraintName?: string; /** * Generated column expression. */ asExpression?: string; /** * Generated column type. */ generatedType?: "VIRTUAL" | "STORED"; /** * Identity column type. Supports only in Postgres 10+. */ generatedIdentity?: "ALWAYS" | "BY DEFAULT"; /** * Spatial Feature Type (Geometry, Point, Polygon, etc.) */ spatialFeatureType?: string; /** * SRID (Spatial Reference ID (EPSG code)) */ srid?: number; }