@mikro-orm/sql 7.0.0-rc.2 → 7.0.0-rc.3

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 (38) hide show
  1. package/AbstractSqlConnection.js +2 -1
  2. package/AbstractSqlDriver.d.ts +18 -12
  3. package/AbstractSqlDriver.js +187 -38
  4. package/AbstractSqlPlatform.d.ts +1 -0
  5. package/AbstractSqlPlatform.js +5 -3
  6. package/PivotCollectionPersister.js +2 -2
  7. package/SqlEntityManager.d.ts +2 -2
  8. package/SqlEntityManager.js +5 -5
  9. package/dialects/mssql/MsSqlNativeQueryBuilder.d.ts +2 -0
  10. package/dialects/mssql/MsSqlNativeQueryBuilder.js +8 -4
  11. package/dialects/mysql/BaseMySqlPlatform.js +1 -2
  12. package/dialects/mysql/MySqlSchemaHelper.js +21 -10
  13. package/dialects/postgresql/BasePostgreSqlPlatform.js +38 -30
  14. package/dialects/postgresql/PostgreSqlSchemaHelper.js +63 -47
  15. package/dialects/sqlite/BaseSqliteConnection.js +2 -2
  16. package/dialects/sqlite/NodeSqliteDialect.js +3 -1
  17. package/dialects/sqlite/SqlitePlatform.js +4 -1
  18. package/dialects/sqlite/SqliteSchemaHelper.js +11 -9
  19. package/package.json +30 -30
  20. package/plugin/transformer.js +17 -16
  21. package/query/CriteriaNode.js +28 -10
  22. package/query/CriteriaNodeFactory.js +5 -1
  23. package/query/NativeQueryBuilder.d.ts +25 -0
  24. package/query/NativeQueryBuilder.js +61 -1
  25. package/query/ObjectCriteriaNode.js +71 -27
  26. package/query/QueryBuilder.d.ts +151 -48
  27. package/query/QueryBuilder.js +233 -54
  28. package/query/QueryBuilderHelper.d.ts +4 -3
  29. package/query/QueryBuilderHelper.js +47 -17
  30. package/query/ScalarCriteriaNode.js +14 -7
  31. package/query/raw.js +1 -1
  32. package/schema/DatabaseSchema.js +21 -15
  33. package/schema/DatabaseTable.js +114 -54
  34. package/schema/SchemaComparator.js +56 -32
  35. package/schema/SchemaHelper.js +28 -8
  36. package/schema/SqlSchemaGenerator.js +13 -7
  37. package/tsconfig.build.tsbuildinfo +1 -1
  38. package/typings.d.ts +6 -4
package/typings.d.ts CHANGED
@@ -3,8 +3,8 @@ import type { CheckCallback, DeferMode, Dictionary, EntityName, EntityProperty,
3
3
  import type { JoinType, QueryType } from './query/enums.js';
4
4
  import type { DatabaseSchema } from './schema/DatabaseSchema.js';
5
5
  import type { DatabaseTable } from './schema/DatabaseTable.js';
6
- import type { QueryBuilder } from './query/QueryBuilder.js';
7
- import type { NativeQueryBuilder } from './query/NativeQueryBuilder.js';
6
+ import type { AnyQueryBuilder } from './query/QueryBuilder.js';
7
+ import type { CteOptions, NativeQueryBuilder } from './query/NativeQueryBuilder.js';
8
8
  import type { MikroKyselyPluginOptions } from './plugin/index.js';
9
9
  export interface Table {
10
10
  table_name: string;
@@ -12,7 +12,7 @@ export interface Table {
12
12
  table_comment?: string;
13
13
  }
14
14
  /** @internal */
15
- export type InternalField<T> = string | RawQueryFragment | QueryBuilder | NativeQueryBuilder;
15
+ export type InternalField<T> = string | RawQueryFragment | AnyQueryBuilder | NativeQueryBuilder;
16
16
  export interface JoinOptions {
17
17
  table: string;
18
18
  schema?: string;
@@ -202,6 +202,8 @@ export interface IQueryBuilder<T> {
202
202
  setFlag(flag: QueryFlag): this;
203
203
  unsetFlag(flag: QueryFlag): this;
204
204
  hasFlag(flag: QueryFlag): boolean;
205
+ with(name: string, query: AnyQueryBuilder | NativeQueryBuilder | RawQueryFragment, options?: CteOptions): this;
206
+ withRecursive(name: string, query: AnyQueryBuilder | NativeQueryBuilder | RawQueryFragment, options?: CteOptions): this;
205
207
  scheduleFilterCheck(path: string): void;
206
208
  withSchema(schema: string): this;
207
209
  }
@@ -309,7 +311,7 @@ type MaybeNever<TValue, TOptions> = TOptions extends {
309
311
  type ExcludeNever<TMap extends Record<string, any>> = {
310
312
  [K in keyof TMap as TMap[K] extends never ? never : K]: TMap[K];
311
313
  };
312
- export type InferClassEntityDB<TEntities, TOptions extends MikroKyselyPluginOptions = {}> = ClassEntityDBMap<TEntities, TOptions> extends infer R ? [keyof R] extends [never] ? unknown : R : never;
314
+ export type InferClassEntityDB<TEntities, TOptions extends MikroKyselyPluginOptions = {}> = ClassEntityDBMap<TEntities, TOptions> extends infer R ? ([keyof R] extends [never] ? unknown : R) : never;
313
315
  type ClassEntityDBMap<TEntities, TOptions extends MikroKyselyPluginOptions = {}> = {
314
316
  [T in TEntities as ClassEntityTableName<T, TOptions>]: ClassEntityColumns<T>;
315
317
  };