Skip to main content

Structure

Defines a new table structure for managing columns efficiently.


Methods


constructor()

→ (tableDescription? = Array<ColumnStructure>) → this

Create a new Structure instance.

Parameters

ParameterTypeDescription
tableDescription optionalArray<ColumnStructure>A list of column structure objects defining table columns.

A table description can be retrieved using the get() method and later reloaded by passing it to the Structure constructor.

Returns

this - The instance of Structure.


get()

→ () → Array<ColumnStructure>

Retrieves an array of all defined columns in the Structure as ColumnStructure objects.

Returns

Array<ColumnStructure> - A list of defined columns.


drop()

→ (name = String) → this

Removes a column from the structure.

Parameters

ParameterTypeDescription
nameStringThe column name to remove.

Returns

this


Column Methods

Each of these methods adds a column of the specified type to the structure.


String-Based Columns

MethodParametersDescription
char(name: String, size?: Number, options?: ConstraintOptions)size: (0-255, default 1)Adds a fixed-length character column.
varchar(name: String, size?: Number, options?: ConstraintOptions)size: (0-255, default 1)Adds a variable-length character column.
tinytext(name: String, options?: ConstraintOptions)-Adds a tinytext column.
text(name: String, options?: ConstraintOptions)-Adds a text column.
mediumtext(name: String, options?: ConstraintOptions)-Adds a mediumtext column.
longtext(name: String, options?: ConstraintOptions)-Adds a longtext column.

Binary Data Columns

MethodParametersDescription
binary(name: String, size?: Number, options?: ConstraintOptions)size: (1+, default 1)Adds a binary column.
varbinary(name: String, size?: Number, options?: ConstraintOptions)size: (0+, default 1)Adds a variable-length binary column.
tinyblob(name: String, options?: ConstraintOptions)-Adds a tinyblob column.
blob(name: String, size?: Number, options?: ConstraintOptions)size: (0-65535, default 65535)Adds a blob column.
longblobl(name: String, options?: ConstraintOptions)-Adds a longblob column.

MethodParametersDescription
enum(name: String, vals: Array<String>, options?: ConstraintOptions)vals: Array of allowed valuesAdds an enum column with predefined values.
set(name: String, vals: Array<String>, options?: ConstraintOptions)vals: Array of allowed valuesAdds a set column with multiple selectable values.

Numeric Columns

MethodParametersDescription
bit(name: String, size?: Number, options?: ConstraintOptions)size: (1-64, default 1)Adds a bit column.
tinyint(name: String, size?: Number, options?: ConstraintOptions)size: (1-255, default 255)Adds a tinyint column.
bool(name: String, options?: ConstraintOptions)-Alias for tinyint(1).
smallint(name: String, size?: Number, options?: ConstraintOptions)size: (1-255, default 255)Adds a smallint column.
mediumint(name: String, size?: Number, options?: ConstraintOptions)size: (1-255, default 255)Adds a mediumint column.
int(name: String, size?: Number, options?: ConstraintOptions)size: (1-255, default 255)Adds an int column.
bigint(name: String, size?: Number, options?: ConstraintOptions)size: (1-255, default 255)Adds a bigint column.

Floating Point & Decimal Columns

MethodParametersDescription
float(name: String, p?: Number, options?: ConstraintOptions)p: (1-53, default 25)Adds a float column.
double(name: String, size?: Number, d?: Number, options?: ConstraintOptions)size: (1+, default 16)
d: (1+, default 8)
Adds a double dolumn.
decimal(name: String, size?: Number, d?: Number, options?: ConstraintOptions)size: (1+, default 16)
d: (1+, default 8)
Adds a decimal column.

Date & Time Columns

MethodParametersDescription
date(name: String, options?: ConstraintOptions)-Adds a date column.
datetime(name: String, fsp?: Number, options?: ConstraintOptions)fsp: (0-6, default 0)Adds a datetime column.
timestamp(name: String, fsp?: Number, options?: ConstraintOptions)fsp: (0-6, default 0)Adds a timestamp column.
time(name: String, fsp?: Number, options?: ConstraintOptions)fsp: (0-6, default 0)Adds a time column.
year(name: String, options?: ConstraintOptions)-Adds a year column.