typeorm
Version:
Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL, MongoDB databases.
80 lines (79 loc) • 2.33 kB
TypeScript
import { ColumnType } from "../driver/types/ColumnTypes";
export interface EntitySchemaColumn {
/**
* Indicates if this column is a primary column.
*/
primary?: boolean;
/**
* Indicates if this column is a created date column.
*/
createDate?: boolean;
/**
* Indicates if this column is an update date column.
*/
updateDate?: boolean;
/**
* Indicates if this column is a version column.
*/
version?: boolean;
/**
* Indicates if this column is a treeChildrenCount column.
*/
treeChildrenCount?: boolean;
/**
* Indicates if this column is a treeLevel column.
*/
treeLevel?: boolean;
/**
* Column type. Must be one of the value from the ColumnTypes class.
*/
type: ColumnType;
/**
* Column name in the database.
*/
name?: string;
/**
* Column type's length. For example type = "string" and length = 100 means that ORM will create a column with
* type varchar(100).
*/
length?: string | number;
/**
* Specifies if this column will use AUTO_INCREMENT or not (e.g. generated number).
*/
generated?: true | "increment" | "uuid";
/**
* Specifies if column's value must be unique or not.
*/
unique?: boolean;
/**
* Indicates if column's value can be set to NULL.
*/
nullable?: boolean;
/**
* Extra column definition. Should be used only in emergency situations. Note that if you'll use this property
* auto schema generation will not work properly anymore. Avoid using it.
*/
columnDefinition?: string;
/**
* Column comment.
*/
comment?: string;
/**
* Default database value.
*/
default?: 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;
/**
* 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;
/**
* Column collation. Note that not all databases support it.
*/
collation?: string;
}