kysely 0.11.4 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -11
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +36 -0
- package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +38 -2
- package/dist/cjs/dialect/mysql/mysql-adapter.js +2 -1
- package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +16 -0
- package/dist/cjs/dialect/mysql/mysql-driver.d.ts +29 -0
- package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +3 -0
- package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +38 -2
- package/dist/cjs/dialect/postgres/postgres-adapter.js +2 -1
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +16 -0
- package/dist/cjs/dialect/postgres/postgres-driver.d.ts +29 -0
- package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +3 -0
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +38 -2
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +16 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +29 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +3 -0
- package/dist/cjs/driver/default-connection-provider.d.ts +4 -0
- package/dist/cjs/driver/runtime-driver.d.ts +29 -0
- package/dist/cjs/driver/single-connection-provider.d.ts +4 -0
- package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +1 -0
- package/dist/cjs/dynamic/dynamic-reference-builder.js +9 -1
- package/dist/cjs/dynamic/dynamic.d.ts +6 -7
- package/dist/cjs/dynamic/dynamic.js +6 -7
- package/dist/cjs/index.d.ts +15 -4
- package/dist/cjs/index.js +12 -1
- package/dist/cjs/kysely.d.ts +170 -11
- package/dist/cjs/kysely.js +69 -9
- package/dist/cjs/migration/migration.d.ts +156 -13
- package/dist/cjs/migration/migration.js +256 -135
- package/dist/cjs/operation-node/column-definition-node.d.ts +6 -5
- package/dist/cjs/operation-node/column-definition-node.js +0 -4
- package/dist/cjs/operation-node/common-table-expression-name-node.d.ts +15 -0
- package/dist/cjs/operation-node/common-table-expression-name-node.js +23 -0
- package/dist/cjs/operation-node/common-table-expression-node.d.ts +3 -3
- package/dist/cjs/operation-node/create-table-node.d.ts +6 -2
- package/dist/cjs/operation-node/create-table-node.js +6 -6
- package/dist/cjs/operation-node/create-view-node.d.ts +1 -0
- package/dist/cjs/operation-node/insert-query-node.d.ts +4 -4
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +4 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +22 -2
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +4 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +2 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/query-node.d.ts +0 -2
- package/dist/cjs/operation-node/query-node.js +0 -10
- package/dist/cjs/operation-node/values-node.d.ts +15 -0
- package/dist/cjs/operation-node/values-node.js +18 -0
- package/dist/cjs/operation-node/with-node.d.ts +3 -1
- package/dist/cjs/operation-node/with-node.js +2 -1
- package/dist/cjs/package.json +1 -3
- package/dist/cjs/parser/complex-expression-parser.d.ts +9 -0
- package/dist/cjs/parser/complex-expression-parser.js +25 -0
- package/dist/cjs/parser/filter-parser.d.ts +13 -4
- package/dist/cjs/parser/filter-parser.js +21 -24
- package/dist/cjs/parser/insert-values-parser.d.ts +5 -9
- package/dist/cjs/parser/insert-values-parser.js +27 -41
- package/dist/cjs/parser/order-by-parser.d.ts +1 -1
- package/dist/cjs/parser/parse-context.d.ts +22 -8
- package/dist/cjs/parser/parse-context.js +10 -10
- package/dist/cjs/parser/reference-parser.d.ts +8 -7
- package/dist/cjs/parser/reference-parser.js +8 -17
- package/dist/cjs/parser/returning-parser.d.ts +1 -5
- package/dist/cjs/parser/select-parser.d.ts +12 -14
- package/dist/cjs/parser/select-parser.js +5 -9
- package/dist/cjs/parser/table-parser.d.ts +9 -11
- package/dist/cjs/parser/table-parser.js +2 -8
- package/dist/cjs/parser/union-parser.d.ts +2 -2
- package/dist/cjs/parser/union-parser.js +1 -6
- package/dist/cjs/parser/update-set-parser.d.ts +2 -8
- package/dist/cjs/parser/update-set-parser.js +6 -26
- package/dist/cjs/parser/value-parser.d.ts +9 -6
- package/dist/cjs/parser/value-parser.js +7 -30
- package/dist/cjs/parser/with-parser.d.ts +36 -6
- package/dist/cjs/parser/with-parser.js +13 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +36 -2
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +34 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.js +2 -2
- package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +34 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +8 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +647 -0
- package/dist/cjs/query-builder/delete-query-builder.js +185 -0
- package/dist/cjs/query-builder/expression-builder.d.ts +8 -6
- package/dist/cjs/query-builder/expression-builder.js +3 -3
- package/dist/cjs/query-builder/function-builder.d.ts +2 -1
- package/dist/cjs/query-builder/function-builder.js +2 -1
- package/dist/cjs/query-builder/having-interface.d.ts +49 -0
- package/dist/cjs/query-builder/having-interface.js +2 -0
- package/dist/cjs/query-builder/insert-query-builder.d.ts +504 -0
- package/dist/cjs/query-builder/insert-query-builder.js +256 -0
- package/dist/cjs/query-builder/insert-result.d.ts +3 -2
- package/dist/cjs/query-builder/insert-result.js +3 -2
- package/dist/cjs/query-builder/join-builder.d.ts +19 -20
- package/dist/cjs/query-builder/join-builder.js +12 -12
- package/dist/cjs/query-builder/join-interface.d.ts +130 -0
- package/dist/cjs/query-builder/join-interface.js +2 -0
- package/dist/cjs/query-builder/no-result-error.d.ts +9 -0
- package/dist/cjs/query-builder/no-result-error.js +14 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +73 -0
- package/dist/cjs/query-builder/returning-interface.js +2 -0
- package/dist/cjs/query-builder/{query-builder.d.ts → select-query-builder.d.ts} +145 -651
- package/dist/cjs/query-builder/select-query-builder.js +571 -0
- package/dist/cjs/query-builder/update-query-builder.d.ts +735 -0
- package/dist/cjs/query-builder/update-query-builder.js +279 -0
- package/dist/cjs/query-builder/where-interface.d.ts +378 -0
- package/dist/cjs/query-builder/where-interface.js +2 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +4 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +37 -6
- package/dist/cjs/query-creator.d.ts +69 -43
- package/dist/cjs/query-creator.js +66 -29
- package/dist/cjs/query-executor/default-query-executor.d.ts +19 -0
- package/dist/cjs/query-executor/noop-query-executor.d.ts +19 -0
- package/dist/cjs/query-executor/query-executor.d.ts +1 -1
- package/dist/cjs/query-executor/query-executor.js +1 -1
- package/dist/cjs/raw-builder/raw-builder.d.ts +2 -0
- package/dist/cjs/raw-builder/raw-builder.js +7 -1
- package/dist/cjs/schema/alter-table-builder.d.ts +230 -2
- package/dist/cjs/schema/alter-table-builder.js +12 -0
- package/dist/cjs/schema/column-definition-builder.d.ts +147 -20
- package/dist/cjs/schema/column-definition-builder.js +4 -1
- package/dist/cjs/schema/create-index-builder.d.ts +2 -1
- package/dist/cjs/schema/create-index-builder.js +2 -1
- package/dist/cjs/schema/create-table-builder.d.ts +26 -9
- package/dist/cjs/schema/create-table-builder.js +42 -9
- package/dist/cjs/schema/create-view-builder.d.ts +17 -3
- package/dist/cjs/schema/create-view-builder.js +25 -16
- package/dist/cjs/schema/schema.d.ts +18 -11
- package/dist/cjs/schema/schema.js +18 -11
- package/dist/cjs/util/log.d.ts +3 -2
- package/dist/cjs/util/log.js +8 -15
- package/dist/cjs/util/type-utils.d.ts +7 -7
- package/dist/esm/dialect/dialect-adapter-base.d.ts +36 -0
- package/dist/esm/dialect/mysql/mysql-adapter.d.ts +38 -2
- package/dist/esm/dialect/mysql/mysql-adapter.js +2 -1
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +16 -0
- package/dist/esm/dialect/mysql/mysql-driver.d.ts +29 -0
- package/dist/esm/dialect/mysql/mysql-introspector.d.ts +3 -0
- package/dist/esm/dialect/postgres/postgres-adapter.d.ts +38 -2
- package/dist/esm/dialect/postgres/postgres-adapter.js +2 -1
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +16 -0
- package/dist/esm/dialect/postgres/postgres-driver.d.ts +29 -0
- package/dist/esm/dialect/postgres/postgres-introspector.d.ts +3 -0
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +38 -2
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +16 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +29 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +3 -0
- package/dist/esm/driver/default-connection-provider.d.ts +4 -0
- package/dist/esm/driver/runtime-driver.d.ts +29 -0
- package/dist/esm/driver/single-connection-provider.d.ts +4 -0
- package/dist/esm/dynamic/dynamic-reference-builder.d.ts +1 -0
- package/dist/esm/dynamic/dynamic-reference-builder.js +7 -0
- package/dist/esm/dynamic/dynamic.d.ts +6 -7
- package/dist/esm/dynamic/dynamic.js +6 -7
- package/dist/esm/index.d.ts +15 -4
- package/dist/esm/index.js +12 -1
- package/dist/esm/kysely.d.ts +170 -11
- package/dist/esm/kysely.js +69 -9
- package/dist/esm/migration/migration.d.ts +156 -13
- package/dist/esm/migration/migration.js +255 -134
- package/dist/esm/operation-node/column-definition-node.d.ts +6 -5
- package/dist/esm/operation-node/column-definition-node.js +0 -4
- package/dist/esm/operation-node/common-table-expression-name-node.d.ts +15 -0
- package/dist/esm/operation-node/common-table-expression-name-node.js +20 -0
- package/dist/esm/operation-node/common-table-expression-node.d.ts +3 -3
- package/dist/esm/operation-node/create-table-node.d.ts +6 -2
- package/dist/esm/operation-node/create-table-node.js +6 -6
- package/dist/esm/operation-node/create-view-node.d.ts +1 -0
- package/dist/esm/operation-node/insert-query-node.d.ts +4 -4
- package/dist/esm/operation-node/operation-node-transformer.d.ts +4 -0
- package/dist/esm/operation-node/operation-node-transformer.js +22 -2
- package/dist/esm/operation-node/operation-node-visitor.d.ts +4 -0
- package/dist/esm/operation-node/operation-node-visitor.js +2 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/query-node.d.ts +0 -2
- package/dist/esm/operation-node/query-node.js +0 -10
- package/dist/esm/operation-node/values-node.d.ts +15 -0
- package/dist/esm/operation-node/values-node.js +15 -0
- package/dist/esm/operation-node/with-node.d.ts +3 -1
- package/dist/esm/operation-node/with-node.js +2 -1
- package/dist/esm/package.json +1 -3
- package/dist/esm/parser/complex-expression-parser.d.ts +9 -0
- package/dist/esm/parser/complex-expression-parser.js +20 -0
- package/dist/esm/parser/filter-parser.d.ts +13 -4
- package/dist/esm/parser/filter-parser.js +21 -24
- package/dist/esm/parser/insert-values-parser.d.ts +5 -9
- package/dist/esm/parser/insert-values-parser.js +27 -40
- package/dist/esm/parser/order-by-parser.d.ts +1 -1
- package/dist/esm/parser/parse-context.d.ts +22 -8
- package/dist/esm/parser/parse-context.js +10 -10
- package/dist/esm/parser/reference-parser.d.ts +8 -7
- package/dist/esm/parser/reference-parser.js +9 -18
- package/dist/esm/parser/returning-parser.d.ts +1 -5
- package/dist/esm/parser/select-parser.d.ts +12 -14
- package/dist/esm/parser/select-parser.js +6 -10
- package/dist/esm/parser/table-parser.d.ts +9 -11
- package/dist/esm/parser/table-parser.js +3 -9
- package/dist/esm/parser/union-parser.d.ts +2 -2
- package/dist/esm/parser/union-parser.js +1 -6
- package/dist/esm/parser/update-set-parser.d.ts +2 -8
- package/dist/esm/parser/update-set-parser.js +5 -24
- package/dist/esm/parser/value-parser.d.ts +9 -6
- package/dist/esm/parser/value-parser.js +8 -31
- package/dist/esm/parser/with-parser.d.ts +36 -6
- package/dist/esm/parser/with-parser.js +13 -2
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +36 -2
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +34 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +2 -2
- package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +34 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +8 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +647 -0
- package/dist/esm/query-builder/delete-query-builder.js +181 -0
- package/dist/esm/query-builder/expression-builder.d.ts +8 -6
- package/dist/esm/query-builder/expression-builder.js +3 -3
- package/dist/esm/query-builder/function-builder.d.ts +2 -1
- package/dist/esm/query-builder/function-builder.js +2 -1
- package/dist/esm/query-builder/having-interface.d.ts +49 -0
- package/dist/esm/query-builder/having-interface.js +1 -0
- package/dist/esm/query-builder/insert-query-builder.d.ts +504 -0
- package/dist/esm/query-builder/insert-query-builder.js +252 -0
- package/dist/esm/query-builder/insert-result.d.ts +3 -2
- package/dist/esm/query-builder/insert-result.js +3 -2
- package/dist/esm/query-builder/join-builder.d.ts +19 -20
- package/dist/esm/query-builder/join-builder.js +12 -12
- package/dist/esm/query-builder/join-interface.d.ts +130 -0
- package/dist/esm/query-builder/join-interface.js +1 -0
- package/dist/esm/query-builder/no-result-error.d.ts +9 -0
- package/dist/esm/query-builder/no-result-error.js +10 -0
- package/dist/esm/query-builder/returning-interface.d.ts +73 -0
- package/dist/esm/query-builder/returning-interface.js +1 -0
- package/dist/esm/query-builder/{query-builder.d.ts → select-query-builder.d.ts} +145 -651
- package/dist/esm/query-builder/select-query-builder.js +566 -0
- package/dist/esm/query-builder/update-query-builder.d.ts +735 -0
- package/dist/esm/query-builder/update-query-builder.js +275 -0
- package/dist/esm/query-builder/where-interface.d.ts +378 -0
- package/dist/esm/query-builder/where-interface.js +1 -0
- package/dist/esm/query-compiler/default-query-compiler.d.ts +4 -0
- package/dist/esm/query-compiler/default-query-compiler.js +37 -6
- package/dist/esm/query-creator.d.ts +69 -43
- package/dist/esm/query-creator.js +66 -29
- package/dist/esm/query-executor/default-query-executor.d.ts +19 -0
- package/dist/esm/query-executor/noop-query-executor.d.ts +19 -0
- package/dist/esm/query-executor/query-executor.d.ts +1 -1
- package/dist/esm/query-executor/query-executor.js +1 -1
- package/dist/esm/raw-builder/raw-builder.d.ts +2 -0
- package/dist/esm/raw-builder/raw-builder.js +7 -1
- package/dist/esm/schema/alter-table-builder.d.ts +230 -2
- package/dist/esm/schema/alter-table-builder.js +12 -0
- package/dist/esm/schema/column-definition-builder.d.ts +147 -20
- package/dist/esm/schema/column-definition-builder.js +4 -1
- package/dist/esm/schema/create-index-builder.d.ts +2 -1
- package/dist/esm/schema/create-index-builder.js +2 -1
- package/dist/esm/schema/create-table-builder.d.ts +26 -9
- package/dist/esm/schema/create-table-builder.js +43 -10
- package/dist/esm/schema/create-view-builder.d.ts +17 -3
- package/dist/esm/schema/create-view-builder.js +25 -16
- package/dist/esm/schema/schema.d.ts +18 -11
- package/dist/esm/schema/schema.js +18 -11
- package/dist/esm/util/log.d.ts +3 -2
- package/dist/esm/util/log.js +7 -14
- package/dist/esm/util/type-utils.d.ts +7 -7
- package/package.json +10 -8
- package/dist/cjs/query-builder/query-builder.js +0 -1067
- package/dist/esm/query-builder/query-builder.js +0 -1061
|
@@ -8,10 +8,29 @@ import { KyselyPlugin } from '../plugin/kysely-plugin.js';
|
|
|
8
8
|
* other needed things to actually execute queries.
|
|
9
9
|
*/
|
|
10
10
|
export declare class NoopQueryExecutor extends QueryExecutor {
|
|
11
|
+
/**
|
|
12
|
+
* Compiles the transformed query into SQL. You usually want to pass
|
|
13
|
+
* the output of {@link transformQuery} into this method but you can
|
|
14
|
+
* compile any query using this method.
|
|
15
|
+
*/
|
|
11
16
|
compileQuery(): CompiledQuery;
|
|
12
17
|
protected executeQueryImpl<R>(): Promise<QueryResult<R>>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a copy of this executor with a new connection provider.
|
|
20
|
+
*/
|
|
13
21
|
withConnectionProvider(): QueryExecutor;
|
|
22
|
+
/**
|
|
23
|
+
* Returns a copy of this executor with a plugin added as the
|
|
24
|
+
* last plugin.
|
|
25
|
+
*/
|
|
14
26
|
withPlugin(plugin: KyselyPlugin): NoopQueryExecutor;
|
|
27
|
+
/**
|
|
28
|
+
* Returns a copy of this executor with a plugin added as the
|
|
29
|
+
* first plugin.
|
|
30
|
+
*/
|
|
15
31
|
withPluginAtFront(plugin: KyselyPlugin): NoopQueryExecutor;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a copy of this executor without any plugins.
|
|
34
|
+
*/
|
|
16
35
|
withoutPlugins(): QueryExecutor;
|
|
17
36
|
}
|
|
@@ -6,7 +6,7 @@ import { KyselyPlugin } from '../plugin/kysely-plugin.js';
|
|
|
6
6
|
import { QueryId } from '../util/query-id.js';
|
|
7
7
|
/**
|
|
8
8
|
* This class abstracts away the details of how to compile a query into SQL
|
|
9
|
-
* and execute it. Instead of passing around all those details, {@link
|
|
9
|
+
* and execute it. Instead of passing around all those details, {@link SelectQueryBuilder}
|
|
10
10
|
* and other classes that execute queries can just pass around and instance of
|
|
11
11
|
* `QueryExecutor`.
|
|
12
12
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { freeze } from '../util/object-utils.js';
|
|
2
2
|
/**
|
|
3
3
|
* This class abstracts away the details of how to compile a query into SQL
|
|
4
|
-
* and execute it. Instead of passing around all those details, {@link
|
|
4
|
+
* and execute it. Instead of passing around all those details, {@link SelectQueryBuilder}
|
|
5
5
|
* and other classes that execute queries can just pass around and instance of
|
|
6
6
|
* `QueryExecutor`.
|
|
7
7
|
*/
|
|
@@ -5,6 +5,7 @@ import { RawNode } from '../operation-node/raw-node.js';
|
|
|
5
5
|
import { CompiledQuery } from '../query-compiler/compiled-query.js';
|
|
6
6
|
import { QueryExecutor } from '../query-executor/query-executor.js';
|
|
7
7
|
import { QueryId } from '../util/query-id.js';
|
|
8
|
+
import { KyselyPlugin } from '../plugin/kysely-plugin.js';
|
|
8
9
|
export declare class RawBuilder<O = unknown> implements OperationNodeSource {
|
|
9
10
|
#private;
|
|
10
11
|
constructor(props: RawBuilderProps);
|
|
@@ -16,6 +17,7 @@ export declare class RawBuilder<O = unknown> implements OperationNodeSource {
|
|
|
16
17
|
* of this `RawBuilder` with a new output type.
|
|
17
18
|
*/
|
|
18
19
|
castTo<T>(): RawBuilder<T>;
|
|
20
|
+
withPlugin(plugin: KyselyPlugin): RawBuilder<O>;
|
|
19
21
|
toOperationNode(): RawNode;
|
|
20
22
|
compile(): CompiledQuery;
|
|
21
23
|
execute(): Promise<QueryResult<O>>;
|
|
@@ -24,6 +24,12 @@ export class RawBuilder {
|
|
|
24
24
|
...this.#props,
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
+
withPlugin(plugin) {
|
|
28
|
+
return new RawBuilder({
|
|
29
|
+
...this.#props,
|
|
30
|
+
executor: this.#props.executor.withPlugin(plugin),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
27
33
|
toOperationNode() {
|
|
28
34
|
const parameterPlaceholderRegex = /(\?\??)/g;
|
|
29
35
|
const sql = this.#props.sql;
|
|
@@ -41,7 +47,7 @@ export class RawBuilder {
|
|
|
41
47
|
if (match.index > 0 && sql[match.index - 1] === '\\') {
|
|
42
48
|
continue;
|
|
43
49
|
}
|
|
44
|
-
sqlFragments.push(sql.slice(sqlIdx, match.index).
|
|
50
|
+
sqlFragments.push(sql.slice(sqlIdx, match.index).replace(/\\\?/g, '?'));
|
|
45
51
|
argNodes.push(parseRawArg(str, parameters[paramIdx]));
|
|
46
52
|
sqlIdx = match.index + str.length;
|
|
47
53
|
++paramIdx;
|
|
@@ -60,19 +60,133 @@ export declare class AlterTableExecutor implements OperationNodeSource, Compilab
|
|
|
60
60
|
}
|
|
61
61
|
export interface AlterTableExecutorProps extends AlterTableBuilderProps {
|
|
62
62
|
}
|
|
63
|
-
export declare class AlterTableAddColumnBuilder implements ColumnDefinitionBuilderInterface
|
|
63
|
+
export declare class AlterTableAddColumnBuilder implements ColumnDefinitionBuilderInterface, OperationNodeSource, Compilable {
|
|
64
64
|
#private;
|
|
65
65
|
constructor(props: AlterTableAddColumnBuilderProps);
|
|
66
|
+
/**
|
|
67
|
+
* Adds `auto_increment` or `autoincrement` to the column definition
|
|
68
|
+
* depending on the dialect.
|
|
69
|
+
*
|
|
70
|
+
* Some dialects like PostgreSQL don't support this. On PostgreSQL
|
|
71
|
+
* you can use the `serial` or `bigserial` data type instead.
|
|
72
|
+
*/
|
|
66
73
|
autoIncrement(): AlterTableAddColumnBuilder;
|
|
74
|
+
/**
|
|
75
|
+
* Makes the column the primary key.
|
|
76
|
+
*
|
|
77
|
+
* If you want to specify a composite primary key use the
|
|
78
|
+
* {@link TableBuilder.addPrimaryKeyConstraint} method.
|
|
79
|
+
*/
|
|
67
80
|
primaryKey(): AlterTableAddColumnBuilder;
|
|
81
|
+
/**
|
|
82
|
+
* Adds a foreign key constraint for the column.
|
|
83
|
+
*
|
|
84
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
85
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
86
|
+
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
87
|
+
*
|
|
88
|
+
* ### Examples
|
|
89
|
+
*
|
|
90
|
+
* ```ts
|
|
91
|
+
* col.references('person.id')
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
68
94
|
references(ref: string): AlterTableAddColumnBuilder;
|
|
95
|
+
/**
|
|
96
|
+
* Adds an `on delete` constraint for the foreign key column.
|
|
97
|
+
*
|
|
98
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
99
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
100
|
+
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
101
|
+
*
|
|
102
|
+
* ### Examples
|
|
103
|
+
*
|
|
104
|
+
* ```ts
|
|
105
|
+
* col.references('person.id').onDelete('cascade')
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
69
108
|
onDelete(onDelete: OnModifyForeignAction): AlterTableAddColumnBuilder;
|
|
109
|
+
/**
|
|
110
|
+
* Adds an `on update` constraint for the foreign key column.
|
|
111
|
+
*
|
|
112
|
+
* ### Examples
|
|
113
|
+
*
|
|
114
|
+
* ```ts
|
|
115
|
+
* col.references('person.id').onUpdate('cascade')
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
70
118
|
onUpdate(onDelete: OnModifyForeignAction): AlterTableAddColumnBuilder;
|
|
119
|
+
/**
|
|
120
|
+
* Adds a unique constraint for the column.
|
|
121
|
+
*/
|
|
71
122
|
unique(): AlterTableAddColumnBuilder;
|
|
123
|
+
/**
|
|
124
|
+
* Adds a `not null` constraint for the column.
|
|
125
|
+
*/
|
|
72
126
|
notNull(): AlterTableAddColumnBuilder;
|
|
127
|
+
/**
|
|
128
|
+
* Adds a `unsigned` modifier for the column.
|
|
129
|
+
*
|
|
130
|
+
* This only works on some dialects like MySQL.
|
|
131
|
+
*/
|
|
132
|
+
unsigned(): AlterTableAddColumnBuilder;
|
|
133
|
+
/**
|
|
134
|
+
* Adds a default value constraint for the column.
|
|
135
|
+
*
|
|
136
|
+
* ### Examples
|
|
137
|
+
*
|
|
138
|
+
* ```ts
|
|
139
|
+
* db.schema
|
|
140
|
+
* .createTable('pet')
|
|
141
|
+
* .addColumn('number_of_legs', 'integer', (col) => col.defaultTo(4))
|
|
142
|
+
* .execute()
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
73
145
|
defaultTo(value: PrimitiveValue | AnyRawBuilder): AlterTableAddColumnBuilder;
|
|
146
|
+
/**
|
|
147
|
+
* Adds a check constraint for the column.
|
|
148
|
+
*
|
|
149
|
+
* ### Examples
|
|
150
|
+
*
|
|
151
|
+
* ```ts
|
|
152
|
+
* db.schema
|
|
153
|
+
* .createTable('pet')
|
|
154
|
+
* .addColumn('number_of_legs', 'integer', (col) => col.check('number_of_legs < 5'))
|
|
155
|
+
* .execute()
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
74
158
|
check(sql: string): AlterTableAddColumnBuilder;
|
|
159
|
+
/**
|
|
160
|
+
* Makes the column a generated column using a `generated always as` statement.
|
|
161
|
+
*
|
|
162
|
+
* ### Examples
|
|
163
|
+
*
|
|
164
|
+
* ```ts
|
|
165
|
+
* db.schema
|
|
166
|
+
* .createTable('person')
|
|
167
|
+
* .addColumn('full_name', 'varchar(255)',
|
|
168
|
+
* (col) => col.generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
169
|
+
* )
|
|
170
|
+
* .execute()
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
75
173
|
generatedAlwaysAs(sql: string): AlterTableAddColumnBuilder;
|
|
174
|
+
/**
|
|
175
|
+
* Makes a generated column stored instead of virtual. This method can only
|
|
176
|
+
* be used with {@link generatedAlwaysAs}
|
|
177
|
+
*
|
|
178
|
+
* ### Examples
|
|
179
|
+
*
|
|
180
|
+
* ```ts
|
|
181
|
+
* db.schema
|
|
182
|
+
* .createTable('person')
|
|
183
|
+
* .addColumn('full_name', 'varchar(255)', (col) => col
|
|
184
|
+
* .generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
185
|
+
* .stored()
|
|
186
|
+
* )
|
|
187
|
+
* .execute()
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
76
190
|
stored(): AlterTableAddColumnBuilder;
|
|
77
191
|
toOperationNode(): AlterTableNode;
|
|
78
192
|
compile(): CompiledQuery;
|
|
@@ -81,19 +195,133 @@ export declare class AlterTableAddColumnBuilder implements ColumnDefinitionBuild
|
|
|
81
195
|
export interface AlterTableAddColumnBuilderProps extends AlterTableBuilderProps {
|
|
82
196
|
readonly columnBuilder: ColumnDefinitionBuilder;
|
|
83
197
|
}
|
|
84
|
-
export declare class AlterTableModifyColumnBuilder implements ColumnDefinitionBuilderInterface
|
|
198
|
+
export declare class AlterTableModifyColumnBuilder implements ColumnDefinitionBuilderInterface, OperationNodeSource, Compilable {
|
|
85
199
|
#private;
|
|
86
200
|
constructor(props: AlterTableModifyColumnBuilderProps);
|
|
201
|
+
/**
|
|
202
|
+
* Adds `auto_increment` or `autoincrement` to the column definition
|
|
203
|
+
* depending on the dialect.
|
|
204
|
+
*
|
|
205
|
+
* Some dialects like PostgreSQL don't support this. On PostgreSQL
|
|
206
|
+
* you can use the `serial` or `bigserial` data type instead.
|
|
207
|
+
*/
|
|
87
208
|
autoIncrement(): AlterTableModifyColumnBuilder;
|
|
209
|
+
/**
|
|
210
|
+
* Makes the column the primary key.
|
|
211
|
+
*
|
|
212
|
+
* If you want to specify a composite primary key use the
|
|
213
|
+
* {@link TableBuilder.addPrimaryKeyConstraint} method.
|
|
214
|
+
*/
|
|
88
215
|
primaryKey(): AlterTableModifyColumnBuilder;
|
|
216
|
+
/**
|
|
217
|
+
* Adds a foreign key constraint for the column.
|
|
218
|
+
*
|
|
219
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
220
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
221
|
+
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
222
|
+
*
|
|
223
|
+
* ### Examples
|
|
224
|
+
*
|
|
225
|
+
* ```ts
|
|
226
|
+
* col.references('person.id')
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
89
229
|
references(ref: string): AlterTableModifyColumnBuilder;
|
|
230
|
+
/**
|
|
231
|
+
* Adds an `on delete` constraint for the foreign key column.
|
|
232
|
+
*
|
|
233
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
234
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
235
|
+
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
236
|
+
*
|
|
237
|
+
* ### Examples
|
|
238
|
+
*
|
|
239
|
+
* ```ts
|
|
240
|
+
* col.references('person.id').onDelete('cascade')
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
90
243
|
onDelete(onDelete: OnModifyForeignAction): AlterTableModifyColumnBuilder;
|
|
244
|
+
/**
|
|
245
|
+
* Adds an `on update` constraint for the foreign key column.
|
|
246
|
+
*
|
|
247
|
+
* ### Examples
|
|
248
|
+
*
|
|
249
|
+
* ```ts
|
|
250
|
+
* col.references('person.id').onUpdate('cascade')
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
91
253
|
onUpdate(onUpdate: OnModifyForeignAction): AlterTableModifyColumnBuilder;
|
|
254
|
+
/**
|
|
255
|
+
* Adds a unique constraint for the column.
|
|
256
|
+
*/
|
|
92
257
|
unique(): AlterTableModifyColumnBuilder;
|
|
258
|
+
/**
|
|
259
|
+
* Adds a `not null` constraint for the column.
|
|
260
|
+
*/
|
|
93
261
|
notNull(): AlterTableModifyColumnBuilder;
|
|
262
|
+
/**
|
|
263
|
+
* Adds a `unsigned` modifier for the column.
|
|
264
|
+
*
|
|
265
|
+
* This only works on some dialects like MySQL.
|
|
266
|
+
*/
|
|
267
|
+
unsigned(): AlterTableModifyColumnBuilder;
|
|
268
|
+
/**
|
|
269
|
+
* Adds a default value constraint for the column.
|
|
270
|
+
*
|
|
271
|
+
* ### Examples
|
|
272
|
+
*
|
|
273
|
+
* ```ts
|
|
274
|
+
* db.schema
|
|
275
|
+
* .createTable('pet')
|
|
276
|
+
* .addColumn('number_of_legs', 'integer', (col) => col.defaultTo(4))
|
|
277
|
+
* .execute()
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
94
280
|
defaultTo(value: PrimitiveValue | AnyRawBuilder): AlterTableModifyColumnBuilder;
|
|
281
|
+
/**
|
|
282
|
+
* Adds a check constraint for the column.
|
|
283
|
+
*
|
|
284
|
+
* ### Examples
|
|
285
|
+
*
|
|
286
|
+
* ```ts
|
|
287
|
+
* db.schema
|
|
288
|
+
* .createTable('pet')
|
|
289
|
+
* .addColumn('number_of_legs', 'integer', (col) => col.check('number_of_legs < 5'))
|
|
290
|
+
* .execute()
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
95
293
|
check(sql: string): AlterTableModifyColumnBuilder;
|
|
294
|
+
/**
|
|
295
|
+
* Makes the column a generated column using a `generated always as` statement.
|
|
296
|
+
*
|
|
297
|
+
* ### Examples
|
|
298
|
+
*
|
|
299
|
+
* ```ts
|
|
300
|
+
* db.schema
|
|
301
|
+
* .createTable('person')
|
|
302
|
+
* .addColumn('full_name', 'varchar(255)',
|
|
303
|
+
* (col) => col.generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
304
|
+
* )
|
|
305
|
+
* .execute()
|
|
306
|
+
* ```
|
|
307
|
+
*/
|
|
96
308
|
generatedAlwaysAs(sql: string): AlterTableModifyColumnBuilder;
|
|
309
|
+
/**
|
|
310
|
+
* Makes a generated column stored instead of virtual. This method can only
|
|
311
|
+
* be used with {@link generatedAlwaysAs}
|
|
312
|
+
*
|
|
313
|
+
* ### Examples
|
|
314
|
+
*
|
|
315
|
+
* ```ts
|
|
316
|
+
* db.schema
|
|
317
|
+
* .createTable('person')
|
|
318
|
+
* .addColumn('full_name', 'varchar(255)', (col) => col
|
|
319
|
+
* .generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
320
|
+
* .stored()
|
|
321
|
+
* )
|
|
322
|
+
* .execute()
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
97
325
|
stored(): AlterTableModifyColumnBuilder;
|
|
98
326
|
toOperationNode(): AlterTableNode;
|
|
99
327
|
compile(): CompiledQuery;
|
|
@@ -226,6 +226,12 @@ export class AlterTableAddColumnBuilder {
|
|
|
226
226
|
columnBuilder: this.#props.columnBuilder.notNull(),
|
|
227
227
|
});
|
|
228
228
|
}
|
|
229
|
+
unsigned() {
|
|
230
|
+
return new AlterTableAddColumnBuilder({
|
|
231
|
+
...this.#props,
|
|
232
|
+
columnBuilder: this.#props.columnBuilder.unsigned(),
|
|
233
|
+
});
|
|
234
|
+
}
|
|
229
235
|
defaultTo(value) {
|
|
230
236
|
return new AlterTableAddColumnBuilder({
|
|
231
237
|
...this.#props,
|
|
@@ -309,6 +315,12 @@ export class AlterTableModifyColumnBuilder {
|
|
|
309
315
|
columnBuilder: this.#props.columnBuilder.notNull(),
|
|
310
316
|
});
|
|
311
317
|
}
|
|
318
|
+
unsigned() {
|
|
319
|
+
return new AlterTableModifyColumnBuilder({
|
|
320
|
+
...this.#props,
|
|
321
|
+
columnBuilder: this.#props.columnBuilder.unsigned(),
|
|
322
|
+
});
|
|
323
|
+
}
|
|
312
324
|
defaultTo(value) {
|
|
313
325
|
return new AlterTableModifyColumnBuilder({
|
|
314
326
|
...this.#props,
|
|
@@ -4,7 +4,7 @@ import { PrimitiveValue } from '../util/object-utils.js';
|
|
|
4
4
|
import { ColumnDefinitionNode } from '../operation-node/column-definition-node.js';
|
|
5
5
|
import { AnyRawBuilder } from '../util/type-utils.js';
|
|
6
6
|
import { DefaultValueExpression } from '../parser/default-value-parser.js';
|
|
7
|
-
export interface ColumnDefinitionBuilderInterface
|
|
7
|
+
export interface ColumnDefinitionBuilderInterface {
|
|
8
8
|
/**
|
|
9
9
|
* Adds `auto_increment` or `autoincrement` to the column definition
|
|
10
10
|
* depending on the dialect.
|
|
@@ -12,14 +12,14 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
12
12
|
* Some dialects like PostgreSQL don't support this. On PostgreSQL
|
|
13
13
|
* you can use the `serial` or `bigserial` data type instead.
|
|
14
14
|
*/
|
|
15
|
-
autoIncrement():
|
|
15
|
+
autoIncrement(): ColumnDefinitionBuilderInterface;
|
|
16
16
|
/**
|
|
17
17
|
* Makes the column the primary key.
|
|
18
18
|
*
|
|
19
19
|
* If you want to specify a composite primary key use the
|
|
20
20
|
* {@link TableBuilder.addPrimaryKeyConstraint} method.
|
|
21
21
|
*/
|
|
22
|
-
primaryKey():
|
|
22
|
+
primaryKey(): ColumnDefinitionBuilderInterface;
|
|
23
23
|
/**
|
|
24
24
|
* Adds a foreign key constraint for the column.
|
|
25
25
|
*
|
|
@@ -27,12 +27,13 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
27
27
|
* column definition (like MySQL 5) you need to call the table level
|
|
28
28
|
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
29
29
|
*
|
|
30
|
-
*
|
|
30
|
+
* ### Examples
|
|
31
|
+
*
|
|
31
32
|
* ```ts
|
|
32
33
|
* col.references('person.id')
|
|
33
34
|
* ```
|
|
34
35
|
*/
|
|
35
|
-
references(ref: string):
|
|
36
|
+
references(ref: string): ColumnDefinitionBuilderInterface;
|
|
36
37
|
/**
|
|
37
38
|
* Adds an `on delete` constraint for the foreign key column.
|
|
38
39
|
*
|
|
@@ -40,33 +41,42 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
40
41
|
* column definition (like MySQL 5) you need to call the table level
|
|
41
42
|
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
42
43
|
*
|
|
43
|
-
*
|
|
44
|
+
* ### Examples
|
|
45
|
+
*
|
|
44
46
|
* ```ts
|
|
45
47
|
* col.references('person.id').onDelete('cascade')
|
|
46
48
|
* ```
|
|
47
49
|
*/
|
|
48
|
-
onDelete(onDelete: OnModifyForeignAction):
|
|
50
|
+
onDelete(onDelete: OnModifyForeignAction): ColumnDefinitionBuilderInterface;
|
|
49
51
|
/**
|
|
50
52
|
* Adds an `on update` constraint for the foreign key column.
|
|
51
53
|
*
|
|
52
|
-
*
|
|
54
|
+
* ### Examples
|
|
55
|
+
*
|
|
53
56
|
* ```ts
|
|
54
57
|
* col.references('person.id').onUpdate('cascade')
|
|
55
58
|
* ```
|
|
56
59
|
*/
|
|
57
|
-
onUpdate(onUpdate: OnModifyForeignAction):
|
|
60
|
+
onUpdate(onUpdate: OnModifyForeignAction): ColumnDefinitionBuilderInterface;
|
|
58
61
|
/**
|
|
59
62
|
* Adds a unique constraint for the column.
|
|
60
63
|
*/
|
|
61
|
-
unique():
|
|
64
|
+
unique(): ColumnDefinitionBuilderInterface;
|
|
62
65
|
/**
|
|
63
66
|
* Adds a `not null` constraint for the column.
|
|
64
67
|
*/
|
|
65
|
-
notNull():
|
|
68
|
+
notNull(): ColumnDefinitionBuilderInterface;
|
|
69
|
+
/**
|
|
70
|
+
* Adds a `unsigned` modifier for the column.
|
|
71
|
+
*
|
|
72
|
+
* This only works on some dialects like MySQL.
|
|
73
|
+
*/
|
|
74
|
+
unsigned(): ColumnDefinitionBuilderInterface;
|
|
66
75
|
/**
|
|
67
76
|
* Adds a default value constraint for the column.
|
|
68
77
|
*
|
|
69
|
-
*
|
|
78
|
+
* ### Examples
|
|
79
|
+
*
|
|
70
80
|
* ```ts
|
|
71
81
|
* db.schema
|
|
72
82
|
* .createTable('pet')
|
|
@@ -74,11 +84,12 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
74
84
|
* .execute()
|
|
75
85
|
* ```
|
|
76
86
|
*/
|
|
77
|
-
defaultTo(value: PrimitiveValue | AnyRawBuilder):
|
|
87
|
+
defaultTo(value: PrimitiveValue | AnyRawBuilder): ColumnDefinitionBuilderInterface;
|
|
78
88
|
/**
|
|
79
89
|
* Adds a check constraint for the column.
|
|
80
90
|
*
|
|
81
|
-
*
|
|
91
|
+
* ### Examples
|
|
92
|
+
*
|
|
82
93
|
* ```ts
|
|
83
94
|
* db.schema
|
|
84
95
|
* .createTable('pet')
|
|
@@ -86,11 +97,12 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
86
97
|
* .execute()
|
|
87
98
|
* ```
|
|
88
99
|
*/
|
|
89
|
-
check(sql: string):
|
|
100
|
+
check(sql: string): ColumnDefinitionBuilderInterface;
|
|
90
101
|
/**
|
|
91
102
|
* Makes the column a generated column using a `generated always as` statement.
|
|
92
103
|
*
|
|
93
|
-
*
|
|
104
|
+
* ### Examples
|
|
105
|
+
*
|
|
94
106
|
* ```ts
|
|
95
107
|
* db.schema
|
|
96
108
|
* .createTable('person')
|
|
@@ -100,12 +112,13 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
100
112
|
* .execute()
|
|
101
113
|
* ```
|
|
102
114
|
*/
|
|
103
|
-
generatedAlwaysAs(sql: string):
|
|
115
|
+
generatedAlwaysAs(sql: string): ColumnDefinitionBuilderInterface;
|
|
104
116
|
/**
|
|
105
117
|
* Makes a generated column stored instead of virtual. This method can only
|
|
106
118
|
* be used with {@link generatedAlwaysAs}
|
|
107
119
|
*
|
|
108
|
-
*
|
|
120
|
+
* ### Examples
|
|
121
|
+
*
|
|
109
122
|
* ```ts
|
|
110
123
|
* db.schema
|
|
111
124
|
* .createTable('person')
|
|
@@ -116,21 +129,135 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
116
129
|
* .execute()
|
|
117
130
|
* ```
|
|
118
131
|
*/
|
|
119
|
-
stored():
|
|
132
|
+
stored(): ColumnDefinitionBuilderInterface;
|
|
120
133
|
}
|
|
121
|
-
export declare class ColumnDefinitionBuilder implements ColumnDefinitionBuilderInterface
|
|
134
|
+
export declare class ColumnDefinitionBuilder implements ColumnDefinitionBuilderInterface, OperationNodeSource {
|
|
122
135
|
#private;
|
|
123
136
|
constructor(node: ColumnDefinitionNode);
|
|
137
|
+
/**
|
|
138
|
+
* Adds `auto_increment` or `autoincrement` to the column definition
|
|
139
|
+
* depending on the dialect.
|
|
140
|
+
*
|
|
141
|
+
* Some dialects like PostgreSQL don't support this. On PostgreSQL
|
|
142
|
+
* you can use the `serial` or `bigserial` data type instead.
|
|
143
|
+
*/
|
|
124
144
|
autoIncrement(): ColumnDefinitionBuilder;
|
|
145
|
+
/**
|
|
146
|
+
* Makes the column the primary key.
|
|
147
|
+
*
|
|
148
|
+
* If you want to specify a composite primary key use the
|
|
149
|
+
* {@link TableBuilder.addPrimaryKeyConstraint} method.
|
|
150
|
+
*/
|
|
125
151
|
primaryKey(): ColumnDefinitionBuilder;
|
|
152
|
+
/**
|
|
153
|
+
* Adds a foreign key constraint for the column.
|
|
154
|
+
*
|
|
155
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
156
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
157
|
+
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
158
|
+
*
|
|
159
|
+
* ### Examples
|
|
160
|
+
*
|
|
161
|
+
* ```ts
|
|
162
|
+
* col.references('person.id')
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
126
165
|
references(ref: string): ColumnDefinitionBuilder;
|
|
166
|
+
/**
|
|
167
|
+
* Adds an `on delete` constraint for the foreign key column.
|
|
168
|
+
*
|
|
169
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
170
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
171
|
+
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
172
|
+
*
|
|
173
|
+
* ### Examples
|
|
174
|
+
*
|
|
175
|
+
* ```ts
|
|
176
|
+
* col.references('person.id').onDelete('cascade')
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
127
179
|
onDelete(onDelete: OnModifyForeignAction): ColumnDefinitionBuilder;
|
|
180
|
+
/**
|
|
181
|
+
* Adds an `on update` constraint for the foreign key column.
|
|
182
|
+
*
|
|
183
|
+
* ### Examples
|
|
184
|
+
*
|
|
185
|
+
* ```ts
|
|
186
|
+
* col.references('person.id').onUpdate('cascade')
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
128
189
|
onUpdate(onUpdate: OnModifyForeignAction): ColumnDefinitionBuilder;
|
|
190
|
+
/**
|
|
191
|
+
* Adds a unique constraint for the column.
|
|
192
|
+
*/
|
|
129
193
|
unique(): ColumnDefinitionBuilder;
|
|
194
|
+
/**
|
|
195
|
+
* Adds a `not null` constraint for the column.
|
|
196
|
+
*/
|
|
130
197
|
notNull(): ColumnDefinitionBuilder;
|
|
198
|
+
/**
|
|
199
|
+
* Adds a `unsigned` modifier for the column.
|
|
200
|
+
*
|
|
201
|
+
* This only works on some dialects like MySQL.
|
|
202
|
+
*/
|
|
203
|
+
unsigned(): ColumnDefinitionBuilder;
|
|
204
|
+
/**
|
|
205
|
+
* Adds a default value constraint for the column.
|
|
206
|
+
*
|
|
207
|
+
* ### Examples
|
|
208
|
+
*
|
|
209
|
+
* ```ts
|
|
210
|
+
* db.schema
|
|
211
|
+
* .createTable('pet')
|
|
212
|
+
* .addColumn('number_of_legs', 'integer', (col) => col.defaultTo(4))
|
|
213
|
+
* .execute()
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
131
216
|
defaultTo(value: DefaultValueExpression): ColumnDefinitionBuilder;
|
|
217
|
+
/**
|
|
218
|
+
* Adds a check constraint for the column.
|
|
219
|
+
*
|
|
220
|
+
* ### Examples
|
|
221
|
+
*
|
|
222
|
+
* ```ts
|
|
223
|
+
* db.schema
|
|
224
|
+
* .createTable('pet')
|
|
225
|
+
* .addColumn('number_of_legs', 'integer', (col) => col.check('number_of_legs < 5'))
|
|
226
|
+
* .execute()
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
132
229
|
check(sql: string): ColumnDefinitionBuilder;
|
|
230
|
+
/**
|
|
231
|
+
* Makes the column a generated column using a `generated always as` statement.
|
|
232
|
+
*
|
|
233
|
+
* ### Examples
|
|
234
|
+
*
|
|
235
|
+
* ```ts
|
|
236
|
+
* db.schema
|
|
237
|
+
* .createTable('person')
|
|
238
|
+
* .addColumn('full_name', 'varchar(255)',
|
|
239
|
+
* (col) => col.generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
240
|
+
* )
|
|
241
|
+
* .execute()
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
133
244
|
generatedAlwaysAs(sql: string): ColumnDefinitionBuilder;
|
|
245
|
+
/**
|
|
246
|
+
* Makes a generated column stored instead of virtual. This method can only
|
|
247
|
+
* be used with {@link generatedAlwaysAs}
|
|
248
|
+
*
|
|
249
|
+
* ### Examples
|
|
250
|
+
*
|
|
251
|
+
* ```ts
|
|
252
|
+
* db.schema
|
|
253
|
+
* .createTable('person')
|
|
254
|
+
* .addColumn('full_name', 'varchar(255)', (col) => col
|
|
255
|
+
* .generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
256
|
+
* .stored()
|
|
257
|
+
* )
|
|
258
|
+
* .execute()
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
134
261
|
stored(): ColumnDefinitionBuilder;
|
|
135
262
|
toOperationNode(): ColumnDefinitionNode;
|
|
136
263
|
}
|
|
@@ -50,7 +50,10 @@ export class ColumnDefinitionBuilder {
|
|
|
50
50
|
return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { unique: true }));
|
|
51
51
|
}
|
|
52
52
|
notNull() {
|
|
53
|
-
return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, {
|
|
53
|
+
return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { notNull: true }));
|
|
54
|
+
}
|
|
55
|
+
unsigned() {
|
|
56
|
+
return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { unsigned: true }));
|
|
54
57
|
}
|
|
55
58
|
defaultTo(value) {
|
|
56
59
|
return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, {
|
|
@@ -30,7 +30,8 @@ export declare class CreateIndexBuilder implements OperationNodeSource, Compilab
|
|
|
30
30
|
/**
|
|
31
31
|
* Specifies an arbitrary expression for the index.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
33
|
+
* ### Examples
|
|
34
|
+
*
|
|
34
35
|
* ```ts
|
|
35
36
|
* await db.schema
|
|
36
37
|
* .createIndex('person_first_name_index')
|