Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

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;
addCheckConstraint(constraintName: string, checkExpression: Expression<any>): AlterTableExecutor;
addForeignKeyConstraint(
constraintName: string,
columns: string[],
targetTable: string,
targetColumns: string[],
): AlterTableAddForeignKeyConstraintBuilder;
addIndex(indexName: string): AlterTableAddIndexBuilder;
addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor;
addUniqueConstraint(
constraintName: string,
columns: string[],
): AlterTableExecutor;
alterColumn(column: string, alteration: AlterColumnBuilderCallback): AlterTableColumnAlteringBuilder;
dropColumn(column: string): AlterTableColumnAlteringBuilder;
dropConstraint(constraintName: string): AlterTableDropConstraintBuilder;
dropIndex(indexName: string): AlterTableExecutor;
modifyColumn(
columnName: string,
): AlterTableColumnAlteringBuilder;
renameColumn(column: string, newColumn: string): AlterTableColumnAlteringBuilder;
renameTo(newTableName: string): AlterTableExecutor;
setSchema(newSchema: string): AlterTableExecutor;
}

§Implements

§Constructors

§
new AlterTableBuilder(props: AlterTableBuilderProps)
[src]

§Methods

§
$call<T>(func: (qb: this) => T): T
[src]

Calls the given function passing this as the only argument.

See {@link CreateTableBuilder.$call}

§
addCheckConstraint(constraintName: string, checkExpression: Expression<any>): AlterTableExecutor
[src]

See {@link CreateTableBuilder.addCheckConstraint}

§

See {@link CreateTableBuilder.addColumn}

§
addForeignKeyConstraint(constraintName: string, columns: string[], targetTable: string, targetColumns: string[]): AlterTableAddForeignKeyConstraintBuilder
[src]

See {@link CreateTableBuilder.addForeignKeyConstraint}

Unlike {@link 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`)
§
addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor
[src]

See {@link CreateTableBuilder.addPrimaryKeyConstraint}

§
addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor
[src]

See {@link CreateTableBuilder.addUniqueConstraint}

§
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`
§

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.

§
renameColumn(column: string, newColumn: string): AlterTableColumnAlteringBuilder
[src]
§
renameTo(newTableName: string): AlterTableExecutor
[src]
§
setSchema(newSchema: string): AlterTableExecutor
[src]