kysely 0.27.4 → 0.27.5
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/.renovaterc.json +3 -0
- package/CONTRIBUTING.md +1 -1
- package/deno.check.d.ts +86 -0
- package/deno.check.json +21 -0
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +11 -2
- package/dist/cjs/dialect/dialect-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +37 -29
- package/dist/cjs/dialect/mssql/mssql-driver.js +20 -13
- package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +4 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +3 -0
- package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +11 -2
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +10 -3
- package/dist/cjs/dialect/postgres/postgres-driver.js +3 -0
- package/dist/cjs/dialect/postgres/postgres-introspector.js +5 -1
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +11 -2
- package/dist/cjs/driver/dummy-driver.d.ts +13 -12
- package/dist/cjs/driver/dummy-driver.js +13 -12
- package/dist/cjs/dynamic/dynamic.d.ts +6 -6
- package/dist/cjs/dynamic/dynamic.js +6 -6
- package/dist/cjs/expression/expression-builder.d.ts +152 -61
- package/dist/cjs/expression/expression-wrapper.d.ts +92 -23
- package/dist/cjs/expression/expression.d.ts +40 -5
- package/dist/cjs/helpers/mssql.d.ts +74 -14
- package/dist/cjs/helpers/mssql.js +74 -14
- package/dist/cjs/helpers/mysql.d.ts +14 -10
- package/dist/cjs/helpers/mysql.js +14 -10
- package/dist/cjs/helpers/postgres.d.ts +7 -4
- package/dist/cjs/helpers/postgres.js +7 -4
- package/dist/cjs/helpers/sqlite.d.ts +41 -16
- package/dist/cjs/helpers/sqlite.js +41 -16
- package/dist/cjs/kysely.d.ts +99 -41
- package/dist/cjs/kysely.js +60 -36
- package/dist/cjs/migration/file-migration-provider.d.ts +2 -2
- package/dist/cjs/migration/file-migration-provider.js +2 -2
- package/dist/cjs/migration/migrator.d.ts +82 -14
- package/dist/cjs/migration/migrator.js +82 -14
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +4 -0
- package/dist/cjs/operation-node/aggregate-function-node.js +9 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/data-type-node.js +12 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +9 -3
- package/dist/cjs/operation-node/operation-node-transformer.js +14 -3
- package/dist/cjs/operation-node/query-node.d.ts +4 -0
- package/dist/cjs/operation-node/query-node.js +8 -0
- package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/select-query-node.js +0 -8
- package/dist/cjs/operation-node/update-query-node.d.ts +1 -0
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +52 -25
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +24 -19
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
- package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
- package/dist/cjs/plugin/kysely-plugin.d.ts +28 -6
- package/dist/cjs/plugin/noop-plugin.d.ts +28 -6
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +62 -9
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +34 -3
- package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +28 -6
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +43 -1
- package/dist/cjs/query-builder/aggregate-function-builder.js +30 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +137 -45
- package/dist/cjs/query-builder/delete-query-builder.js +76 -26
- package/dist/cjs/query-builder/function-module.d.ts +35 -88
- package/dist/cjs/query-builder/insert-query-builder.d.ts +239 -65
- package/dist/cjs/query-builder/insert-query-builder.js +188 -52
- package/dist/cjs/query-builder/insert-result.d.ts +10 -5
- package/dist/cjs/query-builder/insert-result.js +10 -5
- package/dist/cjs/query-builder/json-path-builder.d.ts +33 -9
- package/dist/cjs/query-builder/json-path-builder.js +8 -5
- package/dist/cjs/query-builder/merge-query-builder.d.ts +159 -21
- package/dist/cjs/query-builder/merge-query-builder.js +68 -6
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +51 -18
- package/dist/cjs/query-builder/on-conflict-builder.js +41 -16
- package/dist/cjs/query-builder/output-interface.d.ts +50 -7
- package/dist/cjs/query-builder/returning-interface.d.ts +5 -5
- package/dist/cjs/query-builder/select-query-builder-expression.d.ts +8 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +295 -63
- package/dist/cjs/query-builder/select-query-builder.js +7 -7
- package/dist/cjs/query-builder/update-query-builder.d.ts +138 -29
- package/dist/cjs/query-builder/update-query-builder.js +75 -10
- package/dist/cjs/query-builder/update-result.d.ts +2 -2
- package/dist/cjs/query-builder/update-result.js +2 -2
- package/dist/cjs/query-builder/where-interface.d.ts +5 -1
- package/dist/cjs/query-compiler/default-query-compiler.js +20 -0
- package/dist/cjs/query-creator.d.ts +66 -18
- package/dist/cjs/query-creator.js +2 -2
- package/dist/cjs/raw-builder/raw-builder.d.ts +29 -7
- package/dist/cjs/raw-builder/sql.d.ts +26 -7
- package/dist/cjs/schema/alter-column-builder.d.ts +17 -3
- package/dist/cjs/schema/alter-column-builder.js +17 -3
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +43 -9
- package/dist/cjs/schema/alter-table-add-index-builder.js +26 -9
- package/dist/cjs/schema/column-definition-builder.d.ts +283 -26
- package/dist/cjs/schema/column-definition-builder.js +283 -26
- package/dist/cjs/schema/create-table-builder.d.ts +86 -33
- package/dist/cjs/schema/create-table-builder.js +86 -33
- package/dist/cjs/util/column-type.d.ts +5 -9
- package/dist/cjs/util/require-all-props.d.ts +4 -2
- package/dist/cjs/util/require-all-props.js +4 -2
- package/dist/cjs/util/streamable.d.ts +1 -1
- package/dist/cjs/util/type-utils.d.ts +4 -2
- package/dist/esm/dialect/dialect-adapter-base.d.ts +11 -2
- package/dist/esm/dialect/dialect-adapter.d.ts +11 -2
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +11 -2
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +37 -29
- package/dist/esm/dialect/mssql/mssql-driver.js +20 -13
- package/dist/esm/dialect/mysql/mysql-adapter.d.ts +11 -2
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +4 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +3 -0
- package/dist/esm/dialect/postgres/postgres-adapter.d.ts +11 -2
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +10 -3
- package/dist/esm/dialect/postgres/postgres-driver.js +3 -0
- package/dist/esm/dialect/postgres/postgres-introspector.js +5 -1
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +11 -2
- package/dist/esm/driver/dummy-driver.d.ts +13 -12
- package/dist/esm/driver/dummy-driver.js +13 -12
- package/dist/esm/dynamic/dynamic.d.ts +6 -6
- package/dist/esm/dynamic/dynamic.js +6 -6
- package/dist/esm/expression/expression-builder.d.ts +152 -61
- package/dist/esm/expression/expression-wrapper.d.ts +92 -23
- package/dist/esm/expression/expression.d.ts +40 -5
- package/dist/esm/helpers/mssql.d.ts +74 -14
- package/dist/esm/helpers/mssql.js +74 -14
- package/dist/esm/helpers/mysql.d.ts +14 -10
- package/dist/esm/helpers/mysql.js +14 -10
- package/dist/esm/helpers/postgres.d.ts +7 -4
- package/dist/esm/helpers/postgres.js +7 -4
- package/dist/esm/helpers/sqlite.d.ts +41 -16
- package/dist/esm/helpers/sqlite.js +41 -16
- package/dist/esm/kysely.d.ts +99 -41
- package/dist/esm/kysely.js +60 -36
- package/dist/esm/migration/file-migration-provider.d.ts +2 -2
- package/dist/esm/migration/file-migration-provider.js +2 -2
- package/dist/esm/migration/migrator.d.ts +82 -14
- package/dist/esm/migration/migrator.js +82 -14
- package/dist/esm/operation-node/aggregate-function-node.d.ts +4 -0
- package/dist/esm/operation-node/aggregate-function-node.js +9 -0
- package/dist/esm/operation-node/data-type-node.d.ts +1 -1
- package/dist/esm/operation-node/data-type-node.js +12 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +1 -0
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +1 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +9 -3
- package/dist/esm/operation-node/operation-node-transformer.js +14 -3
- package/dist/esm/operation-node/query-node.d.ts +4 -0
- package/dist/esm/operation-node/query-node.js +8 -0
- package/dist/esm/operation-node/select-query-node.d.ts +0 -1
- package/dist/esm/operation-node/select-query-node.js +0 -8
- package/dist/esm/operation-node/update-query-node.d.ts +1 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +52 -25
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +24 -19
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
- package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
- package/dist/esm/plugin/kysely-plugin.d.ts +28 -6
- package/dist/esm/plugin/noop-plugin.d.ts +28 -6
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +62 -9
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +34 -3
- package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +28 -6
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +43 -1
- package/dist/esm/query-builder/aggregate-function-builder.js +30 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +137 -45
- package/dist/esm/query-builder/delete-query-builder.js +76 -26
- package/dist/esm/query-builder/function-module.d.ts +35 -88
- package/dist/esm/query-builder/insert-query-builder.d.ts +239 -65
- package/dist/esm/query-builder/insert-query-builder.js +188 -52
- package/dist/esm/query-builder/insert-result.d.ts +10 -5
- package/dist/esm/query-builder/insert-result.js +10 -5
- package/dist/esm/query-builder/json-path-builder.d.ts +33 -9
- package/dist/esm/query-builder/json-path-builder.js +8 -5
- package/dist/esm/query-builder/merge-query-builder.d.ts +159 -21
- package/dist/esm/query-builder/merge-query-builder.js +68 -6
- package/dist/esm/query-builder/on-conflict-builder.d.ts +51 -18
- package/dist/esm/query-builder/on-conflict-builder.js +41 -16
- package/dist/esm/query-builder/output-interface.d.ts +50 -7
- package/dist/esm/query-builder/returning-interface.d.ts +5 -5
- package/dist/esm/query-builder/select-query-builder-expression.d.ts +8 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +295 -63
- package/dist/esm/query-builder/select-query-builder.js +7 -7
- package/dist/esm/query-builder/update-query-builder.d.ts +138 -29
- package/dist/esm/query-builder/update-query-builder.js +75 -10
- package/dist/esm/query-builder/update-result.d.ts +2 -2
- package/dist/esm/query-builder/update-result.js +2 -2
- package/dist/esm/query-builder/where-interface.d.ts +5 -1
- package/dist/esm/query-compiler/default-query-compiler.js +20 -0
- package/dist/esm/query-creator.d.ts +66 -18
- package/dist/esm/query-creator.js +2 -2
- package/dist/esm/raw-builder/raw-builder.d.ts +29 -7
- package/dist/esm/raw-builder/sql.d.ts +26 -7
- package/dist/esm/schema/alter-column-builder.d.ts +17 -3
- package/dist/esm/schema/alter-column-builder.js +17 -3
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +43 -9
- package/dist/esm/schema/alter-table-add-index-builder.js +26 -9
- package/dist/esm/schema/column-definition-builder.d.ts +283 -26
- package/dist/esm/schema/column-definition-builder.js +283 -26
- package/dist/esm/schema/create-table-builder.d.ts +86 -33
- package/dist/esm/schema/create-table-builder.js +86 -33
- package/dist/esm/util/column-type.d.ts +5 -9
- package/dist/esm/util/require-all-props.d.ts +4 -2
- package/dist/esm/util/require-all-props.js +4 -2
- package/dist/esm/util/streamable.d.ts +1 -1
- package/dist/esm/util/type-utils.d.ts +4 -2
- package/package.json +28 -23
|
@@ -12,6 +12,23 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
12
12
|
*
|
|
13
13
|
* Some dialects like PostgreSQL don't support this. On PostgreSQL
|
|
14
14
|
* you can use the `serial` or `bigserial` data type instead.
|
|
15
|
+
*
|
|
16
|
+
* ### Examples
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* await db.schema
|
|
20
|
+
* .createTable('person')
|
|
21
|
+
* .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())
|
|
22
|
+
* .execute()
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* The generated SQL (MySQL):
|
|
26
|
+
*
|
|
27
|
+
* ```sql
|
|
28
|
+
* create table `person` (
|
|
29
|
+
* `id` integer primary key auto_increment
|
|
30
|
+
* )
|
|
31
|
+
* ```
|
|
15
32
|
*/
|
|
16
33
|
autoIncrement(): ColumnDefinitionBuilder;
|
|
17
34
|
/**
|
|
@@ -20,6 +37,23 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
20
37
|
* This only works on some dialects like MS SQL Server (MSSQL).
|
|
21
38
|
*
|
|
22
39
|
* For PostgreSQL's `generated always as identity` use {@link generatedAlwaysAsIdentity}.
|
|
40
|
+
*
|
|
41
|
+
* ### Examples
|
|
42
|
+
*
|
|
43
|
+
* ```ts
|
|
44
|
+
* await db.schema
|
|
45
|
+
* .createTable('person')
|
|
46
|
+
* .addColumn('id', 'integer', col => col.identity().primaryKey())
|
|
47
|
+
* .execute()
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* The generated SQL (MSSQL):
|
|
51
|
+
*
|
|
52
|
+
* ```sql
|
|
53
|
+
* create table "person" (
|
|
54
|
+
* "id" integer identity primary key
|
|
55
|
+
* )
|
|
56
|
+
* ```
|
|
23
57
|
*/
|
|
24
58
|
identity(): ColumnDefinitionBuilder;
|
|
25
59
|
/**
|
|
@@ -27,6 +61,22 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
27
61
|
*
|
|
28
62
|
* If you want to specify a composite primary key use the
|
|
29
63
|
* {@link CreateTableBuilder.addPrimaryKeyConstraint} method.
|
|
64
|
+
*
|
|
65
|
+
* ### Examples
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* await db.schema
|
|
69
|
+
* .createTable('person')
|
|
70
|
+
* .addColumn('id', 'integer', col => col.primaryKey())
|
|
71
|
+
* .execute()
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* The generated SQL (MySQL):
|
|
75
|
+
*
|
|
76
|
+
* ```sql
|
|
77
|
+
* create table `person` (
|
|
78
|
+
* `id` integer primary key
|
|
79
|
+
* )
|
|
30
80
|
*/
|
|
31
81
|
primaryKey(): ColumnDefinitionBuilder;
|
|
32
82
|
/**
|
|
@@ -39,7 +89,18 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
39
89
|
* ### Examples
|
|
40
90
|
*
|
|
41
91
|
* ```ts
|
|
42
|
-
*
|
|
92
|
+
* await db.schema
|
|
93
|
+
* .createTable('pet')
|
|
94
|
+
* .addColumn('owner_id', 'integer', (col) => col.references('person.id'))
|
|
95
|
+
* .execute()
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* The generated SQL (PostgreSQL):
|
|
99
|
+
*
|
|
100
|
+
* ```sql
|
|
101
|
+
* create table "pet" (
|
|
102
|
+
* "owner_id" integer references "person" ("id")
|
|
103
|
+
* )
|
|
43
104
|
* ```
|
|
44
105
|
*/
|
|
45
106
|
references(ref: string): ColumnDefinitionBuilder;
|
|
@@ -53,32 +114,117 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
53
114
|
* ### Examples
|
|
54
115
|
*
|
|
55
116
|
* ```ts
|
|
56
|
-
*
|
|
117
|
+
* await db.schema
|
|
118
|
+
* .createTable('pet')
|
|
119
|
+
* .addColumn(
|
|
120
|
+
* 'owner_id',
|
|
121
|
+
* 'integer',
|
|
122
|
+
* (col) => col.references('person.id').onDelete('cascade')
|
|
123
|
+
* )
|
|
124
|
+
* .execute()
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* The generated SQL (PostgreSQL):
|
|
128
|
+
*
|
|
129
|
+
* ```sql
|
|
130
|
+
* create table "pet" (
|
|
131
|
+
* "owner_id" integer references "person" ("id") on delete cascade
|
|
132
|
+
* )
|
|
57
133
|
* ```
|
|
58
134
|
*/
|
|
59
135
|
onDelete(onDelete: OnModifyForeignAction): ColumnDefinitionBuilder;
|
|
60
136
|
/**
|
|
61
137
|
* Adds an `on update` constraint for the foreign key column.
|
|
62
138
|
*
|
|
139
|
+
* If your database engine doesn't support foreign key constraints in the
|
|
140
|
+
* column definition (like MySQL 5) you need to call the table level
|
|
141
|
+
* {@link CreateTableBuilder.addForeignKeyConstraint} method instead.
|
|
142
|
+
*
|
|
63
143
|
* ### Examples
|
|
64
144
|
*
|
|
65
145
|
* ```ts
|
|
66
|
-
*
|
|
146
|
+
* await db.schema
|
|
147
|
+
* .createTable('pet')
|
|
148
|
+
* .addColumn(
|
|
149
|
+
* 'owner_id',
|
|
150
|
+
* 'integer',
|
|
151
|
+
* (col) => col.references('person.id').onUpdate('cascade')
|
|
152
|
+
* )
|
|
153
|
+
* .execute()
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* The generated SQL (PostgreSQL):
|
|
157
|
+
*
|
|
158
|
+
* ```sql
|
|
159
|
+
* create table "pet" (
|
|
160
|
+
* "owner_id" integer references "person" ("id") on update cascade
|
|
161
|
+
* )
|
|
67
162
|
* ```
|
|
68
163
|
*/
|
|
69
164
|
onUpdate(onUpdate: OnModifyForeignAction): ColumnDefinitionBuilder;
|
|
70
165
|
/**
|
|
71
166
|
* Adds a unique constraint for the column.
|
|
167
|
+
*
|
|
168
|
+
* ### Examples
|
|
169
|
+
*
|
|
170
|
+
* ```ts
|
|
171
|
+
* await db.schema
|
|
172
|
+
* .createTable('person')
|
|
173
|
+
* .addColumn('email', 'varchar(255)', col => col.unique())
|
|
174
|
+
* .execute()
|
|
175
|
+
* ```
|
|
176
|
+
*
|
|
177
|
+
* The generated SQL (MySQL):
|
|
178
|
+
*
|
|
179
|
+
* ```sql
|
|
180
|
+
* create table `person` (
|
|
181
|
+
* `email` varchar(255) unique
|
|
182
|
+
* )
|
|
183
|
+
* ```
|
|
72
184
|
*/
|
|
73
185
|
unique(): ColumnDefinitionBuilder;
|
|
74
186
|
/**
|
|
75
187
|
* Adds a `not null` constraint for the column.
|
|
188
|
+
*
|
|
189
|
+
* ### Examples
|
|
190
|
+
*
|
|
191
|
+
* ```ts
|
|
192
|
+
* await db.schema
|
|
193
|
+
* .createTable('person')
|
|
194
|
+
* .addColumn('first_name', 'varchar(255)', col => col.notNull())
|
|
195
|
+
* .execute()
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* The generated SQL (MySQL):
|
|
199
|
+
*
|
|
200
|
+
* ```sql
|
|
201
|
+
* create table `person` (
|
|
202
|
+
* `first_name` varchar(255) not null
|
|
203
|
+
* )
|
|
204
|
+
* ```
|
|
76
205
|
*/
|
|
77
206
|
notNull(): ColumnDefinitionBuilder;
|
|
78
207
|
/**
|
|
79
208
|
* Adds a `unsigned` modifier for the column.
|
|
80
209
|
*
|
|
81
210
|
* This only works on some dialects like MySQL.
|
|
211
|
+
*
|
|
212
|
+
* ### Examples
|
|
213
|
+
*
|
|
214
|
+
* ```ts
|
|
215
|
+
* await db.schema
|
|
216
|
+
* .createTable('person')
|
|
217
|
+
* .addColumn('age', 'integer', col => col.unsigned())
|
|
218
|
+
* .execute()
|
|
219
|
+
* ```
|
|
220
|
+
*
|
|
221
|
+
* The generated SQL (MySQL):
|
|
222
|
+
*
|
|
223
|
+
* ```sql
|
|
224
|
+
* create table `person` (
|
|
225
|
+
* `age` integer unsigned
|
|
226
|
+
* )
|
|
227
|
+
* ```
|
|
82
228
|
*/
|
|
83
229
|
unsigned(): ColumnDefinitionBuilder;
|
|
84
230
|
/**
|
|
@@ -87,27 +233,43 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
87
233
|
* ### Examples
|
|
88
234
|
*
|
|
89
235
|
* ```ts
|
|
90
|
-
* db.schema
|
|
236
|
+
* await db.schema
|
|
91
237
|
* .createTable('pet')
|
|
92
238
|
* .addColumn('number_of_legs', 'integer', (col) => col.defaultTo(4))
|
|
93
239
|
* .execute()
|
|
94
240
|
* ```
|
|
95
241
|
*
|
|
242
|
+
* The generated SQL (MySQL):
|
|
243
|
+
*
|
|
244
|
+
* ```sql
|
|
245
|
+
* create table `pet` (
|
|
246
|
+
* `number_of_legs` integer default 4
|
|
247
|
+
* )
|
|
248
|
+
* ```
|
|
249
|
+
*
|
|
96
250
|
* Values passed to `defaultTo` are interpreted as value literals by default. You can define
|
|
97
251
|
* an arbitrary SQL expression using the {@link sql} template tag:
|
|
98
252
|
*
|
|
99
253
|
* ```ts
|
|
100
254
|
* import { sql } from 'kysely'
|
|
101
255
|
*
|
|
102
|
-
* db.schema
|
|
256
|
+
* await db.schema
|
|
103
257
|
* .createTable('pet')
|
|
104
258
|
* .addColumn(
|
|
105
|
-
* '
|
|
106
|
-
* '
|
|
107
|
-
* (col) => col.defaultTo(sql`
|
|
259
|
+
* 'created_at',
|
|
260
|
+
* 'timestamp',
|
|
261
|
+
* (col) => col.defaultTo(sql`CURRENT_TIMESTAMP`)
|
|
108
262
|
* )
|
|
109
263
|
* .execute()
|
|
110
264
|
* ```
|
|
265
|
+
*
|
|
266
|
+
* The generated SQL (MySQL):
|
|
267
|
+
*
|
|
268
|
+
* ```sql
|
|
269
|
+
* create table `pet` (
|
|
270
|
+
* `created_at` timestamp default CURRENT_TIMESTAMP
|
|
271
|
+
* )
|
|
272
|
+
* ```
|
|
111
273
|
*/
|
|
112
274
|
defaultTo(value: DefaultValueExpression): ColumnDefinitionBuilder;
|
|
113
275
|
/**
|
|
@@ -118,13 +280,21 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
118
280
|
* ```ts
|
|
119
281
|
* import { sql } from 'kysely'
|
|
120
282
|
*
|
|
121
|
-
* db.schema
|
|
283
|
+
* await db.schema
|
|
122
284
|
* .createTable('pet')
|
|
123
285
|
* .addColumn('number_of_legs', 'integer', (col) =>
|
|
124
286
|
* col.check(sql`number_of_legs < 5`)
|
|
125
287
|
* )
|
|
126
288
|
* .execute()
|
|
127
289
|
* ```
|
|
290
|
+
*
|
|
291
|
+
* The generated SQL (MySQL):
|
|
292
|
+
*
|
|
293
|
+
* ```sql
|
|
294
|
+
* create table `pet` (
|
|
295
|
+
* `number_of_legs` integer check (number_of_legs < 5)
|
|
296
|
+
* )
|
|
297
|
+
* ```
|
|
128
298
|
*/
|
|
129
299
|
check(expression: Expression<any>): ColumnDefinitionBuilder;
|
|
130
300
|
/**
|
|
@@ -135,13 +305,21 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
135
305
|
* ```ts
|
|
136
306
|
* import { sql } from 'kysely'
|
|
137
307
|
*
|
|
138
|
-
* db.schema
|
|
308
|
+
* await db.schema
|
|
139
309
|
* .createTable('person')
|
|
140
310
|
* .addColumn('full_name', 'varchar(255)',
|
|
141
311
|
* (col) => col.generatedAlwaysAs(sql`concat(first_name, ' ', last_name)`)
|
|
142
312
|
* )
|
|
143
313
|
* .execute()
|
|
144
314
|
* ```
|
|
315
|
+
*
|
|
316
|
+
* The generated SQL (MySQL):
|
|
317
|
+
*
|
|
318
|
+
* ```sql
|
|
319
|
+
* create table `person` (
|
|
320
|
+
* `full_name` varchar(255) generated always as (concat(first_name, ' ', last_name))
|
|
321
|
+
* )
|
|
322
|
+
* ```
|
|
145
323
|
*/
|
|
146
324
|
generatedAlwaysAs(expression: Expression<any>): ColumnDefinitionBuilder;
|
|
147
325
|
/**
|
|
@@ -150,10 +328,48 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
150
328
|
* This only works on some dialects like PostgreSQL.
|
|
151
329
|
*
|
|
152
330
|
* For MS SQL Server (MSSQL)'s identity column use {@link identity}.
|
|
331
|
+
*
|
|
332
|
+
* ### Examples
|
|
333
|
+
*
|
|
334
|
+
* ```ts
|
|
335
|
+
* await db.schema
|
|
336
|
+
* .createTable('person')
|
|
337
|
+
* .addColumn('id', 'integer', col => col.generatedAlwaysAsIdentity().primaryKey())
|
|
338
|
+
* .execute()
|
|
339
|
+
* ```
|
|
340
|
+
*
|
|
341
|
+
* The generated SQL (PostgreSQL):
|
|
342
|
+
*
|
|
343
|
+
* ```sql
|
|
344
|
+
* create table "person" (
|
|
345
|
+
* "id" integer generated always as identity primary key
|
|
346
|
+
* )
|
|
347
|
+
* ```
|
|
153
348
|
*/
|
|
154
349
|
generatedAlwaysAsIdentity(): ColumnDefinitionBuilder;
|
|
155
350
|
/**
|
|
156
351
|
* Adds the `generated by default as identity` specifier on supported dialects.
|
|
352
|
+
*
|
|
353
|
+
* This only works on some dialects like PostgreSQL.
|
|
354
|
+
*
|
|
355
|
+
* For MS SQL Server (MSSQL)'s identity column use {@link identity}.
|
|
356
|
+
*
|
|
357
|
+
* ### Examples
|
|
358
|
+
*
|
|
359
|
+
* ```ts
|
|
360
|
+
* await db.schema
|
|
361
|
+
* .createTable('person')
|
|
362
|
+
* .addColumn('id', 'integer', col => col.generatedByDefaultAsIdentity().primaryKey())
|
|
363
|
+
* .execute()
|
|
364
|
+
* ```
|
|
365
|
+
*
|
|
366
|
+
* The generated SQL (PostgreSQL):
|
|
367
|
+
*
|
|
368
|
+
* ```sql
|
|
369
|
+
* create table "person" (
|
|
370
|
+
* "id" integer generated by default as identity primary key
|
|
371
|
+
* )
|
|
372
|
+
* ```
|
|
157
373
|
*/
|
|
158
374
|
generatedByDefaultAsIdentity(): ColumnDefinitionBuilder;
|
|
159
375
|
/**
|
|
@@ -163,14 +379,24 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
163
379
|
* ### Examples
|
|
164
380
|
*
|
|
165
381
|
* ```ts
|
|
166
|
-
*
|
|
382
|
+
* import { sql } from 'kysely'
|
|
383
|
+
*
|
|
384
|
+
* await db.schema
|
|
167
385
|
* .createTable('person')
|
|
168
386
|
* .addColumn('full_name', 'varchar(255)', (col) => col
|
|
169
|
-
* .generatedAlwaysAs(
|
|
387
|
+
* .generatedAlwaysAs(sql`concat(first_name, ' ', last_name)`)
|
|
170
388
|
* .stored()
|
|
171
389
|
* )
|
|
172
390
|
* .execute()
|
|
173
391
|
* ```
|
|
392
|
+
*
|
|
393
|
+
* The generated SQL (MySQL):
|
|
394
|
+
*
|
|
395
|
+
* ```sql
|
|
396
|
+
* create table `person` (
|
|
397
|
+
* `full_name` varchar(255) generated always as (concat(first_name, ' ', last_name)) stored
|
|
398
|
+
* )
|
|
399
|
+
* ```
|
|
174
400
|
*/
|
|
175
401
|
stored(): ColumnDefinitionBuilder;
|
|
176
402
|
/**
|
|
@@ -179,10 +405,17 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
179
405
|
* ### Examples
|
|
180
406
|
*
|
|
181
407
|
* ```ts
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
408
|
+
* import { sql } from 'kysely'
|
|
409
|
+
*
|
|
410
|
+
* await db.schema
|
|
411
|
+
* .createTable('person')
|
|
412
|
+
* .addColumn('id', 'integer', col => col.primaryKey())
|
|
413
|
+
* .addColumn(
|
|
414
|
+
* 'first_name',
|
|
415
|
+
* 'varchar(36)',
|
|
416
|
+
* (col) => col.modifyFront(sql`collate utf8mb4_general_ci`).notNull()
|
|
417
|
+
* )
|
|
418
|
+
* .execute()
|
|
186
419
|
* ```
|
|
187
420
|
*
|
|
188
421
|
* The generated SQL (MySQL):
|
|
@@ -204,10 +437,11 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
204
437
|
* ### Examples
|
|
205
438
|
*
|
|
206
439
|
* ```ts
|
|
207
|
-
* db.schema
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
440
|
+
* db.schema
|
|
441
|
+
* .createTable('person')
|
|
442
|
+
* .addColumn('id', 'integer', col => col.primaryKey())
|
|
443
|
+
* .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct())
|
|
444
|
+
* .execute()
|
|
211
445
|
* ```
|
|
212
446
|
*
|
|
213
447
|
* The generated SQL (PostgreSQL):
|
|
@@ -221,8 +455,22 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
221
455
|
*/
|
|
222
456
|
nullsNotDistinct(): ColumnDefinitionBuilder;
|
|
223
457
|
/**
|
|
224
|
-
* Adds `if not exists` specifier.
|
|
225
|
-
*
|
|
458
|
+
* Adds `if not exists` specifier. This only works for PostgreSQL.
|
|
459
|
+
*
|
|
460
|
+
* ### Examples
|
|
461
|
+
*
|
|
462
|
+
* ```ts
|
|
463
|
+
* await db.schema
|
|
464
|
+
* .alterTable('person')
|
|
465
|
+
* .addColumn('email', 'varchar(255)', col => col.unique().ifNotExists())
|
|
466
|
+
* .execute()
|
|
467
|
+
* ```
|
|
468
|
+
*
|
|
469
|
+
* The generated SQL (PostgreSQL):
|
|
470
|
+
*
|
|
471
|
+
* ```sql
|
|
472
|
+
* alter table "person" add column if not exists "email" varchar(255) unique
|
|
473
|
+
* ```
|
|
226
474
|
*/
|
|
227
475
|
ifNotExists(): ColumnDefinitionBuilder;
|
|
228
476
|
/**
|
|
@@ -231,10 +479,19 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
|
|
|
231
479
|
* ### Examples
|
|
232
480
|
*
|
|
233
481
|
* ```ts
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
482
|
+
* import { sql } from 'kysely'
|
|
483
|
+
*
|
|
484
|
+
* await db.schema
|
|
485
|
+
* .createTable('person')
|
|
486
|
+
* .addColumn('id', 'integer', col => col.primaryKey())
|
|
487
|
+
* .addColumn(
|
|
488
|
+
* 'age',
|
|
489
|
+
* 'integer',
|
|
490
|
+
* col => col.unsigned()
|
|
491
|
+
* .notNull()
|
|
492
|
+
* .modifyEnd(sql`comment ${sql.lit('it is not polite to ask a woman her age')}`)
|
|
493
|
+
* )
|
|
494
|
+
* .execute()
|
|
238
495
|
* ```
|
|
239
496
|
*
|
|
240
497
|
* The generated SQL (MySQL):
|