kysely 0.9.9 → 0.10.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.
Files changed (68) hide show
  1. package/README.md +15 -13
  2. package/dist/cjs/operation-node/column-definition-node.d.ts +4 -4
  3. package/dist/cjs/operation-node/column-definition-node.js +4 -4
  4. package/dist/cjs/operation-node/create-schema-node.d.ts +1 -2
  5. package/dist/cjs/operation-node/create-table-node.d.ts +2 -3
  6. package/dist/cjs/operation-node/create-table-node.js +2 -2
  7. package/dist/cjs/operation-node/create-view-node.d.ts +2 -2
  8. package/dist/cjs/operation-node/drop-index-node.d.ts +1 -2
  9. package/dist/cjs/operation-node/drop-schema-node.d.ts +2 -3
  10. package/dist/cjs/operation-node/drop-schema-node.js +2 -2
  11. package/dist/cjs/operation-node/drop-table-node.d.ts +2 -3
  12. package/dist/cjs/operation-node/drop-table-node.js +2 -2
  13. package/dist/cjs/operation-node/drop-view-node.d.ts +3 -3
  14. package/dist/cjs/operation-node/drop-view-node.js +2 -2
  15. package/dist/cjs/operation-node/operation-node-transformer.js +13 -11
  16. package/dist/cjs/operation-node/select-query-node.d.ts +1 -1
  17. package/dist/cjs/operation-node/select-query-node.js +1 -1
  18. package/dist/cjs/query-compiler/default-query-compiler.js +20 -13
  19. package/dist/cjs/schema/alter-table-builder.d.ts +2 -2
  20. package/dist/cjs/schema/alter-table-builder.js +4 -4
  21. package/dist/cjs/schema/column-definition-builder.d.ts +2 -2
  22. package/dist/cjs/schema/column-definition-builder.js +5 -5
  23. package/dist/cjs/schema/create-schema-builder.js +1 -1
  24. package/dist/cjs/schema/create-table-builder.d.ts +1 -1
  25. package/dist/cjs/schema/create-table-builder.js +2 -2
  26. package/dist/cjs/schema/create-view-builder.d.ts +1 -0
  27. package/dist/cjs/schema/create-view-builder.js +9 -1
  28. package/dist/cjs/schema/drop-index-builder.js +1 -1
  29. package/dist/cjs/schema/drop-schema-builder.js +3 -1
  30. package/dist/cjs/schema/drop-table-builder.js +3 -1
  31. package/dist/cjs/schema/drop-view-builder.d.ts +1 -0
  32. package/dist/cjs/schema/drop-view-builder.js +11 -1
  33. package/dist/cjs/schema/schema.d.ts +3 -3
  34. package/dist/cjs/schema/schema.js +3 -3
  35. package/dist/esm/operation-node/column-definition-node.d.ts +4 -4
  36. package/dist/esm/operation-node/column-definition-node.js +4 -4
  37. package/dist/esm/operation-node/create-schema-node.d.ts +1 -2
  38. package/dist/esm/operation-node/create-table-node.d.ts +2 -3
  39. package/dist/esm/operation-node/create-table-node.js +2 -2
  40. package/dist/esm/operation-node/create-view-node.d.ts +2 -2
  41. package/dist/esm/operation-node/drop-index-node.d.ts +1 -2
  42. package/dist/esm/operation-node/drop-schema-node.d.ts +2 -3
  43. package/dist/esm/operation-node/drop-schema-node.js +2 -2
  44. package/dist/esm/operation-node/drop-table-node.d.ts +2 -3
  45. package/dist/esm/operation-node/drop-table-node.js +2 -2
  46. package/dist/esm/operation-node/drop-view-node.d.ts +3 -3
  47. package/dist/esm/operation-node/drop-view-node.js +2 -2
  48. package/dist/esm/operation-node/operation-node-transformer.js +13 -11
  49. package/dist/esm/operation-node/select-query-node.d.ts +1 -1
  50. package/dist/esm/operation-node/select-query-node.js +1 -1
  51. package/dist/esm/query-compiler/default-query-compiler.js +20 -13
  52. package/dist/esm/schema/alter-table-builder.d.ts +2 -2
  53. package/dist/esm/schema/alter-table-builder.js +4 -4
  54. package/dist/esm/schema/column-definition-builder.d.ts +2 -2
  55. package/dist/esm/schema/column-definition-builder.js +5 -5
  56. package/dist/esm/schema/create-schema-builder.js +1 -1
  57. package/dist/esm/schema/create-table-builder.d.ts +1 -1
  58. package/dist/esm/schema/create-table-builder.js +2 -2
  59. package/dist/esm/schema/create-view-builder.d.ts +1 -0
  60. package/dist/esm/schema/create-view-builder.js +9 -1
  61. package/dist/esm/schema/drop-index-builder.js +1 -1
  62. package/dist/esm/schema/drop-schema-builder.js +3 -1
  63. package/dist/esm/schema/drop-table-builder.js +3 -1
  64. package/dist/esm/schema/drop-view-builder.d.ts +1 -0
  65. package/dist/esm/schema/drop-view-builder.js +11 -1
  66. package/dist/esm/schema/schema.d.ts +3 -3
  67. package/dist/esm/schema/schema.js +3 -3
  68. package/package.json +1 -1
