@mikro-orm/knex 6.0.0-dev.0 → 6.0.0-dev.10
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/{dist/AbstractSqlConnection.d.ts → AbstractSqlConnection.d.ts} +0 -0
- package/{dist/AbstractSqlConnection.js → AbstractSqlConnection.js} +5 -0
- package/AbstractSqlDriver.d.ts +66 -0
- package/{dist/AbstractSqlDriver.js → AbstractSqlDriver.js} +218 -70
- package/{dist/AbstractSqlPlatform.d.ts → AbstractSqlPlatform.d.ts} +7 -7
- package/{dist/AbstractSqlPlatform.js → AbstractSqlPlatform.js} +12 -14
- package/{dist/MonkeyPatchable.d.ts → MonkeyPatchable.d.ts} +0 -0
- package/{dist/MonkeyPatchable.js → MonkeyPatchable.js} +0 -0
- package/{dist/README.md → README.md} +2 -2
- package/{dist/SqlEntityManager.d.ts → SqlEntityManager.d.ts} +5 -5
- package/{dist/SqlEntityManager.js → SqlEntityManager.js} +0 -1
- package/{dist/SqlEntityRepository.d.ts → SqlEntityRepository.d.ts} +3 -3
- package/{dist/SqlEntityRepository.js → SqlEntityRepository.js} +1 -1
- package/{dist/index.d.ts → index.d.ts} +1 -0
- package/{dist/index.js → index.js} +6 -1
- package/index.mjs +192 -0
- package/package.json +18 -47
- package/{dist/query → query}/ArrayCriteriaNode.d.ts +0 -0
- package/{dist/query → query}/ArrayCriteriaNode.js +0 -0
- package/{dist/query → query}/CriteriaNode.d.ts +0 -0
- package/{dist/query → query}/CriteriaNode.js +7 -4
- package/{dist/query → query}/CriteriaNodeFactory.d.ts +0 -0
- package/{dist/query → query}/CriteriaNodeFactory.js +0 -0
- package/{dist/query → query}/ObjectCriteriaNode.d.ts +0 -0
- package/{dist/query → query}/ObjectCriteriaNode.js +14 -1
- package/{dist/query → query}/QueryBuilder.d.ts +58 -24
- package/{dist/query → query}/QueryBuilder.js +285 -84
- package/{dist/query → query}/QueryBuilderHelper.d.ts +19 -11
- package/{dist/query → query}/QueryBuilderHelper.js +206 -108
- package/{dist/query → query}/ScalarCriteriaNode.d.ts +0 -0
- package/{dist/query → query}/ScalarCriteriaNode.js +0 -0
- package/{dist/query → query}/enums.d.ts +0 -0
- package/{dist/query → query}/enums.js +0 -0
- package/{dist/query → query}/index.d.ts +0 -0
- package/{dist/query → query}/index.js +5 -1
- package/{dist/schema → schema}/DatabaseSchema.d.ts +1 -1
- package/{dist/schema → schema}/DatabaseSchema.js +8 -16
- package/{dist/schema → schema}/DatabaseTable.d.ts +8 -8
- package/{dist/schema → schema}/DatabaseTable.js +2 -1
- package/{dist/schema → schema}/SchemaComparator.d.ts +7 -5
- package/{dist/schema → schema}/SchemaComparator.js +58 -10
- package/{dist/schema → schema}/SchemaHelper.d.ts +15 -10
- package/{dist/schema → schema}/SchemaHelper.js +46 -8
- package/{dist/schema/SchemaGenerator.d.ts → schema/SqlSchemaGenerator.d.ts} +12 -12
- package/{dist/schema/SchemaGenerator.js → schema/SqlSchemaGenerator.js} +85 -34
- package/{dist/schema → schema}/index.d.ts +1 -1
- package/{dist/schema → schema}/index.js +6 -2
- package/{dist/typings.d.ts → typings.d.ts} +16 -12
- package/{dist/typings.js → typings.js} +0 -0
- package/CHANGELOG.md +0 -661
- package/dist/AbstractSqlDriver.d.ts +0 -55
- package/dist/LICENSE +0 -21
- package/dist/index.mjs +0 -26
- package/dist/package.json +0 -99
|
@@ -18,20 +18,18 @@ class AbstractSqlPlatform extends core_1.Platform {
|
|
|
18
18
|
getSchemaHelper() {
|
|
19
19
|
return this.schemaHelper;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
getEntityGenerator(em) {
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
26
|
-
const { EntityGenerator } = require('@mikro-orm/entity-generator');
|
|
27
|
-
return new EntityGenerator(em);
|
|
21
|
+
/** @inheritDoc */
|
|
22
|
+
lookupExtensions(orm) {
|
|
23
|
+
schema_1.SqlSchemaGenerator.register(orm);
|
|
28
24
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return new Migrator(em);
|
|
25
|
+
/* istanbul ignore next: kept for type inference only */
|
|
26
|
+
getSchemaGenerator(driver, em) {
|
|
27
|
+
return new schema_1.SqlSchemaGenerator(em ?? driver);
|
|
33
28
|
}
|
|
34
29
|
quoteValue(value) {
|
|
30
|
+
if (this.isRaw(value)) {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
35
33
|
/* istanbul ignore if */
|
|
36
34
|
if (core_1.Utils.isPlainObject(value) || value?.[core_1.JsonProperty]) {
|
|
37
35
|
return (0, sqlstring_1.escape)(JSON.stringify(value));
|
|
@@ -68,11 +66,11 @@ class AbstractSqlPlatform extends core_1.Platform {
|
|
|
68
66
|
}
|
|
69
67
|
return ret;
|
|
70
68
|
}
|
|
71
|
-
getSearchJsonPropertySQL(path, type) {
|
|
72
|
-
return this.getSearchJsonPropertyKey(path.split('->'), type);
|
|
69
|
+
getSearchJsonPropertySQL(path, type, aliased) {
|
|
70
|
+
return this.getSearchJsonPropertyKey(path.split('->'), type, aliased);
|
|
73
71
|
}
|
|
74
72
|
isRaw(value) {
|
|
75
|
-
return super.isRaw(value) || (typeof value === 'object' && value !== null && value.client &&
|
|
73
|
+
return super.isRaw(value) || (typeof value === 'object' && value !== null && value.client && ['Ref', 'Raw'].includes(value.constructor.name));
|
|
76
74
|
}
|
|
77
75
|
supportsSchemas() {
|
|
78
76
|
return false;
|
|
File without changes
|
|
File without changes
|
|
@@ -8,8 +8,8 @@ MariaDB, PostgreSQL and SQLite databases.
|
|
|
8
8
|
|
|
9
9
|
> Heavily inspired by [Doctrine](https://www.doctrine-project.org/) and [Nextras Orm](https://nextras.org/orm/).
|
|
10
10
|
|
|
11
|
-
[](https://www.npmjs.com/package/@mikro-orm/core)
|
|
12
|
+
[](https://www.npmjs.com/package/@mikro-orm/core)
|
|
13
13
|
[](https://join.slack.com/t/mikroorm/shared_invite/enQtNTM1ODYzMzM4MDk3LWM4ZDExMjU5ZDhmNjA2MmM3MWMwZmExNjhhNDdiYTMwNWM0MGY5ZTE3ZjkyZTMzOWExNDgyYmMzNDE1NDI5NjA)
|
|
14
14
|
[](https://www.npmjs.com/package/@mikro-orm/core)
|
|
15
15
|
[](https://coveralls.io/r/mikro-orm/mikro-orm?branch=master)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Knex } from 'knex';
|
|
2
|
-
import type { AnyEntity, EntityData, EntityName, EntityRepository, GetRepository, QueryResult } from '@mikro-orm/core';
|
|
2
|
+
import type { AnyEntity, ConnectionType, EntityData, EntityName, EntityRepository, GetRepository, QueryResult } from '@mikro-orm/core';
|
|
3
3
|
import { EntityManager } from '@mikro-orm/core';
|
|
4
4
|
import type { AbstractSqlDriver } from './AbstractSqlDriver';
|
|
5
5
|
import { QueryBuilder } from './query';
|
|
@@ -11,11 +11,11 @@ export declare class SqlEntityManager<D extends AbstractSqlDriver = AbstractSqlD
|
|
|
11
11
|
/**
|
|
12
12
|
* Creates a QueryBuilder instance
|
|
13
13
|
*/
|
|
14
|
-
createQueryBuilder<T>(entityName: EntityName<T>, alias?: string, type?:
|
|
14
|
+
createQueryBuilder<T extends object>(entityName: EntityName<T> | QueryBuilder<T>, alias?: string, type?: ConnectionType): QueryBuilder<T>;
|
|
15
15
|
/**
|
|
16
16
|
* Shortcut for `createQueryBuilder()`
|
|
17
17
|
*/
|
|
18
|
-
qb<T>(entityName: EntityName<T>, alias?: string, type?:
|
|
18
|
+
qb<T extends object>(entityName: EntityName<T>, alias?: string, type?: ConnectionType): QueryBuilder<T>;
|
|
19
19
|
/**
|
|
20
20
|
* Creates raw SQL query that won't be escaped when used as a parameter.
|
|
21
21
|
*/
|
|
@@ -23,7 +23,7 @@ export declare class SqlEntityManager<D extends AbstractSqlDriver = AbstractSqlD
|
|
|
23
23
|
/**
|
|
24
24
|
* Returns configured knex instance.
|
|
25
25
|
*/
|
|
26
|
-
getKnex(type?:
|
|
26
|
+
getKnex(type?: ConnectionType): Knex<any, any[]>;
|
|
27
27
|
execute<T extends QueryResult | EntityData<AnyEntity> | EntityData<AnyEntity>[] = EntityData<AnyEntity>[]>(queryOrKnex: string | Knex.QueryBuilder | Knex.Raw, params?: any[], method?: 'all' | 'get' | 'run'): Promise<T>;
|
|
28
|
-
getRepository<T extends
|
|
28
|
+
getRepository<T extends object, U extends EntityRepository<T> = SqlEntityRepository<T>>(entityName: EntityName<T>): GetRepository<T, U>;
|
|
29
29
|
}
|
|
@@ -11,7 +11,6 @@ class SqlEntityManager extends core_1.EntityManager {
|
|
|
11
11
|
* Creates a QueryBuilder instance
|
|
12
12
|
*/
|
|
13
13
|
createQueryBuilder(entityName, alias, type) {
|
|
14
|
-
entityName = core_1.Utils.className(entityName);
|
|
15
14
|
const context = this.getContext();
|
|
16
15
|
return new query_1.QueryBuilder(entityName, this.getMetadata(), this.getDriver(), context.getTransactionContext(), alias, type, context);
|
|
17
16
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Knex } from 'knex';
|
|
2
|
-
import type { EntityName } from '@mikro-orm/core';
|
|
2
|
+
import type { ConnectionType, EntityName } from '@mikro-orm/core';
|
|
3
3
|
import { EntityRepository } from '@mikro-orm/core';
|
|
4
4
|
import type { SqlEntityManager } from './SqlEntityManager';
|
|
5
5
|
import type { QueryBuilder } from './query';
|
|
6
|
-
export declare class SqlEntityRepository<T> extends EntityRepository<T> {
|
|
6
|
+
export declare class SqlEntityRepository<T extends object> extends EntityRepository<T> {
|
|
7
7
|
protected readonly _em: SqlEntityManager;
|
|
8
8
|
protected readonly entityName: EntityName<T>;
|
|
9
9
|
constructor(_em: SqlEntityManager, entityName: EntityName<T>);
|
|
@@ -18,6 +18,6 @@ export declare class SqlEntityRepository<T> extends EntityRepository<T> {
|
|
|
18
18
|
/**
|
|
19
19
|
* Returns configured knex instance.
|
|
20
20
|
*/
|
|
21
|
-
getKnex(type?:
|
|
21
|
+
getKnex(type?: ConnectionType): Knex;
|
|
22
22
|
protected get em(): SqlEntityManager;
|
|
23
23
|
}
|
|
@@ -27,7 +27,7 @@ class SqlEntityRepository extends core_1.EntityRepository {
|
|
|
27
27
|
return this.em.getConnection(type).getKnex();
|
|
28
28
|
}
|
|
29
29
|
get em() {
|
|
30
|
-
return this._em.getContext();
|
|
30
|
+
return this._em.getContext(false);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
exports.SqlEntityRepository = SqlEntityRepository;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -33,3 +37,4 @@ Object.defineProperty(exports, "EntityRepository", { enumerable: true, get: func
|
|
|
33
37
|
var knex_1 = require("knex");
|
|
34
38
|
Object.defineProperty(exports, "Knex", { enumerable: true, get: function () { return knex_1.Knex; } });
|
|
35
39
|
Object.defineProperty(exports, "knex", { enumerable: true, get: function () { return knex_1.knex; } });
|
|
40
|
+
__exportStar(require("@mikro-orm/core"), exports);
|
package/index.mjs
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import mod from "./index.js";
|
|
2
|
+
|
|
3
|
+
export default mod;
|
|
4
|
+
export const ARRAY_OPERATORS = mod.ARRAY_OPERATORS;
|
|
5
|
+
export const AbstractNamingStrategy = mod.AbstractNamingStrategy;
|
|
6
|
+
export const AbstractSchemaGenerator = mod.AbstractSchemaGenerator;
|
|
7
|
+
export const AbstractSqlConnection = mod.AbstractSqlConnection;
|
|
8
|
+
export const AbstractSqlDriver = mod.AbstractSqlDriver;
|
|
9
|
+
export const AbstractSqlPlatform = mod.AbstractSqlPlatform;
|
|
10
|
+
export const AfterCreate = mod.AfterCreate;
|
|
11
|
+
export const AfterDelete = mod.AfterDelete;
|
|
12
|
+
export const AfterUpdate = mod.AfterUpdate;
|
|
13
|
+
export const ArrayCollection = mod.ArrayCollection;
|
|
14
|
+
export const ArrayCriteriaNode = mod.ArrayCriteriaNode;
|
|
15
|
+
export const ArrayType = mod.ArrayType;
|
|
16
|
+
export const BaseEntity = mod.BaseEntity;
|
|
17
|
+
export const BeforeCreate = mod.BeforeCreate;
|
|
18
|
+
export const BeforeDelete = mod.BeforeDelete;
|
|
19
|
+
export const BeforeUpdate = mod.BeforeUpdate;
|
|
20
|
+
export const BigIntType = mod.BigIntType;
|
|
21
|
+
export const BlobType = mod.BlobType;
|
|
22
|
+
export const BooleanType = mod.BooleanType;
|
|
23
|
+
export const Cascade = mod.Cascade;
|
|
24
|
+
export const ChangeSet = mod.ChangeSet;
|
|
25
|
+
export const ChangeSetComputer = mod.ChangeSetComputer;
|
|
26
|
+
export const ChangeSetPersister = mod.ChangeSetPersister;
|
|
27
|
+
export const ChangeSetType = mod.ChangeSetType;
|
|
28
|
+
export const Check = mod.Check;
|
|
29
|
+
export const CheckConstraintViolationException = mod.CheckConstraintViolationException;
|
|
30
|
+
export const Collection = mod.Collection;
|
|
31
|
+
export const CommitOrderCalculator = mod.CommitOrderCalculator;
|
|
32
|
+
export const Configuration = mod.Configuration;
|
|
33
|
+
export const ConfigurationLoader = mod.ConfigurationLoader;
|
|
34
|
+
export const Connection = mod.Connection;
|
|
35
|
+
export const ConnectionException = mod.ConnectionException;
|
|
36
|
+
export const ConstraintViolationException = mod.ConstraintViolationException;
|
|
37
|
+
export const CriteriaNode = mod.CriteriaNode;
|
|
38
|
+
export const CriteriaNodeFactory = mod.CriteriaNodeFactory;
|
|
39
|
+
export const DatabaseDriver = mod.DatabaseDriver;
|
|
40
|
+
export const DatabaseObjectExistsException = mod.DatabaseObjectExistsException;
|
|
41
|
+
export const DatabaseObjectNotFoundException = mod.DatabaseObjectNotFoundException;
|
|
42
|
+
export const DatabaseSchema = mod.DatabaseSchema;
|
|
43
|
+
export const DatabaseTable = mod.DatabaseTable;
|
|
44
|
+
export const DateTimeType = mod.DateTimeType;
|
|
45
|
+
export const DateType = mod.DateType;
|
|
46
|
+
export const DeadlockException = mod.DeadlockException;
|
|
47
|
+
export const DecimalType = mod.DecimalType;
|
|
48
|
+
export const DefaultLogger = mod.DefaultLogger;
|
|
49
|
+
export const DoubleType = mod.DoubleType;
|
|
50
|
+
export const DriverException = mod.DriverException;
|
|
51
|
+
export const Embeddable = mod.Embeddable;
|
|
52
|
+
export const Embedded = mod.Embedded;
|
|
53
|
+
export const Entity = mod.Entity;
|
|
54
|
+
export const EntityAssigner = mod.EntityAssigner;
|
|
55
|
+
export const EntityCaseNamingStrategy = mod.EntityCaseNamingStrategy;
|
|
56
|
+
export const EntityComparator = mod.EntityComparator;
|
|
57
|
+
export const EntityFactory = mod.EntityFactory;
|
|
58
|
+
export const EntityHelper = mod.EntityHelper;
|
|
59
|
+
export const EntityIdentifier = mod.EntityIdentifier;
|
|
60
|
+
export const EntityLoader = mod.EntityLoader;
|
|
61
|
+
export const EntityManager = mod.EntityManager;
|
|
62
|
+
export const EntityManagerType = mod.EntityManagerType;
|
|
63
|
+
export const EntityMetadata = mod.EntityMetadata;
|
|
64
|
+
export const EntityRepository = mod.EntityRepository;
|
|
65
|
+
export const EntityRepositoryType = mod.EntityRepositoryType;
|
|
66
|
+
export const EntitySchema = mod.EntitySchema;
|
|
67
|
+
export const EntitySerializer = mod.EntitySerializer;
|
|
68
|
+
export const EntityTransformer = mod.EntityTransformer;
|
|
69
|
+
export const EntityValidator = mod.EntityValidator;
|
|
70
|
+
export const Enum = mod.Enum;
|
|
71
|
+
export const EnumArrayType = mod.EnumArrayType;
|
|
72
|
+
export const EnumType = mod.EnumType;
|
|
73
|
+
export const EventManager = mod.EventManager;
|
|
74
|
+
export const EventType = mod.EventType;
|
|
75
|
+
export const ExceptionConverter = mod.ExceptionConverter;
|
|
76
|
+
export const FileCacheAdapter = mod.FileCacheAdapter;
|
|
77
|
+
export const Filter = mod.Filter;
|
|
78
|
+
export const FloatType = mod.FloatType;
|
|
79
|
+
export const FlushMode = mod.FlushMode;
|
|
80
|
+
export const ForeignKeyConstraintViolationException = mod.ForeignKeyConstraintViolationException;
|
|
81
|
+
export const Formula = mod.Formula;
|
|
82
|
+
export const GroupOperator = mod.GroupOperator;
|
|
83
|
+
export const Hydrator = mod.Hydrator;
|
|
84
|
+
export const IdentityMap = mod.IdentityMap;
|
|
85
|
+
export const Index = mod.Index;
|
|
86
|
+
export const IntegerType = mod.IntegerType;
|
|
87
|
+
export const InvalidFieldNameException = mod.InvalidFieldNameException;
|
|
88
|
+
export const IsolationLevel = mod.IsolationLevel;
|
|
89
|
+
export const JavaScriptMetadataProvider = mod.JavaScriptMetadataProvider;
|
|
90
|
+
export const JsonProperty = mod.JsonProperty;
|
|
91
|
+
export const JsonType = mod.JsonType;
|
|
92
|
+
export const Knex = mod.Knex;
|
|
93
|
+
export const LoadStrategy = mod.LoadStrategy;
|
|
94
|
+
export const LockMode = mod.LockMode;
|
|
95
|
+
export const LockWaitTimeoutException = mod.LockWaitTimeoutException;
|
|
96
|
+
export const ManyToMany = mod.ManyToMany;
|
|
97
|
+
export const ManyToOne = mod.ManyToOne;
|
|
98
|
+
export const MediumIntType = mod.MediumIntType;
|
|
99
|
+
export const MemoryCacheAdapter = mod.MemoryCacheAdapter;
|
|
100
|
+
export const MetadataDiscovery = mod.MetadataDiscovery;
|
|
101
|
+
export const MetadataError = mod.MetadataError;
|
|
102
|
+
export const MetadataProvider = mod.MetadataProvider;
|
|
103
|
+
export const MetadataStorage = mod.MetadataStorage;
|
|
104
|
+
export const MetadataValidator = mod.MetadataValidator;
|
|
105
|
+
export const MikroORM = mod.MikroORM;
|
|
106
|
+
export const MongoNamingStrategy = mod.MongoNamingStrategy;
|
|
107
|
+
export const MonkeyPatchable = mod.MonkeyPatchable;
|
|
108
|
+
export const NodeState = mod.NodeState;
|
|
109
|
+
export const NonUniqueFieldNameException = mod.NonUniqueFieldNameException;
|
|
110
|
+
export const NotFoundError = mod.NotFoundError;
|
|
111
|
+
export const NotNullConstraintViolationException = mod.NotNullConstraintViolationException;
|
|
112
|
+
export const NullCacheAdapter = mod.NullCacheAdapter;
|
|
113
|
+
export const NullHighlighter = mod.NullHighlighter;
|
|
114
|
+
export const ObjectBindingPattern = mod.ObjectBindingPattern;
|
|
115
|
+
export const ObjectCriteriaNode = mod.ObjectCriteriaNode;
|
|
116
|
+
export const ObjectHydrator = mod.ObjectHydrator;
|
|
117
|
+
export const OnInit = mod.OnInit;
|
|
118
|
+
export const OnLoad = mod.OnLoad;
|
|
119
|
+
export const OneToMany = mod.OneToMany;
|
|
120
|
+
export const OneToOne = mod.OneToOne;
|
|
121
|
+
export const OptimisticLockError = mod.OptimisticLockError;
|
|
122
|
+
export const OptionalProps = mod.OptionalProps;
|
|
123
|
+
export const PlainObject = mod.PlainObject;
|
|
124
|
+
export const Platform = mod.Platform;
|
|
125
|
+
export const PopulateHint = mod.PopulateHint;
|
|
126
|
+
export const PrimaryKey = mod.PrimaryKey;
|
|
127
|
+
export const PrimaryKeyProp = mod.PrimaryKeyProp;
|
|
128
|
+
export const PrimaryKeyType = mod.PrimaryKeyType;
|
|
129
|
+
export const Property = mod.Property;
|
|
130
|
+
export const QueryBuilder = mod.QueryBuilder;
|
|
131
|
+
export const QueryBuilderHelper = mod.QueryBuilderHelper;
|
|
132
|
+
export const QueryFlag = mod.QueryFlag;
|
|
133
|
+
export const QueryHelper = mod.QueryHelper;
|
|
134
|
+
export const QueryOperator = mod.QueryOperator;
|
|
135
|
+
export const QueryOrder = mod.QueryOrder;
|
|
136
|
+
export const QueryOrderNumeric = mod.QueryOrderNumeric;
|
|
137
|
+
export const QueryType = mod.QueryType;
|
|
138
|
+
export const ReadOnlyException = mod.ReadOnlyException;
|
|
139
|
+
export const Reference = mod.Reference;
|
|
140
|
+
export const ReferenceType = mod.ReferenceType;
|
|
141
|
+
export const ReflectMetadataProvider = mod.ReflectMetadataProvider;
|
|
142
|
+
export const RequestContext = mod.RequestContext;
|
|
143
|
+
export const SCALAR_TYPES = mod.SCALAR_TYPES;
|
|
144
|
+
export const ScalarCriteriaNode = mod.ScalarCriteriaNode;
|
|
145
|
+
export const SchemaComparator = mod.SchemaComparator;
|
|
146
|
+
export const SchemaGenerator = mod.SchemaGenerator;
|
|
147
|
+
export const SchemaHelper = mod.SchemaHelper;
|
|
148
|
+
export const SerializationContext = mod.SerializationContext;
|
|
149
|
+
export const SerializedPrimaryKey = mod.SerializedPrimaryKey;
|
|
150
|
+
export const ServerException = mod.ServerException;
|
|
151
|
+
export const SimpleLogger = mod.SimpleLogger;
|
|
152
|
+
export const SmallIntType = mod.SmallIntType;
|
|
153
|
+
export const SqlEntityManager = mod.SqlEntityManager;
|
|
154
|
+
export const SqlEntityRepository = mod.SqlEntityRepository;
|
|
155
|
+
export const SqlSchemaGenerator = mod.SqlSchemaGenerator;
|
|
156
|
+
export const StringType = mod.StringType;
|
|
157
|
+
export const Subscriber = mod.Subscriber;
|
|
158
|
+
export const SyntaxErrorException = mod.SyntaxErrorException;
|
|
159
|
+
export const TableExistsException = mod.TableExistsException;
|
|
160
|
+
export const TableNotFoundException = mod.TableNotFoundException;
|
|
161
|
+
export const TextType = mod.TextType;
|
|
162
|
+
export const TimeType = mod.TimeType;
|
|
163
|
+
export const TinyIntType = mod.TinyIntType;
|
|
164
|
+
export const TransactionContext = mod.TransactionContext;
|
|
165
|
+
export const TransactionEventBroadcaster = mod.TransactionEventBroadcaster;
|
|
166
|
+
export const Type = mod.Type;
|
|
167
|
+
export const UnderscoreNamingStrategy = mod.UnderscoreNamingStrategy;
|
|
168
|
+
export const Unique = mod.Unique;
|
|
169
|
+
export const UniqueConstraintViolationException = mod.UniqueConstraintViolationException;
|
|
170
|
+
export const UnitOfWork = mod.UnitOfWork;
|
|
171
|
+
export const UnknownType = mod.UnknownType;
|
|
172
|
+
export const UseRequestContext = mod.UseRequestContext;
|
|
173
|
+
export const Utils = mod.Utils;
|
|
174
|
+
export const UuidType = mod.UuidType;
|
|
175
|
+
export const ValidationError = mod.ValidationError;
|
|
176
|
+
export const WrappedEntity = mod.WrappedEntity;
|
|
177
|
+
export const assign = mod.assign;
|
|
178
|
+
export const colors = mod.colors;
|
|
179
|
+
export const compareArrays = mod.compareArrays;
|
|
180
|
+
export const compareBooleans = mod.compareBooleans;
|
|
181
|
+
export const compareBuffers = mod.compareBuffers;
|
|
182
|
+
export const compareObjects = mod.compareObjects;
|
|
183
|
+
export const defineConfig = mod.defineConfig;
|
|
184
|
+
export const equals = mod.equals;
|
|
185
|
+
export const expr = mod.expr;
|
|
186
|
+
export const helper = mod.helper;
|
|
187
|
+
export const knex = mod.knex;
|
|
188
|
+
export const ref = mod.ref;
|
|
189
|
+
export const serialize = mod.serialize;
|
|
190
|
+
export const t = mod.t;
|
|
191
|
+
export const types = mod.types;
|
|
192
|
+
export const wrap = mod.wrap;
|
package/package.json
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/knex",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.10",
|
|
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
|
-
"main": "
|
|
6
|
-
"module": "
|
|
7
|
-
"typings": "
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"module": "index.mjs",
|
|
7
|
+
"typings": "index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
"./package.json": "./package.json",
|
|
10
10
|
".": {
|
|
11
|
-
"import":
|
|
12
|
-
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./index.d.ts",
|
|
13
|
+
"default": "./index.mjs"
|
|
14
|
+
},
|
|
15
|
+
"require": "./index.js"
|
|
13
16
|
}
|
|
14
17
|
},
|
|
15
18
|
"repository": {
|
|
@@ -43,58 +46,26 @@
|
|
|
43
46
|
},
|
|
44
47
|
"homepage": "https://mikro-orm.io",
|
|
45
48
|
"engines": {
|
|
46
|
-
"node": ">=
|
|
49
|
+
"node": ">= 16.0.0"
|
|
47
50
|
},
|
|
48
51
|
"scripts": {
|
|
49
|
-
"build": "yarn clean && yarn compile && yarn copy",
|
|
50
|
-
"postbuild": "yarn gen-esm-wrapper dist/index.js dist/index.mjs",
|
|
52
|
+
"build": "yarn clean && yarn compile && yarn copy && yarn run -T gen-esm-wrapper index.js index.mjs",
|
|
51
53
|
"clean": "rimraf ./dist",
|
|
52
54
|
"compile": "tsc -p tsconfig.build.json",
|
|
53
|
-
"copy": "
|
|
55
|
+
"copy": "node ../../scripts/copy.mjs"
|
|
54
56
|
},
|
|
55
57
|
"publishConfig": {
|
|
56
58
|
"access": "public"
|
|
57
59
|
},
|
|
58
60
|
"dependencies": {
|
|
59
|
-
"fs-extra": "
|
|
60
|
-
"knex": "
|
|
61
|
-
"sqlstring": "2.3.
|
|
61
|
+
"fs-extra": "11.1.0",
|
|
62
|
+
"knex": "2.3.0",
|
|
63
|
+
"sqlstring": "2.3.3"
|
|
62
64
|
},
|
|
63
65
|
"devDependencies": {
|
|
64
|
-
"@mikro-orm/core": "^
|
|
66
|
+
"@mikro-orm/core": "^5.5.3"
|
|
65
67
|
},
|
|
66
68
|
"peerDependencies": {
|
|
67
|
-
"@mikro-orm/core": "
|
|
68
|
-
|
|
69
|
-
"@mikro-orm/migrations": "^5.0.0",
|
|
70
|
-
"@vscode/sqlite3": "^5.0.0",
|
|
71
|
-
"mssql": "^7.0.0",
|
|
72
|
-
"mysql": "^2.18.1",
|
|
73
|
-
"mysql2": "^2.1.0",
|
|
74
|
-
"pg": "^8.0.3"
|
|
75
|
-
},
|
|
76
|
-
"peerDependenciesMeta": {
|
|
77
|
-
"@mikro-orm/entity-generator": {
|
|
78
|
-
"optional": true
|
|
79
|
-
},
|
|
80
|
-
"@mikro-orm/migrations": {
|
|
81
|
-
"optional": true
|
|
82
|
-
},
|
|
83
|
-
"@vscode/sqlite3": {
|
|
84
|
-
"optional": true
|
|
85
|
-
},
|
|
86
|
-
"mssql": {
|
|
87
|
-
"optional": true
|
|
88
|
-
},
|
|
89
|
-
"mysql": {
|
|
90
|
-
"optional": true
|
|
91
|
-
},
|
|
92
|
-
"mysql2": {
|
|
93
|
-
"optional": true
|
|
94
|
-
},
|
|
95
|
-
"pg": {
|
|
96
|
-
"optional": true
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
"gitHead": "4ab7bdd0caf4f80b6a646dcd66c5ac6b67308764"
|
|
69
|
+
"@mikro-orm/core": "~6.0.0-dev.10"
|
|
70
|
+
}
|
|
100
71
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -21,9 +21,10 @@ class CriteriaNode {
|
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
pks.forEach(k => {
|
|
24
|
-
this.prop = meta.props.find(prop => prop.name === k || (prop.fieldNames
|
|
24
|
+
this.prop = meta.props.find(prop => prop.name === k || (prop.fieldNames?.length === 1 && prop.fieldNames[0] === k));
|
|
25
|
+
const isProp = this.prop || meta.props.find(prop => (prop.fieldNames || []).includes(k));
|
|
25
26
|
// do not validate if the key is prefixed or type casted (e.g. `k::text`)
|
|
26
|
-
if (validate && !
|
|
27
|
+
if (validate && !isProp && !k.includes('.') && !k.includes('::') && !core_1.Utils.isOperator(k) && !CriteriaNode.isCustomExpression(k)) {
|
|
27
28
|
throw new Error(`Trying to query by not existing property ${entityName}.${k}`);
|
|
28
29
|
}
|
|
29
30
|
});
|
|
@@ -56,11 +57,13 @@ class CriteriaNode {
|
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
renameFieldToPK(qb) {
|
|
59
|
-
const
|
|
60
|
+
const joinAlias = qb.getAliasForJoinPath(this.getPath());
|
|
61
|
+
const alias = joinAlias ?? qb.alias;
|
|
60
62
|
if (this.prop.reference === core_1.ReferenceType.MANY_TO_MANY) {
|
|
61
63
|
return core_1.Utils.getPrimaryKeyHash(this.prop.inverseJoinColumns.map(col => `${alias}.${col}`));
|
|
62
64
|
}
|
|
63
|
-
if
|
|
65
|
+
// if we found a matching join, we need to use the target table column names, as we use that alias instead of the root
|
|
66
|
+
if (!joinAlias && this.prop.owner && this.prop.joinColumns.length > 1) {
|
|
64
67
|
return core_1.Utils.getPrimaryKeyHash(this.prop.joinColumns.map(col => `${alias}.${col}`));
|
|
65
68
|
}
|
|
66
69
|
return core_1.Utils.getPrimaryKeyHash(this.prop.referencedColumnNames.map(col => `${alias}.${col}`));
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -22,7 +22,8 @@ class ObjectCriteriaNode extends CriteriaNode_1.CriteriaNode {
|
|
|
22
22
|
const payload = childNode.process(qb, this.prop ? alias : ownerAlias);
|
|
23
23
|
const operator = core_1.Utils.isOperator(field);
|
|
24
24
|
const customExpression = ObjectCriteriaNode.isCustomExpression(field);
|
|
25
|
-
|
|
25
|
+
// we need to keep the prefixing for formulas otherwise we would lose aliasing context when nesting inside group operators
|
|
26
|
+
const virtual = childNode.prop?.persist === false && !childNode.prop?.formula;
|
|
26
27
|
// if key is missing, we are inside group operator and we need to prefix with alias
|
|
27
28
|
const primaryKey = this.key && this.metadata.find(this.entityName).primaryKeys.includes(field);
|
|
28
29
|
if (childNode.shouldInline(payload)) {
|
|
@@ -78,10 +79,22 @@ class ObjectCriteriaNode extends CriteriaNode_1.CriteriaNode {
|
|
|
78
79
|
delete o[key];
|
|
79
80
|
o.$and = $and;
|
|
80
81
|
}
|
|
82
|
+
else if (core_1.Utils.isOperator(k) && Array.isArray(payload[k])) {
|
|
83
|
+
o[key] = payload[k].map((child) => Object.keys(child).reduce((o, childKey) => {
|
|
84
|
+
const key = (this.isPrefixed(childKey) || core_1.Utils.isOperator(childKey))
|
|
85
|
+
? childKey
|
|
86
|
+
: `${childAlias}.${childKey}`;
|
|
87
|
+
o[key] = child[childKey];
|
|
88
|
+
return o;
|
|
89
|
+
}, {}));
|
|
90
|
+
}
|
|
81
91
|
else {
|
|
82
92
|
o[key] = payload[k];
|
|
83
93
|
}
|
|
84
94
|
}
|
|
95
|
+
else if (ObjectCriteriaNode.isCustomExpression(k)) {
|
|
96
|
+
o[k] = payload[k];
|
|
97
|
+
}
|
|
85
98
|
else {
|
|
86
99
|
o[`${childAlias}.${k}`] = payload[k];
|
|
87
100
|
}
|