/
opt
/
canhelp
/
node_modules
/
kysely
/
dist
/
esm
/
schema
/
/opt/canhelp/node_modules/kysely/dist/esm/schema
mkdir
upload
Name
Size
Mode
Actions
alter-column-builder.d.ts
1949
0644
edit
dl
rm
alter-column-builder.js
2325
0644
edit
dl
rm
alter-table-add-foreign-key-constraint-builder.d.ts
1860
0644
edit
dl
rm
alter-table-add-foreign-key-constraint-builder.js
2377
0644
edit
dl
rm
alter-table-add-index-builder.d.ts
4248
0644
edit
dl
rm
alter-table-add-index-builder.js
4941
0644
edit
dl
rm
alter-table-builder.d.ts
7154
0644
edit
dl
rm
alter-table-builder.js
11336
0644
edit
dl
rm
alter-table-drop-constraint-builder.d.ts
1193
0644
edit
dl
rm
alter-table-drop-constraint-builder.js
2017
0644
edit
dl
rm
alter-table-executor.d.ts
819
0644
edit
dl
rm
alter-table-executor.js
551
0644
edit
dl
rm
check-constraint-builder.d.ts
655
0644
edit
dl
rm
check-constraint-builder.js
428
0644
edit
dl
rm
column-definition-builder.d.ts
14056
0644
edit
dl
rm
column-definition-builder.js
17401
0644
edit
dl
rm
create-index-builder.d.ts
6063
0644
edit
dl
rm
create-index-builder.js
5983
0644
edit
dl
rm
create-schema-builder.d.ts
1059
0644
edit
dl
rm
create-schema-builder.js
1028
0644
edit
dl
rm
create-table-builder.d.ts
11121
0644
edit
dl
rm
create-table-builder.js
13701
0644
edit
dl
rm
create-type-builder.d.ts
1236
0644
edit
dl
rm
create-type-builder.js
1179
0644
edit
dl
rm
create-view-builder.d.ts
2101
0644
edit
dl
rm
create-view-builder.js
3082
0644
edit
dl
rm
drop-index-builder.d.ts
1219
0644
edit
dl
rm
drop-index-builder.js
1631
0644
edit
dl
rm
drop-schema-builder.d.ts
1074
0644
edit
dl
rm
drop-schema-builder.js
1250
0644
edit
dl
rm
drop-table-builder.d.ts
1065
0644
edit
dl
rm
drop-table-builder.js
1242
0644
edit
dl
rm
drop-type-builder.d.ts
1024
0644
edit
dl
rm
drop-type-builder.js
1027
0644
edit
dl
rm
drop-view-builder.d.ts
1093
0644
edit
dl
rm
drop-view-builder.js
1451
0644
edit
dl
rm
foreign-key-constraint-builder.d.ts
1462
0644
edit
dl
rm
foreign-key-constraint-builder.js
1663
0644
edit
dl
rm
primary-key-constraint-builder.d.ts
897
0644
edit
dl
rm
primary-key-constraint-builder.js
1180
0644
edit
dl
rm
refresh-materialized-view-builder.d.ts
1954
0644
edit
dl
rm
refresh-materialized-view-builder.js
2391
0644
edit
dl
rm
schema.d.ts
6271
0644
edit
dl
rm
schema.js
9490
0644
edit
dl
rm
unique-constraint-builder.d.ts
1069
0644
edit
dl
rm
unique-constraint-builder.js
1437
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/kysely/dist/esm/schema/create-index-builder.js
(5983B)
/// <reference types="./create-index-builder.d.ts" /> import { CreateIndexNode, } from '../operation-node/create-index-node.js'; import { RawNode } from '../operation-node/raw-node.js'; import { parseOrderedColumnName, } from '../parser/reference-parser.js'; import { parseTable } from '../parser/table-parser.js'; import { freeze } from '../util/object-utils.js'; import { parseValueBinaryOperationOrExpression, } from '../parser/binary-operation-parser.js'; import { QueryNode } from '../operation-node/query-node.js'; import { ImmediateValueTransformer } from '../plugin/immediate-value/immediate-value-transformer.js'; export class CreateIndexBuilder { #props; constructor(props) { this.#props = freeze(props); } /** * Adds the "if not exists" modifier. * * If the index already exists, no error is thrown if this method has been called. */ ifNotExists() { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWith(this.#props.node, { ifNotExists: true, }), }); } /** * Makes the index unique. */ unique() { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWith(this.#props.node, { unique: true, }), }); } /** * Adds `nulls not distinct` specifier to index. * This only works on some dialects like PostgreSQL. * * ### Examples * * ```ts * db.schema.createIndex('person_first_name_index') * .on('person') * .column('first_name') * .nullsNotDistinct() * .execute() * ``` * * The generated SQL (PostgreSQL): * * ```sql * create index "person_first_name_index" * on "test" ("first_name") * nulls not distinct; * ``` */ nullsNotDistinct() { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWith(this.#props.node, { nullsNotDistinct: true, }), }); } /** * Specifies the table for the index. */ on(table) { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWith(this.#props.node, { table: parseTable(table), }), }); } /** * 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 * * ```ts * await db.schema * .createIndex('person_first_name_and_age_index') * .on('person') * .column('first_name') * .column('age desc') * .execute() * ``` * * The generated SQL (PostgreSQL): * * ```sql * create index "person_first_name_and_age_index" on "person" ("first_name", "age" desc) * ``` */ column(column) { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWithColumns(this.#props.node, [ parseOrderedColumnName(column), ]), }); } /** * 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 * * ```ts * await db.schema * .createIndex('person_first_name_and_age_index') * .on('person') * .columns(['first_name', 'age desc']) * .execute() * ``` * * The generated SQL (PostgreSQL): * * ```sql * create index "person_first_name_and_age_index" on "person" ("first_name", "age" desc) * ``` */ columns(columns) { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWithColumns(this.#props.node, columns.map(parseOrderedColumnName)), }); } /** * Specifies an arbitrary expression for the index. * * ### Examples * * ```ts * import { sql } from 'kysely' * * await db.schema * .createIndex('person_first_name_index') * .on('person') * .expression(sql`first_name COLLATE "fi_FI"`) * .execute() * ``` * * The generated SQL (PostgreSQL): * * ```sql * create index "person_first_name_index" on "person" (first_name COLLATE "fi_FI") * ``` */ expression(expression) { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWithColumns(this.#props.node, [ expression.toOperationNode(), ]), }); } using(indexType) { return new CreateIndexBuilder({ ...this.#props, node: CreateIndexNode.cloneWith(this.#props.node, { using: RawNode.createWithSql(indexType), }), }); } where(...args) { const transformer = new ImmediateValueTransformer(); return new CreateIndexBuilder({ ...this.#props, node: QueryNode.cloneWithWhere(this.#props.node, transformer.transformNode(parseValueBinaryOperationOrExpression(args), this.#props.queryId)), }); } /** * Simply calls the provided function passing `this` as the only argument. `$call` returns * what the provided function returns. */ $call(func) { return func(this); } toOperationNode() { return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); } compile() { return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); } async execute() { await this.#props.executor.executeQuery(this.compile()); } }
Save
cmd:
run