@mikro-orm/knex 6.0.0-dev.267 → 6.0.0-dev.268

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.
@@ -40,7 +40,7 @@ export declare abstract class AbstractSqlConnection extends Connection {
40
40
  }): Promise<Knex.Transaction>;
41
41
  commit(ctx: Knex.Transaction, eventBroadcaster?: TransactionEventBroadcaster): Promise<void>;
42
42
  rollback(ctx: Knex.Transaction, eventBroadcaster?: TransactionEventBroadcaster): Promise<void>;
43
- execute<T extends QueryResult | EntityData<AnyEntity> | EntityData<AnyEntity>[] = EntityData<AnyEntity>[]>(queryOrKnex: string | Knex.QueryBuilder | Knex.Raw, params?: unknown[], method?: 'all' | 'get' | 'run', ctx?: Transaction, logging?: LoggingOptions): Promise<T>;
43
+ execute<T extends QueryResult | EntityData<AnyEntity> | EntityData<AnyEntity>[] = EntityData<AnyEntity>[]>(queryOrKnex: string | Knex.QueryBuilder | Knex.Raw, params?: unknown[], method?: 'all' | 'get' | 'run', ctx?: Transaction, loggerContext?: LoggingOptions): Promise<T>;
44
44
  /**
45
45
  * Execute raw SQL queries from file
46
46
  */
@@ -106,7 +106,7 @@ class AbstractSqlConnection extends core_1.Connection {
106
106
  await eventBroadcaster?.dispatchEvent(core_1.EventType.afterTransactionRollback, ctx);
107
107
  }
108
108
  }
