UNPKG

silvie

Version:

Typescript Back-end Framework

83 lines (82 loc) 2.98 kB
import Column from "./column"; export interface IRelation { foreignKey: string; primaryKey: string; table: string; } export interface IConstraintCollection { indices: Column[]; fullTextIndices: Column[]; spatialIndices: Column[]; primaries: Column[]; uniques: Column[]; } export default class Table { name: string; columns: Column[]; relations: IRelation[]; constructor(name: string); private createColumn; getConstraints(): IConstraintCollection; id(): void; tinyIncrements(name: string): Column; smallIncrements(name: string): Column; mediumIncrements(name: string): Column; increments(name: string): Column; bigIncrements(name: string): Column; tinyInteger(name: string): Column; unsignedTinyInteger(name: string): Column; smallInteger(name: string): Column; unsignedSmallInteger(name: string): Column; mediumInteger(name: string): Column; unsignedMediumInteger(name: string): Column; integer(name: string): Column; unsignedInteger(name: string): Column; bigInteger(name: string): Column; unsignedBigInteger(name: string): Column; bit(name: string): Column; boolean(name: string): Column; decimal(name: string, precision: number, scale: number): Column; unsignedDecimal(name: string, precision: number, scale: number): Column; float(name: string): Column; double(name: string): Column; year(name: string): Column; date(name: string): Column; time(name: string): Column; datetime(name: string): Column; timestamp(name: string): Column; timestamps(): void; character(name: string, length?: number): Column; string(name: string, length?: number): Column; binary(name: string, length?: number): Column; tinyBlob(name: string): Column; blob(name: string): Column; mediumBlob(name: string): Column; longBlob(name: string): Column; tinyText(name: string): Column; text(name: string): Column; mediumText(name: string): Column; longText(name: string): Column; enum(name: string, values: string[]): Column; set(name: string, values: string[]): Column; geometry(name: string): Column; point(name: string): Column; lineString(name: string): Column; polygon(name: string): Column; geometryCollection(name: string): Column; multiPoint(name: string): Column; multiLineString(name: string): Column; multiPolygon(name: string): Column; softDelete(): Column; json(name: string): Column; ipAddress(name: string): Column; macAddress(name: string): Column; uuid(name: string): Column; foreign(foreignKey: string, primaryKey: string, table: string): void; private modifyColumns; primary(...columnNames: string[]): void; unique(...columnNames: string[]): void; index(...columnNames: string[]): void; fullTextIndex(...columnNames: string[]): void; spatialIndex(...columnNames: string[]): void; }