kysely 0.9.9 → 0.11.1
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 +22 -16
- package/dist/cjs/dialect/dialect-adapter.d.ts +3 -2
- package/dist/cjs/dialect/mysql/mysql-adapter.js +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +3 -3
- package/dist/cjs/dialect/mysql/mysql-driver.js +25 -32
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +2 -2
- package/dist/cjs/dialect/postgres/postgres-driver.js +8 -19
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-adapter.js +18 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +64 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.js +33 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +14 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +116 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +44 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +19 -0
- package/dist/cjs/driver/database-connection.d.ts +2 -2
- package/dist/cjs/driver/runtime-driver.js +3 -4
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/kysely.d.ts +6 -4
- package/dist/cjs/kysely.js +6 -4
- package/dist/cjs/migration/migration.d.ts +1 -1
- package/dist/cjs/migration/migration.js +3 -3
- package/dist/cjs/operation-node/column-definition-node.d.ts +8 -6
- package/dist/cjs/operation-node/column-definition-node.js +4 -4
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -2
- package/dist/cjs/operation-node/create-table-node.d.ts +2 -3
- package/dist/cjs/operation-node/create-table-node.js +2 -2
- package/dist/cjs/operation-node/create-view-node.d.ts +3 -2
- package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
- package/dist/cjs/operation-node/default-value-node.js +18 -0
- package/dist/cjs/operation-node/drop-index-node.d.ts +1 -2
- package/dist/cjs/operation-node/drop-schema-node.d.ts +2 -3
- package/dist/cjs/operation-node/drop-schema-node.js +2 -2
- package/dist/cjs/operation-node/drop-table-node.d.ts +2 -3
- package/dist/cjs/operation-node/drop-table-node.js +2 -2
- package/dist/cjs/operation-node/drop-view-node.d.ts +3 -3
- package/dist/cjs/operation-node/drop-view-node.js +2 -2
- package/dist/cjs/operation-node/generated-always-as-node.d.ts +16 -0
- package/dist/cjs/operation-node/generated-always-as-node.js +25 -0
- package/dist/cjs/operation-node/having-node.d.ts +4 -8
- package/dist/cjs/operation-node/having-node.js +3 -3
- package/dist/cjs/operation-node/join-node.d.ts +6 -9
- package/dist/cjs/operation-node/join-node.js +10 -7
- package/dist/cjs/operation-node/on-node.d.ts +14 -0
- package/dist/cjs/operation-node/on-node.js +28 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +6 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +39 -13
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +7 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +9 -2
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/query-node.d.ts +3 -3
- package/dist/cjs/operation-node/raw-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +5 -5
- package/dist/cjs/operation-node/select-query-node.js +1 -1
- package/dist/cjs/operation-node/where-node.d.ts +4 -8
- package/dist/cjs/operation-node/where-node.js +3 -3
- package/dist/cjs/parser/filter-parser.js +1 -1
- package/dist/cjs/parser/returning-parser.d.ts +4 -2
- package/dist/cjs/parser/select-parser.d.ts +2 -2
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +1 -1
- package/dist/cjs/query-builder/delete-result.d.ts +5 -0
- package/dist/cjs/query-builder/delete-result.js +13 -0
- package/dist/cjs/query-builder/expression-builder.d.ts +2 -2
- package/dist/cjs/query-builder/expression-builder.js +1 -1
- package/dist/cjs/query-builder/function-builder.d.ts +5 -5
- package/dist/cjs/query-builder/function-builder.js +3 -3
- package/dist/cjs/query-builder/insert-result.d.ts +27 -0
- package/dist/cjs/query-builder/insert-result.js +35 -0
- package/dist/cjs/query-builder/query-builder.d.ts +91 -81
- package/dist/cjs/query-builder/query-builder.js +38 -41
- package/dist/cjs/query-builder/update-result.d.ts +5 -0
- package/dist/cjs/query-builder/update-result.js +13 -0
- package/dist/cjs/query-compiler/compiled-query.d.ts +5 -0
- package/dist/cjs/query-compiler/compiled-query.js +12 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +6 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +60 -26
- package/dist/cjs/query-creator.d.ts +36 -26
- package/dist/cjs/query-creator.js +25 -17
- package/dist/cjs/raw-builder/raw-builder.d.ts +1 -1
- package/dist/cjs/schema/alter-table-builder.d.ts +6 -2
- package/dist/cjs/schema/alter-table-builder.js +28 -4
- package/dist/cjs/schema/column-definition-builder.d.ts +43 -2
- package/dist/cjs/schema/column-definition-builder.js +23 -6
- package/dist/cjs/schema/create-schema-builder.js +1 -1
- package/dist/cjs/schema/create-table-builder.d.ts +7 -8
- package/dist/cjs/schema/create-table-builder.js +8 -9
- package/dist/cjs/schema/create-view-builder.d.ts +5 -0
- package/dist/cjs/schema/create-view-builder.js +20 -1
- package/dist/cjs/schema/drop-index-builder.js +1 -1
- package/dist/cjs/schema/drop-schema-builder.js +3 -1
- package/dist/cjs/schema/drop-table-builder.js +3 -1
- package/dist/cjs/schema/drop-view-builder.d.ts +1 -0
- package/dist/cjs/schema/drop-view-builder.js +11 -1
- package/dist/cjs/schema/schema.d.ts +3 -3
- package/dist/cjs/schema/schema.js +3 -3
- package/dist/cjs/util/dynamic-import.d.ts +2 -0
- package/dist/cjs/util/dynamic-import.js +32 -0
- package/dist/cjs/util/performance-now.d.ts +1 -0
- package/dist/cjs/util/performance-now.js +13 -0
- package/dist/cjs/util/type-utils.d.ts +4 -15
- package/dist/esm/dialect/dialect-adapter.d.ts +3 -2
- package/dist/esm/dialect/mysql/mysql-adapter.js +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +3 -3
- package/dist/esm/dialect/mysql/mysql-driver.js +26 -33
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +2 -2
- package/dist/esm/dialect/postgres/postgres-driver.js +8 -19
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-adapter.js +14 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +64 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.js +29 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +14 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +112 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +40 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +15 -0
- package/dist/esm/driver/database-connection.d.ts +2 -2
- package/dist/esm/driver/runtime-driver.js +3 -4
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/kysely.d.ts +6 -4
- package/dist/esm/kysely.js +6 -4
- package/dist/esm/migration/migration.d.ts +1 -1
- package/dist/esm/migration/migration.js +3 -3
- package/dist/esm/operation-node/column-definition-node.d.ts +8 -6
- package/dist/esm/operation-node/column-definition-node.js +4 -4
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -2
- package/dist/esm/operation-node/create-table-node.d.ts +2 -3
- package/dist/esm/operation-node/create-table-node.js +2 -2
- package/dist/esm/operation-node/create-view-node.d.ts +3 -2
- package/dist/esm/operation-node/default-value-node.d.ts +14 -0
- package/dist/esm/operation-node/default-value-node.js +15 -0
- package/dist/esm/operation-node/drop-index-node.d.ts +1 -2
- package/dist/esm/operation-node/drop-schema-node.d.ts +2 -3
- package/dist/esm/operation-node/drop-schema-node.js +2 -2
- package/dist/esm/operation-node/drop-table-node.d.ts +2 -3
- package/dist/esm/operation-node/drop-table-node.js +2 -2
- package/dist/esm/operation-node/drop-view-node.d.ts +3 -3
- package/dist/esm/operation-node/drop-view-node.js +2 -2
- package/dist/esm/operation-node/generated-always-as-node.d.ts +16 -0
- package/dist/esm/operation-node/generated-always-as-node.js +22 -0
- package/dist/esm/operation-node/having-node.d.ts +4 -8
- package/dist/esm/operation-node/having-node.js +3 -3
- package/dist/esm/operation-node/join-node.d.ts +6 -9
- package/dist/esm/operation-node/join-node.js +10 -7
- package/dist/esm/operation-node/on-node.d.ts +14 -0
- package/dist/esm/operation-node/on-node.js +25 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +6 -0
- package/dist/esm/operation-node/operation-node-transformer.js +39 -13
- package/dist/esm/operation-node/operation-node-visitor.d.ts +7 -0
- package/dist/esm/operation-node/operation-node-visitor.js +9 -2
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/query-node.d.ts +3 -3
- package/dist/esm/operation-node/raw-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +5 -5
- package/dist/esm/operation-node/select-query-node.js +1 -1
- package/dist/esm/operation-node/where-node.d.ts +4 -8
- package/dist/esm/operation-node/where-node.js +3 -3
- package/dist/esm/parser/filter-parser.js +1 -1
- package/dist/esm/parser/returning-parser.d.ts +4 -2
- package/dist/esm/parser/select-parser.d.ts +2 -2
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +1 -1
- package/dist/esm/query-builder/delete-result.d.ts +5 -0
- package/dist/esm/query-builder/delete-result.js +9 -0
- package/dist/esm/query-builder/expression-builder.d.ts +2 -2
- package/dist/esm/query-builder/expression-builder.js +1 -1
- package/dist/esm/query-builder/function-builder.d.ts +5 -5
- package/dist/esm/query-builder/function-builder.js +3 -3
- package/dist/esm/query-builder/insert-result.d.ts +27 -0
- package/dist/esm/query-builder/insert-result.js +31 -0
- package/dist/esm/query-builder/query-builder.d.ts +91 -81
- package/dist/esm/query-builder/query-builder.js +38 -41
- package/dist/esm/query-builder/update-result.d.ts +5 -0
- package/dist/esm/query-builder/update-result.js +9 -0
- package/dist/esm/query-compiler/compiled-query.d.ts +5 -0
- package/dist/esm/query-compiler/compiled-query.js +11 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +6 -0
- package/dist/esm/query-compiler/default-query-compiler.js +60 -26
- package/dist/esm/query-creator.d.ts +36 -26
- package/dist/esm/query-creator.js +25 -17
- package/dist/esm/raw-builder/raw-builder.d.ts +1 -1
- package/dist/esm/schema/alter-table-builder.d.ts +6 -2
- package/dist/esm/schema/alter-table-builder.js +28 -4
- package/dist/esm/schema/column-definition-builder.d.ts +43 -2
- package/dist/esm/schema/column-definition-builder.js +23 -6
- package/dist/esm/schema/create-schema-builder.js +1 -1
- package/dist/esm/schema/create-table-builder.d.ts +7 -8
- package/dist/esm/schema/create-table-builder.js +8 -9
- package/dist/esm/schema/create-view-builder.d.ts +5 -0
- package/dist/esm/schema/create-view-builder.js +20 -1
- package/dist/esm/schema/drop-index-builder.js +1 -1
- package/dist/esm/schema/drop-schema-builder.js +3 -1
- package/dist/esm/schema/drop-table-builder.js +3 -1
- package/dist/esm/schema/drop-view-builder.d.ts +1 -0
- package/dist/esm/schema/drop-view-builder.js +11 -1
- package/dist/esm/schema/schema.d.ts +3 -3
- package/dist/esm/schema/schema.js +3 -3
- package/dist/esm/util/dynamic-import.d.ts +2 -0
- package/dist/esm/util/dynamic-import.js +27 -0
- package/dist/esm/util/performance-now.d.ts +1 -0
- package/dist/esm/util/performance-now.js +9 -0
- package/dist/esm/util/type-utils.d.ts +4 -15
- package/package.json +5 -3
|
@@ -29,20 +29,17 @@ class QueryCreator {
|
|
|
29
29
|
/**
|
|
30
30
|
* Creates an insert query.
|
|
31
31
|
*
|
|
32
|
-
* The return value of this query is
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* If you are running a database engine like `Mysql` that always returns the primary
|
|
36
|
-
* key, you can safely use `!` or the {@link QueryBuilder.castTo | castTo} method
|
|
37
|
-
* to cast away the `undefined` from the type.
|
|
32
|
+
* The return value of this query is an instance of {@link InsertResult}. {@link InsertResult}
|
|
33
|
+
* has the {@link InsertResult.insertId | insertId} field that holds the auto incremented id of
|
|
34
|
+
* the inserted row if the db returned one.
|
|
38
35
|
*
|
|
39
36
|
* See the {@link QueryBuilder.values | values} method for more info and examples. Also see
|
|
40
37
|
* the {@link QueryBuilder.returning | returning} method for a way to return columns
|
|
41
|
-
* on supported databases like
|
|
38
|
+
* on supported databases like PostgreSQL.
|
|
42
39
|
*
|
|
43
40
|
* @example
|
|
44
41
|
* ```ts
|
|
45
|
-
* const
|
|
42
|
+
* const result = await db
|
|
46
43
|
* .insertInto('person')
|
|
47
44
|
* .values({
|
|
48
45
|
* id: db.generated,
|
|
@@ -50,10 +47,12 @@ class QueryCreator {
|
|
|
50
47
|
* last_name: 'Aniston'
|
|
51
48
|
* })
|
|
52
49
|
* .executeTakeFirst()
|
|
50
|
+
*
|
|
51
|
+
* console.log(result.insertId)
|
|
53
52
|
* ```
|
|
54
53
|
*
|
|
55
54
|
* @example
|
|
56
|
-
* Some databases like
|
|
55
|
+
* Some databases like PostgreSQL support the `returning` method:
|
|
57
56
|
*
|
|
58
57
|
* ```ts
|
|
59
58
|
* const { id } = await db
|
|
@@ -79,14 +78,18 @@ class QueryCreator {
|
|
|
79
78
|
* Creates a delete query.
|
|
80
79
|
*
|
|
81
80
|
* See the {@link QueryBuilder.where} method for examples on how to specify
|
|
82
|
-
* a where clause for the delete operation
|
|
81
|
+
* a where clause for the delete operation.
|
|
82
|
+
*
|
|
83
|
+
* The return value of the query is an instance of {@link DeleteResult}.
|
|
83
84
|
*
|
|
84
85
|
* @example
|
|
85
86
|
* ```ts
|
|
86
|
-
* const
|
|
87
|
+
* const result = await db
|
|
87
88
|
* .deleteFrom('person')
|
|
88
89
|
* .where('person.id', '=', 1)
|
|
89
90
|
* .executeTakeFirst()
|
|
91
|
+
*
|
|
92
|
+
* console.log(result.numDeletedRows)
|
|
90
93
|
* ```
|
|
91
94
|
*/
|
|
92
95
|
deleteFrom(table) {
|
|
@@ -106,13 +109,17 @@ class QueryCreator {
|
|
|
106
109
|
* See the {@link QueryBuilder.set} method for examples on how to
|
|
107
110
|
* specify the updates.
|
|
108
111
|
*
|
|
112
|
+
* The return value of the query is an {@link UpdateResult}.
|
|
113
|
+
*
|
|
109
114
|
* @example
|
|
110
115
|
* ```ts
|
|
111
|
-
* const
|
|
116
|
+
* const result = await db
|
|
112
117
|
* .updateTable('person')
|
|
113
118
|
* .set({ first_name: 'Jennifer' })
|
|
114
119
|
* .where('person.id', '=', 1)
|
|
115
120
|
* .executeTakeFirst()
|
|
121
|
+
*
|
|
122
|
+
* console.log(result.numUpdatedRows)
|
|
116
123
|
* ```
|
|
117
124
|
*/
|
|
118
125
|
updateTable(table) {
|
|
@@ -170,7 +177,7 @@ class QueryCreator {
|
|
|
170
177
|
* .execute()
|
|
171
178
|
* ```
|
|
172
179
|
*
|
|
173
|
-
* The generated SQL (
|
|
180
|
+
* The generated SQL (PostgreSQL):
|
|
174
181
|
*
|
|
175
182
|
* ```sql
|
|
176
183
|
* select * from "mammals"."pet"
|
|
@@ -190,7 +197,7 @@ class QueryCreator {
|
|
|
190
197
|
* .execute()
|
|
191
198
|
* ```
|
|
192
199
|
*
|
|
193
|
-
* The generated SQL (
|
|
200
|
+
* The generated SQL (PostgreSQL):
|
|
194
201
|
*
|
|
195
202
|
* ```sql
|
|
196
203
|
* select "p"."name" from "mammals"."pet" as "p"
|
|
@@ -240,7 +247,7 @@ class QueryCreator {
|
|
|
240
247
|
* console.log(person.name)
|
|
241
248
|
* ```
|
|
242
249
|
*
|
|
243
|
-
* The generated SQL (
|
|
250
|
+
* The generated SQL (PostgreSQL):
|
|
244
251
|
*
|
|
245
252
|
* ```sql
|
|
246
253
|
* select concat(first_name, ' ', last_name) as "name"
|
|
@@ -298,7 +305,7 @@ class QueryCreator {
|
|
|
298
305
|
* }
|
|
299
306
|
* ```
|
|
300
307
|
*
|
|
301
|
-
* The generated SQL (
|
|
308
|
+
* The generated SQL (PostgreSQL):
|
|
302
309
|
*
|
|
303
310
|
* ```sql
|
|
304
311
|
* select * from "person" where now() - birth_date > interval $1 year
|
|
@@ -312,7 +319,8 @@ class QueryCreator {
|
|
|
312
319
|
* Example of creating a completely raw query from scratch:
|
|
313
320
|
*
|
|
314
321
|
* ```ts
|
|
315
|
-
* const
|
|
322
|
+
* const result = await db.raw<Person>('select p.* from person p').execute()
|
|
323
|
+
* const persons = result.rows
|
|
316
324
|
* ```
|
|
317
325
|
*
|
|
318
326
|
* For a raw query, you need to specify the type of the returned __row__. In
|
|
@@ -63,7 +63,7 @@ export interface AlterTableExecutorProps extends AlterTableBuilderProps {
|
|
|
63
63
|
export declare class AlterTableAddColumnBuilder implements ColumnDefinitionBuilderInterface<AlterTableAddColumnBuilder>, OperationNodeSource, Compilable {
|
|
64
64
|
#private;
|
|
65
65
|
constructor(props: AlterTableAddColumnBuilderProps);
|
|
66
|
-
|
|
66
|
+
autoIncrement(): AlterTableAddColumnBuilder;
|
|
67
67
|
primaryKey(): AlterTableAddColumnBuilder;
|
|
68
68
|
references(ref: string): AlterTableAddColumnBuilder;
|
|
69
69
|
onDelete(onDelete: OnModifyForeignAction): AlterTableAddColumnBuilder;
|
|
@@ -72,6 +72,8 @@ export declare class AlterTableAddColumnBuilder implements ColumnDefinitionBuild
|
|
|
72
72
|
notNull(): AlterTableAddColumnBuilder;
|
|
73
73
|
defaultTo(value: PrimitiveValue | AnyRawBuilder): AlterTableAddColumnBuilder;
|
|
74
74
|
check(sql: string): AlterTableAddColumnBuilder;
|
|
75
|
+
generatedAlwaysAs(sql: string): AlterTableAddColumnBuilder;
|
|
76
|
+
stored(): AlterTableAddColumnBuilder;
|
|
75
77
|
toOperationNode(): AlterTableNode;
|
|
76
78
|
compile(): CompiledQuery;
|
|
77
79
|
execute(): Promise<void>;
|
|
@@ -82,7 +84,7 @@ export interface AlterTableAddColumnBuilderProps extends AlterTableBuilderProps
|
|
|
82
84
|
export declare class AlterTableModifyColumnBuilder implements ColumnDefinitionBuilderInterface<AlterTableModifyColumnBuilder>, OperationNodeSource, Compilable {
|
|
83
85
|
#private;
|
|
84
86
|
constructor(props: AlterTableModifyColumnBuilderProps);
|
|
85
|
-
|
|
87
|
+
autoIncrement(): AlterTableModifyColumnBuilder;
|
|
86
88
|
primaryKey(): AlterTableModifyColumnBuilder;
|
|
87
89
|
references(ref: string): AlterTableModifyColumnBuilder;
|
|
88
90
|
onDelete(onDelete: OnModifyForeignAction): AlterTableModifyColumnBuilder;
|
|
@@ -91,6 +93,8 @@ export declare class AlterTableModifyColumnBuilder implements ColumnDefinitionBu
|
|
|
91
93
|
notNull(): AlterTableModifyColumnBuilder;
|
|
92
94
|
defaultTo(value: PrimitiveValue | AnyRawBuilder): AlterTableModifyColumnBuilder;
|
|
93
95
|
check(sql: string): AlterTableModifyColumnBuilder;
|
|
96
|
+
generatedAlwaysAs(sql: string): AlterTableModifyColumnBuilder;
|
|
97
|
+
stored(): AlterTableModifyColumnBuilder;
|
|
94
98
|
toOperationNode(): AlterTableNode;
|
|
95
99
|
compile(): CompiledQuery;
|
|
96
100
|
execute(): Promise<void>;
|
|
@@ -190,10 +190,10 @@ class AlterTableAddColumnBuilder {
|
|
|
190
190
|
constructor(props) {
|
|
191
191
|
this.#props = (0, object_utils_js_1.freeze)(props);
|
|
192
192
|
}
|
|
193
|
-
|
|
193
|
+
autoIncrement() {
|
|
194
194
|
return new AlterTableAddColumnBuilder({
|
|
195
195
|
...this.#props,
|
|
196
|
-
columnBuilder: this.#props.columnBuilder.
|
|
196
|
+
columnBuilder: this.#props.columnBuilder.autoIncrement(),
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
199
|
primaryKey() {
|
|
@@ -244,6 +244,18 @@ class AlterTableAddColumnBuilder {
|
|
|
244
244
|
columnBuilder: this.#props.columnBuilder.check(sql),
|
|
245
245
|
});
|
|
246
246
|
}
|
|
247
|
+
generatedAlwaysAs(sql) {
|
|
248
|
+
return new AlterTableAddColumnBuilder({
|
|
249
|
+
...this.#props,
|
|
250
|
+
columnBuilder: this.#props.columnBuilder.generatedAlwaysAs(sql),
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
stored() {
|
|
254
|
+
return new AlterTableAddColumnBuilder({
|
|
255
|
+
...this.#props,
|
|
256
|
+
columnBuilder: this.#props.columnBuilder.stored(),
|
|
257
|
+
});
|
|
258
|
+
}
|
|
247
259
|
toOperationNode() {
|
|
248
260
|
return this.#props.executor.transformQuery(alter_table_node_js_1.AlterTableNode.cloneWith(this.#props.alterTableNode, {
|
|
249
261
|
addColumn: add_column_node_js_1.AddColumnNode.create(this.#props.columnBuilder.toOperationNode()),
|
|
@@ -262,10 +274,10 @@ class AlterTableModifyColumnBuilder {
|
|
|
262
274
|
constructor(props) {
|
|
263
275
|
this.#props = (0, object_utils_js_1.freeze)(props);
|
|
264
276
|
}
|
|
265
|
-
|
|
277
|
+
autoIncrement() {
|
|
266
278
|
return new AlterTableModifyColumnBuilder({
|
|
267
279
|
...this.#props,
|
|
268
|
-
columnBuilder: this.#props.columnBuilder.
|
|
280
|
+
columnBuilder: this.#props.columnBuilder.autoIncrement(),
|
|
269
281
|
});
|
|
270
282
|
}
|
|
271
283
|
primaryKey() {
|
|
@@ -316,6 +328,18 @@ class AlterTableModifyColumnBuilder {
|
|
|
316
328
|
columnBuilder: this.#props.columnBuilder.check(sql),
|
|
317
329
|
});
|
|
318
330
|
}
|
|
331
|
+
generatedAlwaysAs(sql) {
|
|
332
|
+
return new AlterTableModifyColumnBuilder({
|
|
333
|
+
...this.#props,
|
|
334
|
+
columnBuilder: this.#props.columnBuilder.generatedAlwaysAs(sql),
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
stored() {
|
|
338
|
+
return new AlterTableModifyColumnBuilder({
|
|
339
|
+
...this.#props,
|
|
340
|
+
columnBuilder: this.#props.columnBuilder.stored(),
|
|
341
|
+
});
|
|
342
|
+
}
|
|
319
343
|
toOperationNode() {
|
|
320
344
|
return this.#props.executor.transformQuery(alter_table_node_js_1.AlterTableNode.cloneWith(this.#props.alterTableNode, {
|
|
321
345
|
modifyColumn: modify_column_node_js_1.ModifyColumnNode.create(this.#props.columnBuilder.toOperationNode()),
|
|
@@ -12,7 +12,7 @@ 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
|
-
|
|
15
|
+
autoIncrement(): R;
|
|
16
16
|
/**
|
|
17
17
|
* Makes the column the primary key.
|
|
18
18
|
*
|
|
@@ -40,10 +40,19 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
40
40
|
* column definition (like MySQL 5) you need to call the table level
|
|
41
41
|
* {@link TableBuilder.addForeignKeyConstraint} method instead.
|
|
42
42
|
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* col.references('person.id').onDelete('cascade')
|
|
46
|
+
* ```
|
|
43
47
|
*/
|
|
44
48
|
onDelete(onDelete: OnModifyForeignAction): R;
|
|
45
49
|
/**
|
|
46
50
|
* Adds an `on update` constraint for the foreign key column.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* col.references('person.id').onUpdate('cascade')
|
|
55
|
+
* ```
|
|
47
56
|
*/
|
|
48
57
|
onUpdate(onUpdate: OnModifyForeignAction): R;
|
|
49
58
|
/**
|
|
@@ -78,11 +87,41 @@ export interface ColumnDefinitionBuilderInterface<R> {
|
|
|
78
87
|
* ```
|
|
79
88
|
*/
|
|
80
89
|
check(sql: string): R;
|
|
90
|
+
/**
|
|
91
|
+
* Makes the column a generated column using a `generated always as` statement.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* db.schema
|
|
96
|
+
* .createTable('person')
|
|
97
|
+
* .addColumn('full_name', 'varchar(255)',
|
|
98
|
+
* (col) => col.generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
99
|
+
* )
|
|
100
|
+
* .execute()
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
generatedAlwaysAs(sql: string): R;
|
|
104
|
+
/**
|
|
105
|
+
* Makes a generated column stored instead of virtual. This method can only
|
|
106
|
+
* be used with {@link generatedAlwaysAs}
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
* db.schema
|
|
111
|
+
* .createTable('person')
|
|
112
|
+
* .addColumn('full_name', 'varchar(255)', (col) => col
|
|
113
|
+
* .generatedAlwaysAs("concat(first_name, ' ', last_name)")
|
|
114
|
+
* .stored()
|
|
115
|
+
* )
|
|
116
|
+
* .execute()
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
stored(): R;
|
|
81
120
|
}
|
|
82
121
|
export declare class ColumnDefinitionBuilder implements ColumnDefinitionBuilderInterface<ColumnDefinitionBuilder>, OperationNodeSource {
|
|
83
122
|
#private;
|
|
84
123
|
constructor(node: ColumnDefinitionNode);
|
|
85
|
-
|
|
124
|
+
autoIncrement(): ColumnDefinitionBuilder;
|
|
86
125
|
primaryKey(): ColumnDefinitionBuilder;
|
|
87
126
|
references(ref: string): ColumnDefinitionBuilder;
|
|
88
127
|
onDelete(onDelete: OnModifyForeignAction): ColumnDefinitionBuilder;
|
|
@@ -91,5 +130,7 @@ export declare class ColumnDefinitionBuilder implements ColumnDefinitionBuilderI
|
|
|
91
130
|
notNull(): ColumnDefinitionBuilder;
|
|
92
131
|
defaultTo(value: DefaultValueExpression): ColumnDefinitionBuilder;
|
|
93
132
|
check(sql: string): ColumnDefinitionBuilder;
|
|
133
|
+
generatedAlwaysAs(sql: string): ColumnDefinitionBuilder;
|
|
134
|
+
stored(): ColumnDefinitionBuilder;
|
|
94
135
|
toOperationNode(): ColumnDefinitionNode;
|
|
95
136
|
}
|
|
@@ -9,16 +9,18 @@ const reference_parser_js_1 = require("../parser/reference-parser.js");
|
|
|
9
9
|
const prevent_await_js_1 = require("../util/prevent-await.js");
|
|
10
10
|
const column_definition_node_js_1 = require("../operation-node/column-definition-node.js");
|
|
11
11
|
const default_value_parser_js_1 = require("../parser/default-value-parser.js");
|
|
12
|
+
const generated_always_as_node_js_1 = require("../operation-node/generated-always-as-node.js");
|
|
13
|
+
const default_value_node_js_1 = require("../operation-node/default-value-node.js");
|
|
12
14
|
class ColumnDefinitionBuilder {
|
|
13
15
|
#node;
|
|
14
16
|
constructor(node) {
|
|
15
17
|
this.#node = node;
|
|
16
18
|
}
|
|
17
|
-
|
|
18
|
-
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
19
|
+
autoIncrement() {
|
|
20
|
+
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { autoIncrement: true }));
|
|
19
21
|
}
|
|
20
22
|
primaryKey() {
|
|
21
|
-
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
23
|
+
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { primaryKey: true }));
|
|
22
24
|
}
|
|
23
25
|
references(ref) {
|
|
24
26
|
const references = (0, reference_parser_js_1.parseStringReference)(ref);
|
|
@@ -48,14 +50,14 @@ class ColumnDefinitionBuilder {
|
|
|
48
50
|
}));
|
|
49
51
|
}
|
|
50
52
|
unique() {
|
|
51
|
-
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
53
|
+
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { unique: true }));
|
|
52
54
|
}
|
|
53
55
|
notNull() {
|
|
54
|
-
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
56
|
+
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { nullable: false }));
|
|
55
57
|
}
|
|
56
58
|
defaultTo(value) {
|
|
57
59
|
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
58
|
-
defaultTo: (0, default_value_parser_js_1.parseDefaultValueExpression)(value),
|
|
60
|
+
defaultTo: default_value_node_js_1.DefaultValueNode.create((0, default_value_parser_js_1.parseDefaultValueExpression)(value)),
|
|
59
61
|
}));
|
|
60
62
|
}
|
|
61
63
|
check(sql) {
|
|
@@ -63,6 +65,21 @@ class ColumnDefinitionBuilder {
|
|
|
63
65
|
check: check_constraint_node_js_1.CheckConstraintNode.create(sql),
|
|
64
66
|
}));
|
|
65
67
|
}
|
|
68
|
+
generatedAlwaysAs(sql) {
|
|
69
|
+
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
70
|
+
generatedAlwaysAs: generated_always_as_node_js_1.GeneratedAlwaysAsNode.create(sql),
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
stored() {
|
|
74
|
+
if (!this.#node.generatedAlwaysAs) {
|
|
75
|
+
throw new Error('stored() can only be called after generatedAlwaysAs');
|
|
76
|
+
}
|
|
77
|
+
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
|
|
78
|
+
generatedAlwaysAs: generated_always_as_node_js_1.GeneratedAlwaysAsNode.cloneWith(this.#node.generatedAlwaysAs, {
|
|
79
|
+
stored: true,
|
|
80
|
+
}),
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
66
83
|
toOperationNode() {
|
|
67
84
|
return this.#node;
|
|
68
85
|
}
|
|
@@ -12,7 +12,7 @@ class CreateSchemaBuilder {
|
|
|
12
12
|
ifNotExists() {
|
|
13
13
|
return new CreateSchemaBuilder({
|
|
14
14
|
...this.#props,
|
|
15
|
-
createSchemaNode: create_schema_node_js_1.CreateSchemaNode.cloneWith(this.#props.createSchemaNode, {
|
|
15
|
+
createSchemaNode: create_schema_node_js_1.CreateSchemaNode.cloneWith(this.#props.createSchemaNode, { ifNotExists: true }),
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
toOperationNode() {
|
|
@@ -26,9 +26,9 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
26
26
|
* ```ts
|
|
27
27
|
* await db.schema
|
|
28
28
|
* .createTable('person')
|
|
29
|
-
* .addColumn('id', 'integer', (col) => col.
|
|
30
|
-
* .addColumn('first_name', 'varchar(50), (col) => col.notNull())
|
|
31
|
-
* .addColumn('last_name', 'varchar')
|
|
29
|
+
* .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey()),
|
|
30
|
+
* .addColumn('first_name', 'varchar(50)', (col) => col.notNull())
|
|
31
|
+
* .addColumn('last_name', 'varchar(255)')
|
|
32
32
|
* .addColumn('bank_balance', 'numeric(8, 2)')
|
|
33
33
|
* .addColumn('data', db.raw('customtype'))
|
|
34
34
|
* .addColumn('parent_id', 'integer', (col) =>
|
|
@@ -37,11 +37,10 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
37
37
|
* ```
|
|
38
38
|
*
|
|
39
39
|
* With this method, it's once again good to remember that Kysely just builds the query
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* the next example:
|
|
40
|
+
* and doesn't provide the same API for all databses. For example, some databases like
|
|
41
|
+
* older MySQL don't support `references` statement in the column definition. Instead
|
|
42
|
+
* foreign key constraints need to be defined in at the level of the `create table`
|
|
43
|
+
* query. See the next example:
|
|
45
44
|
*
|
|
46
45
|
* @example
|
|
47
46
|
* ```ts
|
|
@@ -30,7 +30,7 @@ class CreateTableBuilder {
|
|
|
30
30
|
ifNotExists() {
|
|
31
31
|
return new CreateTableBuilder({
|
|
32
32
|
...this.#props,
|
|
33
|
-
createTableNode: create_table_node_js_1.CreateTableNode.
|
|
33
|
+
createTableNode: create_table_node_js_1.CreateTableNode.cloneWithIfNotExists(this.#props.createTableNode, true),
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -40,9 +40,9 @@ class CreateTableBuilder {
|
|
|
40
40
|
* ```ts
|
|
41
41
|
* await db.schema
|
|
42
42
|
* .createTable('person')
|
|
43
|
-
* .addColumn('id', 'integer', (col) => col.
|
|
44
|
-
* .addColumn('first_name', 'varchar(50), (col) => col.notNull())
|
|
45
|
-
* .addColumn('last_name', 'varchar')
|
|
43
|
+
* .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey()),
|
|
44
|
+
* .addColumn('first_name', 'varchar(50)', (col) => col.notNull())
|
|
45
|
+
* .addColumn('last_name', 'varchar(255)')
|
|
46
46
|
* .addColumn('bank_balance', 'numeric(8, 2)')
|
|
47
47
|
* .addColumn('data', db.raw('customtype'))
|
|
48
48
|
* .addColumn('parent_id', 'integer', (col) =>
|
|
@@ -51,11 +51,10 @@ class CreateTableBuilder {
|
|
|
51
51
|
* ```
|
|
52
52
|
*
|
|
53
53
|
* With this method, it's once again good to remember that Kysely just builds the query
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* the next example:
|
|
54
|
+
* and doesn't provide the same API for all databses. For example, some databases like
|
|
55
|
+
* older MySQL don't support `references` statement in the column definition. Instead
|
|
56
|
+
* foreign key constraints need to be defined in at the level of the `create table`
|
|
57
|
+
* query. See the next example:
|
|
59
58
|
*
|
|
60
59
|
* @example
|
|
61
60
|
* ```ts
|
|
@@ -9,6 +9,11 @@ import { AnyRawBuilder } from '../util/type-utils.js';
|
|
|
9
9
|
export declare class CreateViewBuilder implements OperationNodeSource, Compilable {
|
|
10
10
|
#private;
|
|
11
11
|
constructor(props: CreateViewBuilderProps);
|
|
12
|
+
materialized(): CreateViewBuilder;
|
|
13
|
+
/**
|
|
14
|
+
* Only implemented on some dialects like SQLite. On most dialects, use {@link orReplace}.
|
|
15
|
+
*/
|
|
16
|
+
ifNotExists(): CreateViewBuilder;
|
|
12
17
|
orReplace(): CreateViewBuilder;
|
|
13
18
|
columns(columns: string[]): CreateViewBuilder;
|
|
14
19
|
as(query: AnyQueryBuilder | AnyRawBuilder): CreateViewBuilder;
|
|
@@ -23,11 +23,30 @@ class CreateViewBuilder {
|
|
|
23
23
|
executor: props.executor.withPlugin(new immediate_value_plugin_js_1.ImmediateValuePlugin()),
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
+
materialized() {
|
|
27
|
+
return new CreateViewBuilder({
|
|
28
|
+
...this.#props,
|
|
29
|
+
createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
|
|
30
|
+
materialized: true,
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Only implemented on some dialects like SQLite. On most dialects, use {@link orReplace}.
|
|
36
|
+
*/
|
|
37
|
+
ifNotExists() {
|
|
38
|
+
return new CreateViewBuilder({
|
|
39
|
+
...this.#props,
|
|
40
|
+
createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
|
|
41
|
+
ifNotExists: true,
|
|
42
|
+
}),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
26
45
|
orReplace() {
|
|
27
46
|
return new CreateViewBuilder({
|
|
28
47
|
...this.#props,
|
|
29
48
|
createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
|
|
30
|
-
|
|
49
|
+
orReplace: true,
|
|
31
50
|
}),
|
|
32
51
|
});
|
|
33
52
|
}
|
|
@@ -12,7 +12,9 @@ class DropSchemaBuilder {
|
|
|
12
12
|
ifExists() {
|
|
13
13
|
return new DropSchemaBuilder({
|
|
14
14
|
...this.#props,
|
|
15
|
-
dropSchemaNode: drop_schema_node_js_1.DropSchemaNode.
|
|
15
|
+
dropSchemaNode: drop_schema_node_js_1.DropSchemaNode.cloneWith(this.#props.dropSchemaNode, {
|
|
16
|
+
ifExists: true,
|
|
17
|
+
}),
|
|
16
18
|
});
|
|
17
19
|
}
|
|
18
20
|
toOperationNode() {
|
|
@@ -12,7 +12,9 @@ class DropTableBuilder {
|
|
|
12
12
|
ifExists() {
|
|
13
13
|
return new DropTableBuilder({
|
|
14
14
|
...this.#props,
|
|
15
|
-
dropTableNode: drop_table_node_js_1.DropTableNode.
|
|
15
|
+
dropTableNode: drop_table_node_js_1.DropTableNode.cloneWith(this.#props.dropTableNode, {
|
|
16
|
+
ifExists: true,
|
|
17
|
+
}),
|
|
16
18
|
});
|
|
17
19
|
}
|
|
18
20
|
toOperationNode() {
|
|
@@ -7,6 +7,7 @@ import { DropViewNode } from '../operation-node/drop-view-node.js';
|
|
|
7
7
|
export declare class DropViewBuilder implements OperationNodeSource, Compilable {
|
|
8
8
|
#private;
|
|
9
9
|
constructor(props: DropViewBuilderProps);
|
|
10
|
+
materialized(): DropViewBuilder;
|
|
10
11
|
ifExists(): DropViewBuilder;
|
|
11
12
|
toOperationNode(): DropViewNode;
|
|
12
13
|
compile(): CompiledQuery;
|
|
@@ -9,10 +9,20 @@ class DropViewBuilder {
|
|
|
9
9
|
constructor(props) {
|
|
10
10
|
this.#props = (0, object_utils_js_1.freeze)(props);
|
|
11
11
|
}
|
|
12
|
+
materialized() {
|
|
13
|
+
return new DropViewBuilder({
|
|
14
|
+
...this.#props,
|
|
15
|
+
dropViewNode: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.dropViewNode, {
|
|
16
|
+
materialized: true,
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
12
20
|
ifExists() {
|
|
13
21
|
return new DropViewBuilder({
|
|
14
22
|
...this.#props,
|
|
15
|
-
dropViewNode: drop_view_node_js_1.DropViewNode.
|
|
23
|
+
dropViewNode: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.dropViewNode, {
|
|
24
|
+
ifExists: true,
|
|
25
|
+
}),
|
|
16
26
|
});
|
|
17
27
|
}
|
|
18
28
|
toOperationNode() {
|
|
@@ -24,7 +24,7 @@ export declare class SchemaModule {
|
|
|
24
24
|
* ```ts
|
|
25
25
|
* await db.schema
|
|
26
26
|
* .createTable('person')
|
|
27
|
-
* .addColumn('id', 'integer', col => col.primaryKey().
|
|
27
|
+
* .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
|
|
28
28
|
* .addColumn('first_name', 'varchar', col => col.notNull())
|
|
29
29
|
* .addColumn('last_name', 'varchar', col => col.notNull())
|
|
30
30
|
* .addColumn('gender', 'varchar')
|
|
@@ -40,7 +40,7 @@ export declare class SchemaModule {
|
|
|
40
40
|
* ```ts
|
|
41
41
|
* await db.schema
|
|
42
42
|
* .createTable('pet')
|
|
43
|
-
* .addColumn('id', 'integer', col => col.primaryKey().
|
|
43
|
+
* .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
|
|
44
44
|
* .addColumn('owner_id', 'integer', col => col
|
|
45
45
|
* .references('person.id')
|
|
46
46
|
* .onDelete('cascade')
|
|
@@ -57,7 +57,7 @@ export declare class SchemaModule {
|
|
|
57
57
|
* ```ts
|
|
58
58
|
* await db.schema
|
|
59
59
|
* .createTable('pet')
|
|
60
|
-
* .addColumn('id', 'integer', col => col.primaryKey().
|
|
60
|
+
* .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
|
|
61
61
|
* .addColumn('owner_id', 'integer')
|
|
62
62
|
* .addForeignKeyConstraint(
|
|
63
63
|
* 'pet_owner_id_foreign', ['owner_id'], 'person', ['id'],
|
|
@@ -40,7 +40,7 @@ class SchemaModule {
|
|
|
40
40
|
* ```ts
|
|
41
41
|
* await db.schema
|
|
42
42
|
* .createTable('person')
|
|
43
|
-
* .addColumn('id', 'integer', col => col.primaryKey().
|
|
43
|
+
* .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
|
|
44
44
|
* .addColumn('first_name', 'varchar', col => col.notNull())
|
|
45
45
|
* .addColumn('last_name', 'varchar', col => col.notNull())
|
|
46
46
|
* .addColumn('gender', 'varchar')
|
|
@@ -56,7 +56,7 @@ class SchemaModule {
|
|
|
56
56
|
* ```ts
|
|
57
57
|
* await db.schema
|
|
58
58
|
* .createTable('pet')
|
|
59
|
-
* .addColumn('id', 'integer', col => col.primaryKey().
|
|
59
|
+
* .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
|
|
60
60
|
* .addColumn('owner_id', 'integer', col => col
|
|
61
61
|
* .references('person.id')
|
|
62
62
|
* .onDelete('cascade')
|
|
@@ -73,7 +73,7 @@ class SchemaModule {
|
|
|
73
73
|
* ```ts
|
|
74
74
|
* await db.schema
|
|
75
75
|
* .createTable('pet')
|
|
76
|
-
* .addColumn('id', 'integer', col => col.primaryKey().
|
|
76
|
+
* .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
|
|
77
77
|
* .addColumn('owner_id', 'integer')
|
|
78
78
|
* .addForeignKeyConstraint(
|
|
79
79
|
* 'pet_owner_id_foreign', ['owner_id'], 'person', ['id'],
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.importNamedFunction = exports.importFunction = void 0;
|
|
4
|
+
const object_utils_js_1 = require("./object-utils.js");
|
|
5
|
+
async function importFunction(modulePath) {
|
|
6
|
+
const module = await Promise.resolve().then(() => require(modulePath));
|
|
7
|
+
const errorMessage = `module "${modulePath}" doesn export a function`;
|
|
8
|
+
if ((0, object_utils_js_1.isFunction)(module)) {
|
|
9
|
+
return module;
|
|
10
|
+
}
|
|
11
|
+
else if ((0, object_utils_js_1.isObject)(module) && (0, object_utils_js_1.isFunction)(module.default)) {
|
|
12
|
+
return module.default;
|
|
13
|
+
}
|
|
14
|
+
throw new Error(errorMessage);
|
|
15
|
+
}
|
|
16
|
+
exports.importFunction = importFunction;
|
|
17
|
+
async function importNamedFunction(modulePath, exportName) {
|
|
18
|
+
const module = await Promise.resolve().then(() => require(modulePath));
|
|
19
|
+
const errorMessage = `no function export named "${exportName}" found in module "${modulePath}"`;
|
|
20
|
+
if (!(0, object_utils_js_1.isObject)(module)) {
|
|
21
|
+
throw new Error(errorMessage);
|
|
22
|
+
}
|
|
23
|
+
if ((0, object_utils_js_1.isFunction)(module[exportName])) {
|
|
24
|
+
return module[exportName];
|
|
25
|
+
}
|
|
26
|
+
else if ((0, object_utils_js_1.isObject)(module.default) &&
|
|
27
|
+
(0, object_utils_js_1.isFunction)(module.default[exportName])) {
|
|
28
|
+
return module.default[exportName];
|
|
29
|
+
}
|
|
30
|
+
throw new Error(errorMessage);
|
|
31
|
+
}
|
|
32
|
+
exports.importNamedFunction = importNamedFunction;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function performanceNow(): number;
|