package/README.md CHANGED
@@ -67,7 +67,9 @@ import { Kysely, PostgresDialect } from 'kysely'
67
67
  interface Person {
68
68
  id: number
69
69
  first_name: string
70
- last_name: string
70
+ // If the column is nullable in the db, make its type nullable.
71
+ // Don't use optional properties.
72
+ last_name: string | null
71
73
  gender: 'male' | 'female' | 'other'
72
74
  }
73
75
 
@@ -172,9 +174,9 @@ export async function up(db: Kysely<any>): Promise<void> {
172
174
  await db.schema
173
175
  .createTable('person')
174
176
  .addColumn('id', 'serial', (col) => col.primaryKey())
175
- .addColumn('first_name', 'varchar')
177
+ .addColumn('first_name', 'varchar', (col) => col.notNull())
176
178
  .addColumn('last_name', 'varchar')
177
- .addColumn('gender', 'varchar(50)')
179
+ .addColumn('gender', 'varchar(50)', (col) => col.notNull())
178
180
  .execute()
179
181
 
180
182
  await db.schema
@@ -182,9 +184,9 @@ export async function up(db: Kysely<any>): Promise<void> {
182
184
  .addColumn('id', 'serial', (col) => col.primaryKey())
183
185
  .addColumn('name', 'varchar', (col) => col.notNull().unique())
184
186
  .addColumn('owner_id', 'integer', (col) =>
185
- col.references('person.id').onDelete('cascade')
187
+ col.references('person.id').onDelete('cascade').notNull()
186
188
  )
187
- .addColumn('species', 'varchar')
189
+ .addColumn('species', 'varchar', (col) => col.notNull())
188
190
  .execute()
189
191
 
190
192
  await db.schema
@@ -208,18 +210,18 @@ import { Kysely } from 'kysely'
208
210
  export async function up(db: Kysely<any>): Promise<void> {
209
211
  await db.schema
210
212
  .createTable('person')
211
- .addColumn('id', 'integer', (col) => col.increments().primaryKey())
212
- .addColumn('first_name', 'varchar')
213
- .addColumn('last_name', 'varchar')
214
- .addColumn('gender', 'varchar(50)')
213
+ .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey())
214
+ .addColumn('first_name', 'varchar(255)', (col) => col.notNull())
215
+ .addColumn('last_name', 'varchar(255)')
216
+ .addColumn('gender', 'varchar(50)', (col) => col.notNull())
215
217
  .execute()
216
218
 
217
219
  await db.schema
218
220
  .createTable('pet')
219
- .addColumn('id', 'integer', (col) => col.increments().primaryKey())
220
- .addColumn('name', 'varchar', (col) => col.notNull().unique())
221
- .addColumn('owner_id', 'integer')
222
- .addColumn('species', 'varchar')
221
+ .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey())
222
+ .addColumn('name', 'varchar(255)', (col) => col.notNull().unique())
223
+ .addColumn('owner_id', 'integer', (col) => col.notNull())
224
+ .addColumn('species', 'varchar(255)', (col) => col.notNull())
223
225
  .addForeignKeyConstraint(
224
226
  'pet_owner_id_fk', ['owner_id'], 'person', ['id'],
225
227
  (cb) => cb.onDelete('cascade')
@@ -12,10 +12,10 @@ export interface ColumnDefinitionNode extends OperationNode {
12
12
  readonly column: ColumnNode;
13
13
  readonly dataType: ColumnDataTypeNode;
14
14
  readonly references?: ReferencesNode;
15
- readonly isPrimaryKey: boolean;
16
- readonly isAutoIncrementing: boolean;
17
- readonly isUnique: boolean;
18
- readonly isNullable: boolean;
15
+ readonly primaryKey: boolean;
16
+ readonly autoIncrement: boolean;
17
+ readonly unique: boolean;
18
+ readonly nullable: boolean;
19
19
  readonly defaultTo?: ValueNode | RawNode;
20
20
  readonly check?: CheckConstraintNode;
21
21
  }
@@ -15,10 +15,10 @@ exports.ColumnDefinitionNode = (0, object_utils_js_1.freeze)({
15
15
  kind: 'ColumnDefinitionNode',
16
16
  column: column_node_js_1.ColumnNode.create(column),
17
17
  dataType,
18
- isPrimaryKey: false,
19
- isAutoIncrementing: false,
20
- isUnique: false,
21
- isNullable: true,
18
+ primaryKey: false,
19
+ autoIncrement: false,
20
+ unique: false,
21
+ nullable: true,
22
22
  });
23
23
  },
24
24
  cloneWith(node, props) {
@@ -1,11 +1,10 @@
1
1
  import { IdentifierNode } from './identifier-node.js';
2
2
  import { OperationNode } from './operation-node.js';
3
- export declare type CreateSchemaNodeModifier = 'IfNotExists';
4
3
  export declare type CreateSchemaNodeParams = Omit<Partial<CreateSchemaNode>, 'kind' | 'schema'>;
5
4
  export interface CreateSchemaNode extends OperationNode {
6
5
  readonly kind: 'CreateSchemaNode';
7
6
  readonly schema: IdentifierNode;
8
- readonly modifier?: CreateSchemaNodeModifier;
7
+ readonly ifNotExists?: boolean;
9
8
  }
10
9
  /**
11
10
  * @internal
@@ -2,12 +2,11 @@ import { OperationNode } from './operation-node.js';
2
2
  import { TableNode } from './table-node.js';
3
3
  import { ConstraintNode } from './constraint-node.js';
4
4
  import { ColumnDefinitionNode } from './column-definition-node.js';
5
- export declare type CreateTableNodeModifier = 'IfNotExists';
6
5
  export interface CreateTableNode extends OperationNode {
7
6
  readonly kind: 'CreateTableNode';
8
7
  readonly table: TableNode;
9
8
  readonly columns: ReadonlyArray<ColumnDefinitionNode>;
10
- readonly modifier?: CreateTableNodeModifier;
9
+ readonly ifNotExists?: boolean;
11
10
  readonly constraints?: ReadonlyArray<ConstraintNode>;
12
11
  }
13
12
  /**
@@ -17,6 +16,6 @@ export declare const CreateTableNode: Readonly<{
17
16
  is(node: OperationNode): node is CreateTableNode;
18
17
  create(table: TableNode): CreateTableNode;
19
18
  cloneWithColumn(createTable: CreateTableNode, column: ColumnDefinitionNode): CreateTableNode;
20
- cloneWithModifier(createTable: CreateTableNode, modifier: CreateTableNodeModifier): CreateTableNode;
19
+ cloneWithIfNotExists(createTable: CreateTableNode, ifNotExists: boolean): CreateTableNode;
21
20
  cloneWithConstraint(createTable: CreateTableNode, constraint: ConstraintNode): CreateTableNode;
22
21
  }>;
@@ -22,10 +22,10 @@ exports.CreateTableNode = (0, object_utils_js_1.freeze)({
22
22
  columns: (0, object_utils_js_1.freeze)([...createTable.columns, column]),
23
23
  });
24
24
  },
25
- cloneWithModifier(createTable, modifier) {
25
+ cloneWithIfNotExists(createTable, ifNotExists) {
26
26
  return (0, object_utils_js_1.freeze)({
27
27
  ...createTable,
28
- modifier,
28
+ ifNotExists,
29
29
  });
30
30
  },
31
31
  cloneWithConstraint(createTable, constraint) {
@@ -3,12 +3,12 @@ import { IdentifierNode } from './identifier-node.js';
3
3
  import { OperationNode } from './operation-node.js';
4
4
  import { RawNode } from './raw-node.js';
5
5
  import { SelectQueryNode } from './select-query-node.js';
6
- export declare type CreateViewNodeModifier = 'OrReplace';
7
6
  export declare type CreateViewNodeParams = Omit<Partial<CreateViewNode>, 'kind' | 'name'>;
8
7
  export interface CreateViewNode extends OperationNode {
9
8
  readonly kind: 'CreateViewNode';
10
9
  readonly name: IdentifierNode;
11
- readonly modifier?: CreateViewNodeModifier;
10
+ readonly materialized?: boolean;
11
+ readonly orReplace?: boolean;
12
12
  readonly columns?: ReadonlyArray<ColumnNode>;
13
13
  readonly as?: SelectQueryNode | RawNode;
14
14
  }
@@ -2,12 +2,11 @@ import { IdentifierNode } from './identifier-node.js';
2
2
  import { OperationNode } from './operation-node.js';
3
3
  import { TableNode } from './table-node.js';
4
4
  export declare type DropIndexNodeProps = Omit<DropIndexNode, 'kind' | 'name'>;
5
- export declare type DropIndexNodeModifier = 'IfExists';
6
5
  export interface DropIndexNode extends OperationNode {
7
6
  readonly kind: 'DropIndexNode';
8
7
  readonly name: IdentifierNode;
9
8
  readonly table?: TableNode;
10
- readonly modifier?: DropIndexNodeModifier;
9
+ readonly ifExists?: boolean;
11
10
  }
12
11
  /**
13
12
  * @internal
@@ -1,11 +1,10 @@
1
1
  import { IdentifierNode } from './identifier-node.js';
2
2
  import { OperationNode } from './operation-node.js';
3
- export declare type DropSchemaNodeModifier = 'IfExists';
4
3
  export declare type DropSchemaNodeParams = Omit<Partial<DropSchemaNode>, 'kind' | 'schema'>;
5
4
  export interface DropSchemaNode extends OperationNode {
6
5
  readonly kind: 'DropSchemaNode';
7
6
  readonly schema: IdentifierNode;
8
- readonly modifier?: DropSchemaNodeModifier;
7
+ readonly ifExists?: boolean;
9
8
  }
10
9
  /**
11
10
  * @internal
@@ -13,5 +12,5 @@ export interface DropSchemaNode extends OperationNode {
13
12
  export declare const DropSchemaNode: Readonly<{
14
13
  is(node: OperationNode): node is DropSchemaNode;
15
14
  create(schema: string, params?: DropSchemaNodeParams | undefined): DropSchemaNode;
16
- cloneWithModifier(dropSchema: DropSchemaNode, modifier: DropSchemaNodeModifier): DropSchemaNode;
15
+ cloneWith(dropSchema: DropSchemaNode, params: DropSchemaNodeParams): DropSchemaNode;
17
16
  }>;
@@ -17,10 +17,10 @@ exports.DropSchemaNode = (0, object_utils_js_1.freeze)({
17
17
  ...params,
18
18
  });
19
19
  },
20
- cloneWithModifier(dropSchema, modifier) {
20
+ cloneWith(dropSchema, params) {
21
21
  return (0, object_utils_js_1.freeze)({
22
22
  ...dropSchema,
23
- modifier,
23
+ ...params,
24
24
  });
25
25
  },
26
26
  });
@@ -1,11 +1,10 @@
1
1
  import { OperationNode } from './operation-node.js';
2
2
  import { TableNode } from './table-node.js';
3
3
  export declare type DropTablexNodeParams = Omit<Partial<DropTableNode>, 'kind' | 'table'>;
4
- export declare type DropTableNodeModifier = 'IfExists';
5
4
  export interface DropTableNode extends OperationNode {
6
5
  readonly kind: 'DropTableNode';
7
6
  readonly table: TableNode;
8
- readonly modifier?: DropTableNodeModifier;
7
+ readonly ifExists?: boolean;
9
8
  }
10
9
  /**
11
10
  * @internal
@@ -13,5 +12,5 @@ export interface DropTableNode extends OperationNode {
13
12
  export declare const DropTableNode: Readonly<{
14
13
  is(node: OperationNode): node is DropTableNode;
15
14
  create(table: TableNode, params?: DropTablexNodeParams | undefined): DropTableNode;
16
- cloneWithModifier(dropIndex: DropTableNode, modifier: DropTableNodeModifier): DropTableNode;
15
+ cloneWith(dropIndex: DropTableNode, params: DropTablexNodeParams): DropTableNode;
17
16
  }>;
@@ -16,10 +16,10 @@ exports.DropTableNode = (0, object_utils_js_1.freeze)({
16
16
  ...params,
17
17
  });
18
18
  },
19
- cloneWithModifier(dropIndex, modifier) {
19
+ cloneWith(dropIndex, params) {
20
20
  return (0, object_utils_js_1.freeze)({
21
21
  ...dropIndex,
22
- modifier,
22
+ ...params,
23
23
  });
24
24
  },
25
25
  });
@@ -1,11 +1,11 @@
1
1
  import { IdentifierNode } from './identifier-node.js';
2
2
  import { OperationNode } from './operation-node.js';
3
- export declare type DropViewNodeModifier = 'IfExists';
4
3
  export declare type DropViewNodeParams = Omit<Partial<DropViewNode>, 'kind' | 'name'>;
5
4
  export interface DropViewNode extends OperationNode {
6
5
  readonly kind: 'DropViewNode';
7
6
  readonly name: IdentifierNode;
8
- readonly modifier?: DropViewNodeModifier;
7
+ readonly ifExists?: boolean;
8
+ readonly materialized?: boolean;
9
9
  }
10
10
  /**
11
11
  * @internal
@@ -13,5 +13,5 @@ export interface DropViewNode extends OperationNode {
13
13
  export declare const DropViewNode: Readonly<{
14
14
  is(node: OperationNode): node is DropViewNode;
15
15
  create(name: string): DropViewNode;
16
- cloneWithModifier(dropView: DropViewNode, modifier: DropViewNodeModifier): DropViewNode;
16
+ cloneWith(dropView: DropViewNode, params: DropViewNodeParams): DropViewNode;
17
17
  }>;
@@ -16,10 +16,10 @@ exports.DropViewNode = (0, object_utils_js_1.freeze)({
16
16
  name: identifier_node_js_1.IdentifierNode.create(name),
17
17
  });
18
18
  },
19
- cloneWithModifier(dropView, modifier) {
19
+ cloneWith(dropView, params) {
20
20
  return (0, object_utils_js_1.freeze)({
21
21
  ...dropView,
22
- modifier,
22
+ ...params,
23
23
  });
24
24
  },
25
25
  });
@@ -117,7 +117,7 @@ class OperationNodeTransformer {
117
117
  from: this.transformNode(node.from),
118
118
  selections: this.transformNodeList(node.selections),
119
119
  distinctOnSelections: this.transformNodeList(node.distinctOnSelections),
120
- isDistinct: node.isDistinct,
120
+ distinct: node.distinct,
121
121
  joins: this.transformNodeList(node.joins),
122
122
  groupBy: this.transformNode(node.groupBy),
123
123
  orderBy: this.transformNode(node.orderBy),
@@ -259,7 +259,7 @@ class OperationNodeTransformer {
259
259
  table: this.transformNode(node.table),
260
260
  columns: this.transformNodeList(node.columns),
261
261
  constraints: this.transformNodeList(node.constraints),
262
- modifier: node.modifier,
262
+ ifNotExists: node.ifNotExists,
263
263
  };
264
264
  }
265
265
  transformColumnDefinition(node) {
@@ -268,10 +268,10 @@ class OperationNodeTransformer {
268
268
  column: this.transformNode(node.column),
269
269
  dataType: this.transformNode(node.dataType),
270
270
  references: this.transformNode(node.references),
271
- isPrimaryKey: node.isPrimaryKey,
272
- isAutoIncrementing: node.isAutoIncrementing,
273
- isUnique: node.isUnique,
274
- isNullable: node.isNullable,
271
+ primaryKey: node.primaryKey,
272
+ autoIncrement: node.autoIncrement,
273
+ unique: node.unique,
274
+ nullable: node.nullable,
275
275
  defaultTo: this.transformNode(node.defaultTo),
276
276
  check: this.transformNode(node.check),
277
277
  };
@@ -286,7 +286,7 @@ class OperationNodeTransformer {
286
286
  return {
287
287
  kind: 'DropTableNode',
288
288
  table: this.transformNode(node.table),
289
- modifier: node.modifier,
289
+ ifExists: node.ifExists,
290
290
  };
291
291
  }
292
292
  transformOrderBy(node) {
@@ -380,7 +380,7 @@ class OperationNodeTransformer {
380
380
  kind: 'DropIndexNode',
381
381
  name: this.transformNode(node.name),
382
382
  table: this.transformNode(node.table),
383
- modifier: node.modifier,
383
+ ifExists: node.ifExists,
384
384
  };
385
385
  }
386
386
  transformPrimaryKeyConstraint(node) {
@@ -459,7 +459,7 @@ class OperationNodeTransformer {
459
459
  return {
460
460
  kind: 'DropSchemaNode',
461
461
  schema: this.transformNode(node.schema),
462
- modifier: node.modifier,
462
+ ifExists: node.ifExists,
463
463
  };
464
464
  }
465
465
  transformAlterTable(node) {
@@ -524,7 +524,8 @@ class OperationNodeTransformer {
524
524
  return {
525
525
  kind: 'CreateViewNode',
526
526
  name: this.transformNode(node.name),
527
- modifier: node.modifier,
527
+ orReplace: node.orReplace,
528
+ materialized: node.materialized,
528
529
  columns: this.transformNodeList(node.columns),
529
530
  as: this.transformNode(node.as),
530
531
  };
@@ -533,7 +534,8 @@ class OperationNodeTransformer {
533
534
  return {
534
535
  kind: 'DropViewNode',
535
536
  name: this.transformNode(node.name),
536
- modifier: node.modifier,
537
+ ifExists: node.ifExists,
538
+ materialized: node.materialized,
537
539
  };
538
540
  }
539
541
  transformDataType(node) {
@@ -19,7 +19,7 @@ export interface SelectQueryNode extends OperationNode {
19
19
  readonly from: FromNode;
20
20
  readonly selections?: ReadonlyArray<SelectionNode>;
21
21
  readonly distinctOnSelections?: ReadonlyArray<SelectionNode>;
22
- readonly isDistinct?: boolean;
22
+ readonly distinct?: boolean;
23
23
  readonly joins?: ReadonlyArray<JoinNode>;
24
24
  readonly groupBy?: GroupByNode;
25
25
  readonly orderBy?: OrderByNode;
@@ -91,7 +91,7 @@ exports.SelectQueryNode = (0, object_utils_js_1.freeze)({
91
91
  cloneWithDistinct(selectNode) {
92
92
  return (0, object_utils_js_1.freeze)({
93
93
  ...selectNode,
94
- isDistinct: true,
94
+ distinct: true,
95
95
  });
96
96
  },
97
97
  cloneWithUnion(selectNode, union) {
@@ -38,7 +38,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
38
38
  this.compileDistinctOn(node.distinctOnSelections);
39
39
  this.append(' ');
40
40
  }
41
- if (node.isDistinct) {
41
+ if (node.distinct) {
42
42
  this.append('distinct');
43
43
  this.append(' ');
44
44
  }
@@ -290,7 +290,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
290
290
  }
291
291
  visitCreateTable(node) {
292
292
  this.append('create table ');
293
- if (node.modifier === 'IfNotExists') {
293
+ if (node.ifNotExists) {
294
294
  this.append('if not exists ');
295
295
  }
296
296
  this.visitNode(node.table);
@@ -306,17 +306,17 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
306
306
  this.append(' default ');
307
307
  this.visitNode(node.defaultTo);
308
308
  }
309
- if (!node.isNullable) {
309
+ if (!node.nullable) {
310
310
  this.append(' not null');
311
311
  }
312
- if (node.isAutoIncrementing) {
312
+ if (node.autoIncrement) {
313
313
  this.append(' ');
314
314
  this.append(this.getAutoIncrement());
315
315
  }
316
- if (node.isUnique) {
316
+ if (node.unique) {
317
317
  this.append(' unique');
318
318
  }
319
- if (node.isPrimaryKey) {
319
+ if (node.primaryKey) {
320
320
  this.append(' primary key');
321
321
  }
322
322
  if (node.references) {
@@ -348,7 +348,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
348
348
  }
349
349
  visitDropTable(node) {
350
350
  this.append('drop table ');
351
- if (node.modifier === 'IfExists') {
351
+ if (node.ifExists) {
352
352
  this.append('if exists ');
353
353
  }
354
354
  this.visitNode(node.table);
@@ -470,7 +470,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
470
470
  }
471
471
  visitDropIndex(node) {
472
472
  this.append('drop index ');
473
- if (node.modifier === 'IfExists') {
473
+ if (node.ifExists) {
474
474
  this.append('if exists ');
475
475
  }
476
476
  this.visitNode(node.name);
@@ -481,14 +481,14 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
481
481
  }
482
482
  visitCreateSchema(node) {
483
483
  this.append('create schema ');
484
- if (node.modifier === 'IfNotExists') {
484
+ if (node.ifNotExists) {
485
485
  this.append('if not exists ');
486
486
  }
487
487
  this.visitNode(node.schema);
488
488
  }
489
489
  visitDropSchema(node) {
490
490
  this.append('drop schema ');
491
- if (node.modifier === 'IfExists') {
491
+ if (node.ifExists) {
492
492
  this.append('if exists ');
493
493
  }
494
494
  this.visitNode(node.schema);
@@ -649,9 +649,12 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
649
649
  }
650
650
  visitCreateView(node) {
651
651
  this.append('create ');
652
- if (node.modifier === 'OrReplace') {
652
+ if (node.orReplace) {
653
653
  this.append('or replace ');
654
654
  }
655
+ if (node.materialized) {
656
+ this.append('materialized ');
657
+ }
655
658
  this.append('view ');
656
659
  this.visitNode(node.name);
657
660
  this.append(' ');
@@ -666,8 +669,12 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
666
669
  }
667
670
  }
668
671
  visitDropView(node) {
669
- this.append('drop view ');
670
- if (node.modifier === 'IfExists') {
672
+ this.append('drop ');
673
+ if (node.materialized) {
674
+ this.append('materialized ');
675
+ }
676
+ this.append('view ');
677
+ if (node.ifExists) {
671
678
  this.append('if exists ');
672
679
  }
673
680
  this.visitNode(node.name);
@@ -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
- increments(): AlterTableAddColumnBuilder;
66
+ autoIncrement(): AlterTableAddColumnBuilder;
67
67
  primaryKey(): AlterTableAddColumnBuilder;
68
68
  references(ref: string): AlterTableAddColumnBuilder;
69
69
  onDelete(onDelete: OnModifyForeignAction): AlterTableAddColumnBuilder;
@@ -82,7 +82,7 @@ export interface AlterTableAddColumnBuilderProps extends AlterTableBuilderProps
82
82
  export declare class AlterTableModifyColumnBuilder implements ColumnDefinitionBuilderInterface<AlterTableModifyColumnBuilder>, OperationNodeSource, Compilable {
83
83
  #private;
84
84
  constructor(props: AlterTableModifyColumnBuilderProps);
85
- increments(): AlterTableModifyColumnBuilder;
85
+ autoIncrement(): AlterTableModifyColumnBuilder;
86
86
  primaryKey(): AlterTableModifyColumnBuilder;
87
87
  references(ref: string): AlterTableModifyColumnBuilder;
88
88
  onDelete(onDelete: OnModifyForeignAction): AlterTableModifyColumnBuilder;
@@ -190,10 +190,10 @@ class AlterTableAddColumnBuilder {
190
190
  constructor(props) {
191
191
  this.#props = (0, object_utils_js_1.freeze)(props);
192
192
  }
193
- increments() {
193
+ autoIncrement() {
194
194
  return new AlterTableAddColumnBuilder({
195
195
  ...this.#props,
196
- columnBuilder: this.#props.columnBuilder.increments(),
196
+ columnBuilder: this.#props.columnBuilder.autoIncrement(),
197
197
  });
198
198
  }
199
199
  primaryKey() {
@@ -262,10 +262,10 @@ class AlterTableModifyColumnBuilder {
262
262
  constructor(props) {
263
263
  this.#props = (0, object_utils_js_1.freeze)(props);
264
264
  }
265
- increments() {
265
+ autoIncrement() {
266
266
  return new AlterTableModifyColumnBuilder({
267
267
  ...this.#props,
268
- columnBuilder: this.#props.columnBuilder.increments(),
268
+ columnBuilder: this.#props.columnBuilder.autoIncrement(),
269
269
  });
270
270
  }
271
271
  primaryKey() {
@@ -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
- increments(): R;
15
+ autoIncrement(): R;
16
16
  /**
17
17
  * Makes the column the primary key.
18
18
  *
@@ -82,7 +82,7 @@ export interface ColumnDefinitionBuilderInterface<R> {
82
82
  export declare class ColumnDefinitionBuilder implements ColumnDefinitionBuilderInterface<ColumnDefinitionBuilder>, OperationNodeSource {
83
83
  #private;
84
84
  constructor(node: ColumnDefinitionNode);
85
- increments(): ColumnDefinitionBuilder;
85
+ autoIncrement(): ColumnDefinitionBuilder;
86
86
  primaryKey(): ColumnDefinitionBuilder;
87
87
  references(ref: string): ColumnDefinitionBuilder;
88
88
  onDelete(onDelete: OnModifyForeignAction): ColumnDefinitionBuilder;
@@ -14,11 +14,11 @@ class ColumnDefinitionBuilder {
14
14
  constructor(node) {
15
15
  this.#node = node;
16
16
  }
17
- increments() {
18
- return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { isAutoIncrementing: true }));
17
+ autoIncrement() {
18
+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { autoIncrement: true }));
19
19
  }
20
20
  primaryKey() {
21
- return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { isPrimaryKey: true }));
21
+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { primaryKey: true }));
22
22
  }
23
23
  references(ref) {
24
24
  const references = (0, reference_parser_js_1.parseStringReference)(ref);
@@ -48,10 +48,10 @@ class ColumnDefinitionBuilder {
48
48
  }));
49
49
  }
50
50
  unique() {
51
- return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { isUnique: true }));
51
+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { unique: true }));
52
52
  }
53
53
  notNull() {
54
- return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { isNullable: false }));
54
+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { nullable: false }));
55
55
  }
56
56
  defaultTo(value) {
57
57
  return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, {
@@ -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, { modifier: 'IfNotExists' }),
15
+ createSchemaNode: create_schema_node_js_1.CreateSchemaNode.cloneWith(this.#props.createSchemaNode, { ifNotExists: true }),
16
16
  });
17
17
  }
18
18
  toOperationNode() {
@@ -26,7 +26,7 @@ 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.increments().primaryKey()),
29
+ * .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey()),
30
30
  * .addColumn('first_name', 'varchar(50), (col) => col.notNull())
31
31
  * .addColumn('last_name', 'varchar')
32
32
  * .addColumn('bank_balance', 'numeric(8, 2)')
@@ -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.cloneWithModifier(this.#props.createTableNode, 'IfNotExists'),
33
+ createTableNode: create_table_node_js_1.CreateTableNode.cloneWithIfNotExists(this.#props.createTableNode, true),
34
34
  });
35
35
  }
36
36
  /**
@@ -40,7 +40,7 @@ class CreateTableBuilder {
40
40
  * ```ts
41
41
  * await db.schema
42
42
  * .createTable('person')
43
- * .addColumn('id', 'integer', (col) => col.increments().primaryKey()),
43
+ * .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey()),
44
44
  * .addColumn('first_name', 'varchar(50), (col) => col.notNull())
45
45
  * .addColumn('last_name', 'varchar')
46
46
  * .addColumn('bank_balance', 'numeric(8, 2)')
@@ -9,6 +9,7 @@ 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;
12
13
  orReplace(): CreateViewBuilder;
13
14
  columns(columns: string[]): CreateViewBuilder;
14
15
  as(query: AnyQueryBuilder | AnyRawBuilder): CreateViewBuilder;
@@ -23,11 +23,19 @@ 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
+ }
26
34
  orReplace() {
27
35
  return new CreateViewBuilder({
28
36
  ...this.#props,
29
37
  createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
30
- modifier: 'OrReplace',
38
+ orReplace: true,
31
39
  }),
32
40
  });
33
41
  }