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

AlterTableAddIndexBuilder

class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable {
constructor(props: AlterTableAddIndexBuilderProps);
$call<T>(func: (qb: this) => T): T;
column<CL extends string>(column: OrderedColumnName<CL>): AlterTableAddIndexBuilder;
columns<CL extends string>(columns: OrderedColumnName<CL>[]): AlterTableAddIndexBuilder;
compile(): CompiledQuery;
execute(): Promise<void>;
expression(expression: Expression<any>): AlterTableAddIndexBuilder;
toOperationNode(): AlterTableNode;
using(indexType: string): AlterTableAddIndexBuilder;
}

§Implements

§Constructors

§
new AlterTableAddIndexBuilder(props: AlterTableAddIndexBuilderProps)
[src]

§Methods

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

Simply calls the provided function passing this as the only argument. $call returns what the provided function returns.

§
column<CL extends string>(column: OrderedColumnName<CL>): AlterTableAddIndexBuilder
[src]

Adds a column to the index.

Also see {@link columns} for adding multiple columns at once or {@link expression} for specifying an arbitrary expression.

Examples

await db.schema
        .alterTable('person')
        .createIndex('person_first_name_and_age_index')
        .column('first_name')
        .column('age desc')
        .execute()

The generated SQL (MySQL):

alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
§
columns<CL extends string>(columns: OrderedColumnName<CL>[]): AlterTableAddIndexBuilder
[src]

Specifies a list of columns for the index.

Also see {@link column} for adding a single column or {@link expression} for specifying an arbitrary expression.

Examples

await db.schema
        .alterTable('person')
        .addIndex('person_first_name_and_age_index')
        .columns(['first_name', 'age desc'])
        .execute()

The generated SQL (MySQL):

alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
§
execute(): Promise<void>
[src]
§
expression(expression: Expression<any>): AlterTableAddIndexBuilder
[src]

Specifies an arbitrary expression for the index.

Examples

import { sql } from 'kysely'

await db.schema
  .alterTable('person')
  .addIndex('person_first_name_index')
  .expression(sql`(first_name < 'Sami')`)
  .execute()

The generated SQL (MySQL):

alter table `person` add index `person_first_name_index` ((first_name < 'Sami'))
§
toOperationNode(): AlterTableNode
[src]
§

Makes the index unique.

§

Specifies the index type.

using(indexType: string): AlterTableAddIndexBuilder
[src]