AlterTableBuilder
This builder can be used to create a alter table
query.
class AlterTableBuilder implements ColumnAlteringInterface {}
constructor(props: AlterTableBuilderProps);
$call<T>(func: (qb: this) => T): T;
addColumn(
columnName: string,
dataType: DataTypeExpression,
build?: ColumnDefinitionBuilderCallback,
): AlterTableColumnAlteringBuilder;addForeignKeyConstraint(
constraintName: string,
columns: string[],
targetTable: string,
targetColumns: string[],
): AlterTableAddForeignKeyConstraintBuilder;addUniqueConstraint(
constraintName: string,
columns: string[],
build?: UniqueConstraintNodeBuilderCallback,
): AlterTableExecutor;alterColumn(column: string, alteration: AlterColumnBuilderCallback): AlterTableColumnAlteringBuilder;
modifyColumn(
columnName: string,
dataType: DataTypeExpression,
build?: ColumnDefinitionBuilderCallback,
): AlterTableColumnAlteringBuilder;§Implements
§Constructors
§
new AlterTableBuilder(props: AlterTableBuilderProps)
[src]§Methods
§
addColumn(columnName: string, dataType: DataTypeExpression, build?: ColumnDefinitionBuilderCallback): AlterTableColumnAlteringBuilder
[src]§
addForeignKeyConstraint(constraintName: string, columns: string[], targetTable: string, targetColumns: string[]): AlterTableAddForeignKeyConstraintBuilder
[src]See CreateTableBuilder.addForeignKeyConstraint
Unlike CreateTableBuilder.addForeignKeyConstraint this method returns
the constraint builder and doesn't take a callback as the last argument. This
is because you can only add one column per ALTER TABLE
query.
§
addIndex(indexName: string): AlterTableAddIndexBuilder
[src]This can be used to add index to table.
Examples
db.schema.alterTable('person')
.addIndex('person_email_index')
.column('email')
.unique()
.execute()
The generated SQL (MySQL):
alter table `person` add unique index `person_email_index` (`email`)
§
addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor
[src]§
alterColumn(column: string, alteration: AlterColumnBuilderCallback): AlterTableColumnAlteringBuilder
[src]§
dropColumn(column: string): AlterTableColumnAlteringBuilder
[src]§
dropConstraint(constraintName: string): AlterTableDropConstraintBuilder
[src]§
dropIndex(indexName: string): AlterTableExecutor
[src]This can be used to drop index from table.
Examples
db.schema.alterTable('person')
.dropIndex('person_email_index')
.execute()
The generated SQL (MySQL):
alter table `person` drop index `test_first_name_index`
§
modifyColumn(columnName: string, dataType: DataTypeExpression, build?: ColumnDefinitionBuilderCallback): AlterTableColumnAlteringBuilder
[src]Creates an alter table modify column
query. The modify column
statement
is only implemeted by MySQL and oracle AFAIK. On other databases you
should use the alterColumn
method.
§
renameTo(newTableName: string): AlterTableExecutor
[src]§
setSchema(newSchema: string): AlterTableExecutor
[src]