@mikro-orm/knex 6.1.13-dev.22 → 6.1.13-dev.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/knex",
3
- "version": "6.1.13-dev.22",
3
+ "version": "6.1.13-dev.23",
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": "^6.1.12"
67
67
  },
68
68
  "peerDependencies": {
69
- "@mikro-orm/core": "6.1.13-dev.22"
69
+ "@mikro-orm/core": "6.1.13-dev.23"
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 loggerContext?;
41
+ private loggerContext?;
42
42
  get mainAlias(): Alias<T>;
43
43
  get alias(): string;
44
44
  get helper(): QueryBuilderHelper;
@@ -89,7 +89,7 @@ export declare class QueryBuilder<T extends object = AnyEntity> {
89
89
  /**
90
90
  * @internal
91
91
  */
92
- 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);
92
+ 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 & Dictionary) | undefined);
93
93
  select(fields: Field<T> | Field<T>[], distinct?: boolean): SelectQueryBuilder<T>;
94
94
  addSelect(fields: Field<T> | Field<T>[]): SelectQueryBuilder<T>;
95
95
  distinct(): SelectQueryBuilder<T>;
@@ -232,6 +232,14 @@ export declare class QueryBuilder<T extends object = AnyEntity> {
232
232
  as(alias: string): Knex.QueryBuilder;
233
233
  clone(reset?: boolean | string[]): QueryBuilder<T>;
234
234
  getKnex(processVirtualEntity?: boolean): Knex.QueryBuilder;
235
+ /**
236
+ * Sets logger context for this query builder.
237
+ */
238
+ setLoggerContext(context: LoggingOptions & Dictionary): void;
239
+ /**
240
+ * Gets logger context for this query builder.
241
+ */
242
+ getLoggerContext<T extends Dictionary & LoggingOptions = Dictionary>(): T;
235
243
  private fromVirtual;
236
244
  private joinReference;
237
245
  private prepareFields;
@@ -608,7 +608,8 @@ class QueryBuilder {
608
608
  }
609
609
  const write = method === 'run' || !this.platform.getConfig().get('preferReadReplicas');
610
610
  const type = this.connectionType || (write ? 'write' : 'read');
611
- const res = await this.driver.getConnection(type).execute(query.sql, query.bindings, method, this.context, this.loggerContext);
611
+ const loggerContext = { id: this.em?.id, ...this.loggerContext };
612
+ const res = await this.driver.getConnection(type).execute(query.sql, query.bindings, method, this.context, loggerContext);
612
613
  const meta = this.mainAlias.metadata;
613
614
  if (!options.mapResults || !meta) {
614
615
  await this.em?.storeCache(this._cache, cached, res);
@@ -794,6 +795,19 @@ class QueryBuilder {
794
795
  }
795
796
  return qb;
796
797
  }
798
+ /**
799
+ * Sets logger context for this query builder.
800
+ */
801
+ setLoggerContext(context) {
802
+ this.loggerContext = context;
803
+ }
804
+ /**
805
+ * Gets logger context for this query builder.
806
+ */
807
+ getLoggerContext() {
808
+ this.loggerContext ??= {};
809
+ return this.loggerContext;
810
+ }
797
811
  fromVirtual(meta) {
798
812
  if (typeof meta.expression === 'string') {
799
813
  return `(${meta.expression}) as ${this.platform.quoteIdentifier(this.alias)}`;