109
- async execute(queryOrKnex, params = [], method = 'all', ctx, logging) {
109
+ async execute(queryOrKnex, params = [], method = 'all', ctx, loggerContext) {
110
110
  await this.ensureConnection();
111
111
  if (core_1.Utils.isObject(queryOrKnex)) {
112
112
  ctx ??= (queryOrKnex.client.transacting ? queryOrKnex : null);
@@ -115,7 +115,7 @@ class AbstractSqlConnection extends core_1.Connection {
115
115
  params = q.bindings;
116
116
  }
117
117
  const formatted = this.platform.formatQuery(queryOrKnex, params);
118
- const sql = this.getSql(queryOrKnex, formatted, logging);
118
+ const sql = this.getSql(queryOrKnex, formatted, loggerContext);
119
119
  return this.executeQuery(sql, async () => {
120
120
  const query = this.getKnex().raw(formatted);
121
121
  if (ctx) {
@@ -123,7 +123,7 @@ class AbstractSqlConnection extends core_1.Connection {
123
123
  }
124
124
  const res = await query;
125
125
  return this.transformRawResult(res, method);
126
- }, { query: queryOrKnex, params, ...logging });
126
+ }, { query: queryOrKnex, params, ...loggerContext });
127
127
  }
128
128
  /**
129
129
  * Execute raw SQL queries from file
@@ -35,7 +35,7 @@ export declare abstract class AbstractSqlDriver<Connection extends AbstractSqlCo
35
35
  /**
36
36
  * 1:1 owner side needs to be marked for population so QB auto-joins the owner id
37
37
  */
38
- protected autoJoinOneToOneOwner<T extends object, P extends string = never>(meta: EntityMetadata<T>, populate: PopulateOptions<T>[], fields?: readonly EntityField<T, P>[]): PopulateOptions<T>[];
38
+ protected autoJoinOneToOneOwner<T extends object, P extends string = never>(meta: EntityMetadata<T>, populate: PopulateOptions<T>[], fields?: readonly EntityField<T, any>[]): PopulateOptions<T>[];
39
39
  /**
40
40
  * @internal
41
41
  */
@@ -55,7 +55,7 @@ export declare abstract class AbstractSqlDriver<Connection extends AbstractSqlCo
55
55
  */
56
56
  mapPropToFieldNames<T extends object>(qb: QueryBuilder<T>, prop: EntityProperty<T>, tableAlias?: string): Field<T>[];
57
57
  /** @internal */
58
- createQueryBuilder<T extends object>(entityName: EntityName<T> | QueryBuilder<T>, ctx?: Transaction<Knex.Transaction>, preferredConnectionType?: ConnectionType, convertCustomTypes?: boolean, logging?: LoggingOptions): QueryBuilder<T>;
58
+ createQueryBuilder<T extends object>(entityName: EntityName<T> | QueryBuilder<T>, ctx?: Transaction<Knex.Transaction>, preferredConnectionType?: ConnectionType, convertCustomTypes?: boolean, loggerContext?: LoggingOptions): QueryBuilder<T>;
59
59
  protected resolveConnectionType(args: {
60
60
  ctx?: Transaction<Knex.Transaction>;
61
61
  connectionType?: ConnectionType;
@@ -889,9 +889,9 @@ class AbstractSqlDriver extends core_1.DatabaseDriver {
889
889
  return prop.fieldNames;
890
890
  }
891
891
  /** @internal */
892
- createQueryBuilder(entityName, ctx, preferredConnectionType, convertCustomTypes, logging) {
892
+ createQueryBuilder(entityName, ctx, preferredConnectionType, convertCustomTypes, loggerContext) {
893
893
  const connectionType = this.resolveConnectionType({ ctx, connectionType: preferredConnectionType });
894
- const qb = new query_1.QueryBuilder(entityName, this.metadata, this, ctx, undefined, connectionType, undefined, logging);
894
+ const qb = new query_1.QueryBuilder(entityName, this.metadata, this, ctx, undefined, connectionType, undefined, loggerContext);
895
895
  if (!convertCustomTypes) {
896
896
  qb.unsetFlag(core_1.QueryFlag.CONVERT_CUSTOM_TYPES);
897
897
  }
@@ -1,5 +1,5 @@
1
1
  import type { Knex } from 'knex';
2
- import { EntityManager, type AnyEntity, type ConnectionType, type EntityData, type EntityName, type EntityRepository, type GetRepository, type QueryResult, type FilterQuery } from '@mikro-orm/core';
2
+ import { EntityManager, type AnyEntity, type ConnectionType, type EntityData, type EntityName, type EntityRepository, type GetRepository, type QueryResult, type FilterQuery, type LoggingOptions } from '@mikro-orm/core';
3
3
  import type { AbstractSqlDriver } from './AbstractSqlDriver';
4
4
  import { QueryBuilder } from './query';
5
5
  import type { SqlEntityRepository } from './SqlEntityRepository';
@@ -10,11 +10,11 @@ export declare class SqlEntityManager<D extends AbstractSqlDriver = AbstractSqlD
10
10
  /**
11
11
  * Creates a QueryBuilder instance
12
12
  */
13
- createQueryBuilder<T extends object>(entityName: EntityName<T> | QueryBuilder<T>, alias?: string, type?: ConnectionType): QueryBuilder<T>;
13
+ createQueryBuilder<T extends object>(entityName: EntityName<T> | QueryBuilder<T>, alias?: string, type?: ConnectionType, loggerContext?: LoggingOptions): QueryBuilder<T>;
14
14
  /**
15
15
  * Shortcut for `createQueryBuilder()`
16
16
  */
17
- qb<T extends object>(entityName: EntityName<T>, alias?: string, type?: ConnectionType): QueryBuilder<T>;
17
+ qb<T extends object>(entityName: EntityName<T>, alias?: string, type?: ConnectionType, loggerContext?: LoggingOptions): QueryBuilder<T>;
18
18
  /**
19
19
  * Returns configured knex instance.
20
20
  */
@@ -10,15 +10,15 @@ class SqlEntityManager extends core_1.EntityManager {
10
10
  /**
11
11
  * Creates a QueryBuilder instance
12
12
  */
13
- createQueryBuilder(entityName, alias, type) {
13
+ createQueryBuilder(entityName, alias, type, loggerContext) {
14
14
  const context = this.getContext();
15
- return new query_1.QueryBuilder(entityName, this.getMetadata(), this.getDriver(), context.getTransactionContext(), alias, type, context);
15
+ return new query_1.QueryBuilder(entityName, this.getMetadata(), this.getDriver(), context.getTransactionContext(), alias, type, context, loggerContext ?? context.loggerContext);
16
16
  }
17
17
  /**
18
18
  * Shortcut for `createQueryBuilder()`
19
19
  */
20
- qb(entityName, alias, type) {
21
- return this.createQueryBuilder(entityName, alias, type);
20
+ qb(entityName, alias, type, loggerContext) {
21
+ return this.createQueryBuilder(entityName, alias, type, loggerContext);
22
22
  }
23
23
  /**
24
24
  * Returns configured knex instance.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/knex",
3
- "version": "6.0.0-dev.267",
3
+ "version": "6.0.0-dev.268",
4
4
  "description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",
@@ -66,6 +66,6 @@
66
66
  "@mikro-orm/core": "^5.9.2"
67
67
  },
68
68
  "peerDependencies": {
69
- "@mikro-orm/core": "6.0.0-dev.267"
69
+ "@mikro-orm/core": "6.0.0-dev.268"
70
70
  }
71
71
  }
@@ -38,7 +38,7 @@ export declare class QueryBuilder<T extends object = AnyEntity> {
38
38
  private readonly context?;
39
39
  private connectionType?;
40
40
  private readonly em?;
41
- private readonly logging?;
41
+ private readonly loggerContext?;
42
42
  get mainAlias(): Alias<T>;
43
43
  get alias(): string;
44
44
  get helper(): QueryBuilderHelper;
@@ -87,7 +87,7 @@ export declare class QueryBuilder<T extends object = AnyEntity> {
87
87
  /**
88
88
  * @internal
89
89
  */
90
- constructor(entityName: EntityName<T> | QueryBuilder<T>, metadata: MetadataStorage, driver: AbstractSqlDriver, context?: Knex.Transaction<any, any[]> | undefined, alias?: string, connectionType?: ConnectionType | undefined, em?: SqlEntityManager<AbstractSqlDriver<import("..").AbstractSqlConnection, AbstractSqlPlatform>> | undefined, logging?: LoggingOptions | undefined);
90
+ constructor(entityName: EntityName<T> | QueryBuilder<T>, metadata: MetadataStorage, driver: AbstractSqlDriver, context?: Knex.Transaction<any, any[]> | undefined, alias?: string, connectionType?: ConnectionType | undefined, em?: SqlEntityManager<AbstractSqlDriver<import("..").AbstractSqlConnection, AbstractSqlPlatform>> | undefined, loggerContext?: LoggingOptions | undefined);
91
91
  select(fields: Field<T> | Field<T>[], distinct?: boolean): SelectQueryBuilder<T>;
92
92
  addSelect(fields: Field<T> | Field<T>[]): SelectQueryBuilder<T>;
93
93
  distinct(): SelectQueryBuilder<T>;
@@ -31,7 +31,7 @@ class QueryBuilder {
31
31
  context;
32
32
  connectionType;
33
33
  em;
34
- logging;
34
+ loggerContext;
35
35
  get mainAlias() {
36
36
  this.ensureFromClause();
37
37
  return this._mainAlias;
@@ -88,13 +88,13 @@ class QueryBuilder {
88
88
  /**
89
89
  * @internal
90
90
  */
91
- constructor(entityName, metadata, driver, context, alias, connectionType, em, logging) {
91
+ constructor(entityName, metadata, driver, context, alias, connectionType, em, loggerContext) {
92
92
  this.metadata = metadata;
93
93
  this.driver = driver;
94
94
  this.context = context;
95
95
  this.connectionType = connectionType;
96
96
  this.em = em;
97
- this.logging = logging;
97
+ this.loggerContext = loggerContext;
98
98
  this.platform = this.driver.getPlatform();
99
99
  this.knex = this.driver.getConnection(this.connectionType).getKnex();
100
100
  if (alias) {
@@ -587,7 +587,7 @@ class QueryBuilder {
587
587
  }
588
588
  const write = method === 'run' || !this.platform.getConfig().get('preferReadReplicas');
589
589
  const type = this.connectionType || (write ? 'write' : 'read');
590
- const res = await this.driver.getConnection(type).execute(query.sql, query.bindings, method, this.context, this.logging);
590
+ const res = await this.driver.getConnection(type).execute(query.sql, query.bindings, method, this.context, this.loggerContext);
591
591
  const meta = this.mainAlias.metadata;
592
592
  if (!options.mapResults || !meta) {
593
593
  await this.em?.storeCache(this._cache, cached, res);