From cc25cdf713b4f51c2942e46ee4294a7b1c79e31f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Koskim=C3=A4ki?= Date: Tue, 27 Dec 2022 11:43:39 +0200 Subject: [PATCH] fixes #258 --- package.json | 2 +- src/schema/alter-table-builder.ts | 11 ++++++--- src/schema/create-index-builder.ts | 16 ++++++------ src/schema/create-schema-builder.ts | 9 +++---- src/schema/create-table-builder.ts | 38 ++++++++++++++--------------- src/schema/create-type-builder.ts | 9 +++---- src/schema/create-view-builder.ts | 16 ++++++------ src/schema/drop-index-builder.ts | 10 ++++---- src/schema/drop-schema-builder.ts | 8 +++--- src/schema/drop-table-builder.ts | 8 +++--- src/schema/drop-type-builder.ts | 6 ++--- src/schema/drop-view-builder.ts | 10 ++++---- src/schema/schema.ts | 20 +++++++-------- test/node/src/camel-case.test.ts | 23 +++++++++++++++++ 14 files changed, 103 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index fbf54a861..1c6fd2386 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kysely", - "version": "0.23.0", + "version": "0.23.1", "description": "Type safe SQL query builder", "repository": { "type": "git", diff --git a/src/schema/alter-table-builder.ts b/src/schema/alter-table-builder.ts index c4a110eea..160779b09 100644 --- a/src/schema/alter-table-builder.ts +++ b/src/schema/alter-table-builder.ts @@ -237,8 +237,8 @@ export class AlterTableBuilder implements ColumnAlteringInterface { export interface AlterTableBuilderProps { readonly queryId: QueryId - readonly node: AlterTableNode readonly executor: QueryExecutor + readonly node: AlterTableNode } export class AlterTableExecutor implements OperationNodeSource, Compilable { @@ -306,7 +306,7 @@ export class AlterTableColumnAlteringBuilder readonly #props: AlterTableColumnAlteringBuilderProps constructor(props: AlterTableColumnAlteringBuilderProps) { - this.#props = props + this.#props = freeze(props) } alterColumn( @@ -396,12 +396,15 @@ export class AlterTableColumnAlteringBuilder } toOperationNode(): AlterTableNode { - return this.#props.node + return this.#props.executor.transformQuery( + this.#props.node, + this.#props.queryId + ) } compile(): CompiledQuery { return this.#props.executor.compileQuery( - this.#props.node, + this.toOperationNode(), this.#props.queryId ) } diff --git a/src/schema/create-index-builder.ts b/src/schema/create-index-builder.ts index 28c2b4f42..01f2eac48 100644 --- a/src/schema/create-index-builder.ts +++ b/src/schema/create-index-builder.ts @@ -28,7 +28,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { unique(): CreateIndexBuilder { return new CreateIndexBuilder({ ...this.#props, - createIndexNode: CreateIndexNode.cloneWith(this.#props.createIndexNode, { + node: CreateIndexNode.cloneWith(this.#props.node, { unique: true, }), }) @@ -40,7 +40,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { on(table: string): CreateIndexBuilder { return new CreateIndexBuilder({ ...this.#props, - createIndexNode: CreateIndexNode.cloneWith(this.#props.createIndexNode, { + node: CreateIndexNode.cloneWith(this.#props.node, { table: parseTable(table), }), }) @@ -54,7 +54,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { column(column: string): CreateIndexBuilder { return new CreateIndexBuilder({ ...this.#props, - createIndexNode: CreateIndexNode.cloneWith(this.#props.createIndexNode, { + node: CreateIndexNode.cloneWith(this.#props.node, { expression: parseColumnName(column), }), }) @@ -68,7 +68,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { columns(columns: string[]): CreateIndexBuilder { return new CreateIndexBuilder({ ...this.#props, - createIndexNode: CreateIndexNode.cloneWith(this.#props.createIndexNode, { + node: CreateIndexNode.cloneWith(this.#props.node, { expression: ListNode.create(columns.map(parseColumnName)), }), }) @@ -92,7 +92,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { expression(expression: Expression): CreateIndexBuilder { return new CreateIndexBuilder({ ...this.#props, - createIndexNode: CreateIndexNode.cloneWith(this.#props.createIndexNode, { + node: CreateIndexNode.cloneWith(this.#props.node, { expression: expression.toOperationNode(), }), }) @@ -106,7 +106,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { using(indexType: string): CreateIndexBuilder { return new CreateIndexBuilder({ ...this.#props, - createIndexNode: CreateIndexNode.cloneWith(this.#props.createIndexNode, { + node: CreateIndexNode.cloneWith(this.#props.node, { using: RawNode.createWithSql(indexType), }), }) @@ -114,7 +114,7 @@ export class CreateIndexBuilder implements OperationNodeSource, Compilable { toOperationNode(): CreateIndexNode { return this.#props.executor.transformQuery( - this.#props.createIndexNode, + this.#props.node, this.#props.queryId ) } @@ -139,5 +139,5 @@ preventAwait( export interface CreateIndexBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly createIndexNode: CreateIndexNode + readonly node: CreateIndexNode } diff --git a/src/schema/create-schema-builder.ts b/src/schema/create-schema-builder.ts index 273d7e749..61e1dad4d 100644 --- a/src/schema/create-schema-builder.ts +++ b/src/schema/create-schema-builder.ts @@ -17,16 +17,13 @@ export class CreateSchemaBuilder implements OperationNodeSource, Compilable { ifNotExists(): CreateSchemaBuilder { return new CreateSchemaBuilder({ ...this.#props, - createSchemaNode: CreateSchemaNode.cloneWith( - this.#props.createSchemaNode, - { ifNotExists: true } - ), + node: CreateSchemaNode.cloneWith(this.#props.node, { ifNotExists: true }), }) } toOperationNode(): CreateSchemaNode { return this.#props.executor.transformQuery( - this.#props.createSchemaNode, + this.#props.node, this.#props.queryId ) } @@ -51,5 +48,5 @@ preventAwait( export interface CreateSchemaBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly createSchemaNode: CreateSchemaNode + readonly node: CreateSchemaNode } diff --git a/src/schema/create-table-builder.ts b/src/schema/create-table-builder.ts index 35e50f4a9..f54a56ecc 100644 --- a/src/schema/create-table-builder.ts +++ b/src/schema/create-table-builder.ts @@ -45,7 +45,7 @@ export class CreateTableBuilder temporary(): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWith(this.#props.createTableNode, { + node: CreateTableNode.cloneWith(this.#props.node, { temporary: true, }), }) @@ -60,7 +60,7 @@ export class CreateTableBuilder onCommit(onCommit: OnCommitAction): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWith(this.#props.createTableNode, { + node: CreateTableNode.cloneWith(this.#props.node, { onCommit: parseOnCommitAction(onCommit), }), }) @@ -74,7 +74,7 @@ export class CreateTableBuilder ifNotExists(): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWith(this.#props.createTableNode, { + node: CreateTableNode.cloneWith(this.#props.node, { ifNotExists: true, }), }) @@ -140,8 +140,8 @@ export class CreateTableBuilder return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithColumn( - this.#props.createTableNode, + node: CreateTableNode.cloneWithColumn( + this.#props.node, columnBuilder.toOperationNode() ), }) @@ -165,8 +165,8 @@ export class CreateTableBuilder ): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithConstraint( - this.#props.createTableNode, + node: CreateTableNode.cloneWithConstraint( + this.#props.node, PrimaryConstraintNode.create(columns, constraintName) ), }) @@ -190,8 +190,8 @@ export class CreateTableBuilder ): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithConstraint( - this.#props.createTableNode, + node: CreateTableNode.cloneWithConstraint( + this.#props.node, UniqueConstraintNode.create(columns, constraintName) ), }) @@ -217,8 +217,8 @@ export class CreateTableBuilder ): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithConstraint( - this.#props.createTableNode, + node: CreateTableNode.cloneWithConstraint( + this.#props.node, CheckConstraintNode.create( checkExpression.toOperationNode(), constraintName @@ -276,8 +276,8 @@ export class CreateTableBuilder return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithConstraint( - this.#props.createTableNode, + node: CreateTableNode.cloneWithConstraint( + this.#props.node, builder.toOperationNode() ), }) @@ -312,8 +312,8 @@ export class CreateTableBuilder modifyFront(modifier: Expression): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithFrontModifier( - this.#props.createTableNode, + node: CreateTableNode.cloneWithFrontModifier( + this.#props.node, modifier.toOperationNode() ), }) @@ -348,8 +348,8 @@ export class CreateTableBuilder modifyEnd(modifier: Expression): CreateTableBuilder { return new CreateTableBuilder({ ...this.#props, - createTableNode: CreateTableNode.cloneWithEndModifier( - this.#props.createTableNode, + node: CreateTableNode.cloneWithEndModifier( + this.#props.node, modifier.toOperationNode() ), }) @@ -393,7 +393,7 @@ export class CreateTableBuilder toOperationNode(): CreateTableNode { return this.#props.executor.transformQuery( - this.#props.createTableNode, + this.#props.node, this.#props.queryId ) } @@ -418,7 +418,7 @@ preventAwait( export interface CreateTableBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly createTableNode: CreateTableNode + readonly node: CreateTableNode } export type ColumnBuilderCallback = ( diff --git a/src/schema/create-type-builder.ts b/src/schema/create-type-builder.ts index 645a28312..4715d0d34 100644 --- a/src/schema/create-type-builder.ts +++ b/src/schema/create-type-builder.ts @@ -16,7 +16,7 @@ export class CreateTypeBuilder implements OperationNodeSource, Compilable { toOperationNode(): CreateTypeNode { return this.#props.executor.transformQuery( - this.#props.createTypeNode, + this.#props.node, this.#props.queryId ) } @@ -33,10 +33,7 @@ export class CreateTypeBuilder implements OperationNodeSource, Compilable { asEnum(values: string[]): CreateTypeBuilder { return new CreateTypeBuilder({ ...this.#props, - createTypeNode: CreateTypeNode.cloneWithEnum( - this.#props.createTypeNode, - values - ), + node: CreateTypeNode.cloneWithEnum(this.#props.node, values), }) } @@ -60,5 +57,5 @@ preventAwait( export interface CreateTypeBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly createTypeNode: CreateTypeNode + readonly node: CreateTypeNode } diff --git a/src/schema/create-view-builder.ts b/src/schema/create-view-builder.ts index cbd0914a9..e9274d18e 100644 --- a/src/schema/create-view-builder.ts +++ b/src/schema/create-view-builder.ts @@ -26,7 +26,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { temporary(): CreateViewBuilder { return new CreateViewBuilder({ ...this.#props, - createViewNode: CreateViewNode.cloneWith(this.#props.createViewNode, { + node: CreateViewNode.cloneWith(this.#props.node, { temporary: true, }), }) @@ -35,7 +35,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { materialized(): CreateViewBuilder { return new CreateViewBuilder({ ...this.#props, - createViewNode: CreateViewNode.cloneWith(this.#props.createViewNode, { + node: CreateViewNode.cloneWith(this.#props.node, { materialized: true, }), }) @@ -47,7 +47,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { ifNotExists(): CreateViewBuilder { return new CreateViewBuilder({ ...this.#props, - createViewNode: CreateViewNode.cloneWith(this.#props.createViewNode, { + node: CreateViewNode.cloneWith(this.#props.node, { ifNotExists: true, }), }) @@ -56,7 +56,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { orReplace(): CreateViewBuilder { return new CreateViewBuilder({ ...this.#props, - createViewNode: CreateViewNode.cloneWith(this.#props.createViewNode, { + node: CreateViewNode.cloneWith(this.#props.node, { orReplace: true, }), }) @@ -65,7 +65,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { columns(columns: string[]): CreateViewBuilder { return new CreateViewBuilder({ ...this.#props, - createViewNode: CreateViewNode.cloneWith(this.#props.createViewNode, { + node: CreateViewNode.cloneWith(this.#props.node, { columns: columns.map(parseColumnName), }), }) @@ -87,7 +87,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { return new CreateViewBuilder({ ...this.#props, - createViewNode: CreateViewNode.cloneWith(this.#props.createViewNode, { + node: CreateViewNode.cloneWith(this.#props.node, { as: queryNode, }), }) @@ -95,7 +95,7 @@ export class CreateViewBuilder implements OperationNodeSource, Compilable { toOperationNode(): CreateViewNode { return this.#props.executor.transformQuery( - this.#props.createViewNode, + this.#props.node, this.#props.queryId ) } @@ -120,5 +120,5 @@ preventAwait( export interface CreateViewBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly createViewNode: CreateViewNode + readonly node: CreateViewNode } diff --git a/src/schema/drop-index-builder.ts b/src/schema/drop-index-builder.ts index 0a7686e08..1d41aec10 100644 --- a/src/schema/drop-index-builder.ts +++ b/src/schema/drop-index-builder.ts @@ -22,7 +22,7 @@ export class DropIndexBuilder implements OperationNodeSource, Compilable { on(table: string): DropIndexBuilder { return new DropIndexBuilder({ ...this.#props, - dropIndexNode: DropIndexNode.cloneWith(this.#props.dropIndexNode, { + node: DropIndexNode.cloneWith(this.#props.node, { table: parseTable(table), }), }) @@ -31,7 +31,7 @@ export class DropIndexBuilder implements OperationNodeSource, Compilable { ifExists(): DropIndexBuilder { return new DropIndexBuilder({ ...this.#props, - dropIndexNode: DropIndexNode.cloneWith(this.#props.dropIndexNode, { + node: DropIndexNode.cloneWith(this.#props.node, { ifExists: true, }), }) @@ -40,7 +40,7 @@ export class DropIndexBuilder implements OperationNodeSource, Compilable { cascade(): DropIndexBuilder { return new DropIndexBuilder({ ...this.#props, - dropIndexNode: DropIndexNode.cloneWith(this.#props.dropIndexNode, { + node: DropIndexNode.cloneWith(this.#props.node, { cascade: true, }), }) @@ -48,7 +48,7 @@ export class DropIndexBuilder implements OperationNodeSource, Compilable { toOperationNode(): DropIndexNode { return this.#props.executor.transformQuery( - this.#props.dropIndexNode, + this.#props.node, this.#props.queryId ) } @@ -73,5 +73,5 @@ preventAwait( export interface DropIndexBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly dropIndexNode: DropIndexNode + readonly node: DropIndexNode } diff --git a/src/schema/drop-schema-builder.ts b/src/schema/drop-schema-builder.ts index c8d891303..ccd52bd2f 100644 --- a/src/schema/drop-schema-builder.ts +++ b/src/schema/drop-schema-builder.ts @@ -17,7 +17,7 @@ export class DropSchemaBuilder implements OperationNodeSource, Compilable { ifExists(): DropSchemaBuilder { return new DropSchemaBuilder({ ...this.#props, - dropSchemaNode: DropSchemaNode.cloneWith(this.#props.dropSchemaNode, { + node: DropSchemaNode.cloneWith(this.#props.node, { ifExists: true, }), }) @@ -26,7 +26,7 @@ export class DropSchemaBuilder implements OperationNodeSource, Compilable { cascade(): DropSchemaBuilder { return new DropSchemaBuilder({ ...this.#props, - dropSchemaNode: DropSchemaNode.cloneWith(this.#props.dropSchemaNode, { + node: DropSchemaNode.cloneWith(this.#props.node, { cascade: true, }), }) @@ -34,7 +34,7 @@ export class DropSchemaBuilder implements OperationNodeSource, Compilable { toOperationNode(): DropSchemaNode { return this.#props.executor.transformQuery( - this.#props.dropSchemaNode, + this.#props.node, this.#props.queryId ) } @@ -59,5 +59,5 @@ preventAwait( export interface DropSchemaBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly dropSchemaNode: DropSchemaNode + readonly node: DropSchemaNode } diff --git a/src/schema/drop-table-builder.ts b/src/schema/drop-table-builder.ts index e26008f89..a0b3276b5 100644 --- a/src/schema/drop-table-builder.ts +++ b/src/schema/drop-table-builder.ts @@ -17,7 +17,7 @@ export class DropTableBuilder implements OperationNodeSource, Compilable { ifExists(): DropTableBuilder { return new DropTableBuilder({ ...this.#props, - dropTableNode: DropTableNode.cloneWith(this.#props.dropTableNode, { + node: DropTableNode.cloneWith(this.#props.node, { ifExists: true, }), }) @@ -26,7 +26,7 @@ export class DropTableBuilder implements OperationNodeSource, Compilable { cascade(): DropTableBuilder { return new DropTableBuilder({ ...this.#props, - dropTableNode: DropTableNode.cloneWith(this.#props.dropTableNode, { + node: DropTableNode.cloneWith(this.#props.node, { cascade: true, }), }) @@ -34,7 +34,7 @@ export class DropTableBuilder implements OperationNodeSource, Compilable { toOperationNode(): DropTableNode { return this.#props.executor.transformQuery( - this.#props.dropTableNode, + this.#props.node, this.#props.queryId ) } @@ -59,5 +59,5 @@ preventAwait( export interface DropTableBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly dropTableNode: DropTableNode + readonly node: DropTableNode } diff --git a/src/schema/drop-type-builder.ts b/src/schema/drop-type-builder.ts index c75185f7b..deac9ca6e 100644 --- a/src/schema/drop-type-builder.ts +++ b/src/schema/drop-type-builder.ts @@ -17,7 +17,7 @@ export class DropTypeBuilder implements OperationNodeSource, Compilable { ifExists(): DropTypeBuilder { return new DropTypeBuilder({ ...this.#props, - dropTypeNode: DropTypeNode.cloneWith(this.#props.dropTypeNode, { + node: DropTypeNode.cloneWith(this.#props.node, { ifExists: true, }), }) @@ -25,7 +25,7 @@ export class DropTypeBuilder implements OperationNodeSource, Compilable { toOperationNode(): DropTypeNode { return this.#props.executor.transformQuery( - this.#props.dropTypeNode, + this.#props.node, this.#props.queryId ) } @@ -50,5 +50,5 @@ preventAwait( export interface DropTypeBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly dropTypeNode: DropTypeNode + readonly node: DropTypeNode } diff --git a/src/schema/drop-view-builder.ts b/src/schema/drop-view-builder.ts index 0639820ee..b37a1c8a6 100644 --- a/src/schema/drop-view-builder.ts +++ b/src/schema/drop-view-builder.ts @@ -17,7 +17,7 @@ export class DropViewBuilder implements OperationNodeSource, Compilable { materialized(): DropViewBuilder { return new DropViewBuilder({ ...this.#props, - dropViewNode: DropViewNode.cloneWith(this.#props.dropViewNode, { + node: DropViewNode.cloneWith(this.#props.node, { materialized: true, }), }) @@ -26,7 +26,7 @@ export class DropViewBuilder implements OperationNodeSource, Compilable { ifExists(): DropViewBuilder { return new DropViewBuilder({ ...this.#props, - dropViewNode: DropViewNode.cloneWith(this.#props.dropViewNode, { + node: DropViewNode.cloneWith(this.#props.node, { ifExists: true, }), }) @@ -35,7 +35,7 @@ export class DropViewBuilder implements OperationNodeSource, Compilable { cascade(): DropViewBuilder { return new DropViewBuilder({ ...this.#props, - dropViewNode: DropViewNode.cloneWith(this.#props.dropViewNode, { + node: DropViewNode.cloneWith(this.#props.node, { cascade: true, }), }) @@ -43,7 +43,7 @@ export class DropViewBuilder implements OperationNodeSource, Compilable { toOperationNode(): DropViewNode { return this.#props.executor.transformQuery( - this.#props.dropViewNode, + this.#props.node, this.#props.queryId ) } @@ -68,5 +68,5 @@ preventAwait( export interface DropViewBuilderProps { readonly queryId: QueryId readonly executor: QueryExecutor - readonly dropViewNode: DropViewNode + readonly node: DropViewNode } diff --git a/src/schema/schema.ts b/src/schema/schema.ts index 20b3d337b..b33d508a1 100644 --- a/src/schema/schema.ts +++ b/src/schema/schema.ts @@ -92,7 +92,7 @@ export class SchemaModule { return new CreateTableBuilder({ queryId: createQueryId(), executor: this.#executor, - createTableNode: CreateTableNode.create(parseTable(table)), + node: CreateTableNode.create(parseTable(table)), }) } @@ -111,7 +111,7 @@ export class SchemaModule { return new DropTableBuilder({ queryId: createQueryId(), executor: this.#executor, - dropTableNode: DropTableNode.create(parseTable(table)), + node: DropTableNode.create(parseTable(table)), }) } @@ -132,7 +132,7 @@ export class SchemaModule { return new CreateIndexBuilder({ queryId: createQueryId(), executor: this.#executor, - createIndexNode: CreateIndexNode.create(indexName), + node: CreateIndexNode.create(indexName), }) } @@ -151,7 +151,7 @@ export class SchemaModule { return new DropIndexBuilder({ queryId: createQueryId(), executor: this.#executor, - dropIndexNode: DropIndexNode.create(indexName), + node: DropIndexNode.create(indexName), }) } @@ -170,7 +170,7 @@ export class SchemaModule { return new CreateSchemaBuilder({ queryId: createQueryId(), executor: this.#executor, - createSchemaNode: CreateSchemaNode.create(schema), + node: CreateSchemaNode.create(schema), }) } @@ -189,7 +189,7 @@ export class SchemaModule { return new DropSchemaBuilder({ queryId: createQueryId(), executor: this.#executor, - dropSchemaNode: DropSchemaNode.create(schema), + node: DropSchemaNode.create(schema), }) } @@ -231,7 +231,7 @@ export class SchemaModule { return new CreateViewBuilder({ queryId: createQueryId(), executor: this.#executor, - createViewNode: CreateViewNode.create(viewName), + node: CreateViewNode.create(viewName), }) } @@ -251,7 +251,7 @@ export class SchemaModule { return new DropViewBuilder({ queryId: createQueryId(), executor: this.#executor, - dropViewNode: DropViewNode.create(viewName), + node: DropViewNode.create(viewName), }) } @@ -273,7 +273,7 @@ export class SchemaModule { return new CreateTypeBuilder({ queryId: createQueryId(), executor: this.#executor, - createTypeNode: CreateTypeNode.create(parseSchemableIdentifier(typeName)), + node: CreateTypeNode.create(parseSchemableIdentifier(typeName)), }) } @@ -295,7 +295,7 @@ export class SchemaModule { return new DropTypeBuilder({ queryId: createQueryId(), executor: this.#executor, - dropTypeNode: DropTypeNode.create(parseSchemableIdentifier(typeName)), + node: DropTypeNode.create(parseSchemableIdentifier(typeName)), }) } diff --git a/test/node/src/camel-case.test.ts b/test/node/src/camel-case.test.ts index 36bc9eab0..25a20b57f 100644 --- a/test/node/src/camel-case.test.ts +++ b/test/node/src/camel-case.test.ts @@ -180,5 +180,28 @@ for (const dialect of BUILT_IN_DIALECTS) { ]) }) }) + + it('should convert alter table query between camelCase and snake_case', async () => { + const query = camelDb.schema + .alterTable('camelPerson') + .addColumn('middleName', 'text', (col) => + col.references('camelPerson.fistName') + ) + + testSql(query, dialect, { + postgres: { + sql: 'alter table "camel_person" add column "middle_name" text references "camel_person" ("fist_name")', + parameters: [], + }, + mysql: { + sql: 'alter table `camel_person` add column `middle_name` text references `camel_person` (`fist_name`)', + parameters: [], + }, + sqlite: { + sql: 'alter table "camel_person" add column "middle_name" text references "camel_person" ("fist_name")', + parameters: [], + }, + }) + }) }) }