Skip to main content
Module

x/kysely_deno_postgres_dialect/mod.ts>kysely.AlterTableBuilder

Kysely dialect for PostgreSQL using the deno-postgres client.
Latest
class kysely.AlterTableBuilder
Re-export
import { kysely } from "https://deno.land/x/kysely_deno_postgres_dialect@v0.27.1/mod.ts";
const { AlterTableBuilder } = kysely;

This builder can be used to create a alter table query.

Constructors

new
AlterTableBuilder(props: AlterTableBuilderProps)

Methods

$call<T>(func: (qb: this) => T): T

Calls the given function passing this as the only argument.

See CreateTableBuilder.$call

addCheckConstraint(constraintName: string, checkExpression: Expression<any>): AlterTableExecutor

See CreateTableBuilder.addCheckConstraint

addColumn(
columnName: string,
dataType: DataTypeExpression,
): AlterTableColumnAlteringBuilder

See CreateTableBuilder.addColumn

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

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

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

See CreateTableBuilder.addPrimaryKeyConstraint

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

See CreateTableBuilder.addUniqueConstraint

dropConstraint(constraintName: string): AlterTableDropConstraintBuilder
dropIndex(indexName: string): AlterTableExecutor

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,
): AlterTableColumnAlteringBuilder

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
renameTo(newTableName: string): AlterTableExecutor
setSchema(newSchema: string): AlterTableExecutor