@mikro-orm/core 7.0.0-dev.1 → 7.0.0-dev.100
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/EntityManager.d.ts +96 -58
- package/EntityManager.js +465 -395
- package/MikroORM.d.ts +45 -35
- package/MikroORM.js +109 -160
- package/README.md +3 -2
- package/cache/CacheAdapter.js +1 -2
- package/cache/FileCacheAdapter.d.ts +2 -2
- package/cache/FileCacheAdapter.js +20 -27
- package/cache/GeneratedCacheAdapter.d.ts +2 -3
- package/cache/GeneratedCacheAdapter.js +1 -7
- package/cache/MemoryCacheAdapter.d.ts +1 -1
- package/cache/MemoryCacheAdapter.js +1 -5
- package/cache/NullCacheAdapter.d.ts +1 -1
- package/cache/NullCacheAdapter.js +1 -5
- package/cache/index.d.ts +4 -5
- package/cache/index.js +4 -21
- package/connections/Connection.d.ts +22 -14
- package/connections/Connection.js +27 -23
- package/connections/index.d.ts +1 -1
- package/connections/index.js +1 -17
- package/drivers/DatabaseDriver.d.ts +25 -15
- package/drivers/DatabaseDriver.js +77 -64
- package/drivers/IDatabaseDriver.d.ts +40 -16
- package/drivers/IDatabaseDriver.js +1 -4
- package/drivers/index.d.ts +2 -2
- package/drivers/index.js +2 -18
- package/entity/BaseEntity.d.ts +6 -7
- package/entity/BaseEntity.js +16 -23
- package/entity/Collection.d.ts +98 -34
- package/entity/Collection.js +466 -131
- package/entity/EntityAssigner.d.ts +3 -3
- package/entity/EntityAssigner.js +67 -64
- package/entity/EntityFactory.d.ts +10 -3
- package/entity/EntityFactory.js +112 -91
- package/entity/EntityHelper.d.ts +2 -2
- package/entity/EntityHelper.js +66 -53
- package/entity/EntityIdentifier.d.ts +1 -1
- package/entity/EntityIdentifier.js +1 -5
- package/entity/EntityLoader.d.ts +8 -7
- package/entity/EntityLoader.js +161 -128
- package/entity/EntityRepository.d.ts +8 -8
- package/entity/EntityRepository.js +7 -11
- package/entity/Reference.d.ts +10 -13
- package/entity/Reference.js +64 -46
- package/entity/WrappedEntity.d.ts +12 -17
- package/entity/WrappedEntity.js +22 -31
- package/entity/defineEntity.d.ts +568 -0
- package/entity/defineEntity.js +529 -0
- package/entity/index.d.ts +14 -13
- package/entity/index.js +14 -29
- package/entity/utils.d.ts +8 -1
- package/entity/utils.js +22 -13
- package/entity/validators.d.ts +11 -0
- package/entity/validators.js +65 -0
- package/entity/wrap.d.ts +1 -1
- package/entity/wrap.js +2 -6
- package/enums.d.ts +24 -9
- package/enums.js +50 -41
- package/errors.d.ts +11 -3
- package/errors.js +42 -32
- package/events/EventManager.d.ts +5 -4
- package/events/EventManager.js +26 -22
- package/events/EventSubscriber.d.ts +8 -5
- package/events/EventSubscriber.js +1 -2
- package/events/TransactionEventBroadcaster.d.ts +3 -3
- package/events/TransactionEventBroadcaster.js +1 -5
- package/events/index.d.ts +3 -3
- package/events/index.js +3 -19
- package/exceptions.js +18 -39
- package/hydration/Hydrator.d.ts +5 -5
- package/hydration/Hydrator.js +2 -6
- package/hydration/ObjectHydrator.d.ts +7 -7
- package/hydration/ObjectHydrator.js +58 -50
- package/hydration/index.d.ts +2 -2
- package/hydration/index.js +2 -18
- package/index.d.ts +21 -21
- package/index.js +20 -46
- package/logging/DefaultLogger.d.ts +2 -2
- package/logging/DefaultLogger.js +10 -13
- package/logging/Logger.d.ts +1 -1
- package/logging/Logger.js +1 -2
- package/logging/SimpleLogger.d.ts +3 -3
- package/logging/SimpleLogger.js +2 -6
- package/logging/colors.js +1 -5
- package/logging/index.d.ts +5 -4
- package/logging/index.js +5 -20
- package/logging/inspect.d.ts +2 -0
- package/logging/inspect.js +16 -0
- package/metadata/EntitySchema.d.ts +14 -10
- package/metadata/EntitySchema.js +78 -64
- package/metadata/MetadataDiscovery.d.ts +11 -14
- package/metadata/MetadataDiscovery.js +278 -317
- package/metadata/MetadataProvider.d.ts +13 -4
- package/metadata/MetadataProvider.js +47 -8
- package/metadata/MetadataStorage.d.ts +2 -7
- package/metadata/MetadataStorage.js +19 -35
- package/metadata/MetadataValidator.d.ts +3 -10
- package/metadata/MetadataValidator.js +51 -64
- package/metadata/discover-entities.d.ts +5 -0
- package/metadata/discover-entities.js +40 -0
- package/metadata/index.d.ts +6 -6
- package/metadata/index.js +6 -22
- package/metadata/types.d.ts +480 -0
- package/metadata/types.js +1 -0
- package/naming-strategy/AbstractNamingStrategy.d.ts +7 -3
- package/naming-strategy/AbstractNamingStrategy.js +11 -9
- package/naming-strategy/EntityCaseNamingStrategy.d.ts +1 -1
- package/naming-strategy/EntityCaseNamingStrategy.js +2 -6
- package/naming-strategy/MongoNamingStrategy.d.ts +1 -1
- package/naming-strategy/MongoNamingStrategy.js +2 -6
- package/naming-strategy/NamingStrategy.d.ts +12 -2
- package/naming-strategy/NamingStrategy.js +1 -2
- package/naming-strategy/UnderscoreNamingStrategy.d.ts +1 -1
- package/naming-strategy/UnderscoreNamingStrategy.js +2 -6
- package/naming-strategy/index.d.ts +5 -5
- package/naming-strategy/index.js +5 -21
- package/not-supported.d.ts +2 -0
- package/not-supported.js +4 -0
- package/package.json +19 -20
- package/platforms/ExceptionConverter.d.ts +2 -2
- package/platforms/ExceptionConverter.js +4 -8
- package/platforms/Platform.d.ts +15 -22
- package/platforms/Platform.js +58 -88
- package/platforms/index.d.ts +2 -2
- package/platforms/index.js +2 -18
- package/serialization/EntitySerializer.d.ts +4 -2
- package/serialization/EntitySerializer.js +64 -51
- package/serialization/EntityTransformer.d.ts +1 -1
- package/serialization/EntityTransformer.js +48 -42
- package/serialization/SerializationContext.d.ts +2 -2
- package/serialization/SerializationContext.js +24 -25
- package/serialization/index.d.ts +3 -3
- package/serialization/index.js +3 -19
- package/types/ArrayType.d.ts +3 -3
- package/types/ArrayType.js +6 -11
- package/types/BigIntType.d.ts +12 -9
- package/types/BigIntType.js +6 -6
- package/types/BlobType.d.ts +3 -4
- package/types/BlobType.js +2 -11
- package/types/BooleanType.d.ts +5 -4
- package/types/BooleanType.js +5 -6
- package/types/CharacterType.d.ts +3 -3
- package/types/CharacterType.js +2 -6
- package/types/DateTimeType.d.ts +3 -3
- package/types/DateTimeType.js +2 -6
- package/types/DateType.d.ts +3 -3
- package/types/DateType.js +2 -6
- package/types/DecimalType.d.ts +9 -7
- package/types/DecimalType.js +5 -8
- package/types/DoubleType.d.ts +3 -3
- package/types/DoubleType.js +4 -7
- package/types/EnumArrayType.d.ts +4 -4
- package/types/EnumArrayType.js +4 -10
- package/types/EnumType.d.ts +3 -3
- package/types/EnumType.js +2 -6
- package/types/FloatType.d.ts +3 -3
- package/types/FloatType.js +2 -6
- package/types/IntegerType.d.ts +3 -3
- package/types/IntegerType.js +2 -6
- package/types/IntervalType.d.ts +3 -3
- package/types/IntervalType.js +2 -6
- package/types/JsonType.d.ts +4 -4
- package/types/JsonType.js +9 -8
- package/types/MediumIntType.d.ts +3 -3
- package/types/MediumIntType.js +2 -6
- package/types/SmallIntType.d.ts +3 -3
- package/types/SmallIntType.js +2 -6
- package/types/StringType.d.ts +3 -3
- package/types/StringType.js +2 -6
- package/types/TextType.d.ts +3 -3
- package/types/TextType.js +2 -6
- package/types/TimeType.d.ts +3 -3
- package/types/TimeType.js +4 -8
- package/types/TinyIntType.d.ts +3 -3
- package/types/TinyIntType.js +3 -6
- package/types/Type.d.ts +4 -6
- package/types/Type.js +6 -10
- package/types/Uint8ArrayType.d.ts +3 -4
- package/types/Uint8ArrayType.js +3 -12
- package/types/UnknownType.d.ts +3 -3
- package/types/UnknownType.js +2 -6
- package/types/UuidType.d.ts +3 -3
- package/types/UuidType.js +2 -6
- package/types/index.d.ts +25 -25
- package/types/index.js +52 -79
- package/typings.d.ts +134 -93
- package/typings.js +67 -65
- package/unit-of-work/ChangeSet.d.ts +1 -4
- package/unit-of-work/ChangeSet.js +13 -17
- package/unit-of-work/ChangeSetComputer.d.ts +8 -9
- package/unit-of-work/ChangeSetComputer.js +36 -38
- package/unit-of-work/ChangeSetPersister.d.ts +11 -9
- package/unit-of-work/ChangeSetPersister.js +100 -65
- package/unit-of-work/CommitOrderCalculator.d.ts +1 -1
- package/unit-of-work/CommitOrderCalculator.js +6 -10
- package/unit-of-work/IdentityMap.d.ts +1 -1
- package/unit-of-work/IdentityMap.js +1 -5
- package/unit-of-work/UnitOfWork.d.ts +16 -8
- package/unit-of-work/UnitOfWork.js +266 -209
- package/unit-of-work/index.d.ts +6 -6
- package/unit-of-work/index.js +6 -22
- package/utils/AbstractSchemaGenerator.d.ts +11 -11
- package/utils/AbstractSchemaGenerator.js +21 -20
- package/utils/Configuration.d.ts +774 -224
- package/utils/Configuration.js +166 -216
- package/utils/ConfigurationLoader.d.ts +1 -53
- package/utils/ConfigurationLoader.js +1 -367
- package/utils/Cursor.d.ts +6 -9
- package/utils/Cursor.js +25 -25
- package/utils/DataloaderUtils.d.ts +18 -8
- package/utils/DataloaderUtils.js +63 -21
- package/utils/EntityComparator.d.ts +9 -5
- package/utils/EntityComparator.js +155 -108
- package/utils/NullHighlighter.d.ts +1 -1
- package/utils/NullHighlighter.js +1 -5
- package/utils/QueryHelper.d.ts +12 -4
- package/utils/QueryHelper.js +110 -53
- package/utils/RawQueryFragment.d.ts +37 -14
- package/utils/RawQueryFragment.js +50 -33
- package/utils/RequestContext.d.ts +2 -2
- package/utils/RequestContext.js +3 -7
- package/utils/TransactionContext.d.ts +1 -1
- package/utils/TransactionContext.js +4 -8
- package/utils/TransactionManager.d.ts +65 -0
- package/utils/TransactionManager.js +223 -0
- package/utils/Utils.d.ts +16 -100
- package/utils/Utils.js +114 -332
- package/utils/clone.js +7 -11
- package/utils/env-vars.d.ts +3 -0
- package/utils/env-vars.js +87 -0
- package/utils/fs-utils.d.ts +12 -0
- package/utils/fs-utils.js +97 -0
- package/utils/index.d.ts +14 -13
- package/utils/index.js +14 -29
- package/utils/upsert-utils.d.ts +8 -3
- package/utils/upsert-utils.js +57 -10
- package/decorators/Check.d.ts +0 -3
- package/decorators/Check.js +0 -16
- package/decorators/CreateRequestContext.d.ts +0 -3
- package/decorators/CreateRequestContext.js +0 -33
- package/decorators/Embeddable.d.ts +0 -8
- package/decorators/Embeddable.js +0 -14
- package/decorators/Embedded.d.ts +0 -18
- package/decorators/Embedded.js +0 -20
- package/decorators/Entity.d.ts +0 -18
- package/decorators/Entity.js +0 -16
- package/decorators/Enum.d.ts +0 -9
- package/decorators/Enum.js +0 -19
- package/decorators/Filter.d.ts +0 -2
- package/decorators/Filter.js +0 -11
- package/decorators/Formula.d.ts +0 -5
- package/decorators/Formula.js +0 -18
- package/decorators/Indexed.d.ts +0 -17
- package/decorators/Indexed.js +0 -24
- package/decorators/ManyToMany.d.ts +0 -40
- package/decorators/ManyToMany.js +0 -16
- package/decorators/ManyToOne.d.ts +0 -30
- package/decorators/ManyToOne.js +0 -16
- package/decorators/OneToMany.d.ts +0 -28
- package/decorators/OneToMany.js +0 -20
- package/decorators/OneToOne.d.ts +0 -24
- package/decorators/OneToOne.js +0 -10
- package/decorators/PrimaryKey.d.ts +0 -9
- package/decorators/PrimaryKey.js +0 -23
- package/decorators/Property.d.ts +0 -250
- package/decorators/Property.js +0 -34
- package/decorators/Transactional.d.ts +0 -13
- package/decorators/Transactional.js +0 -31
- package/decorators/hooks.d.ts +0 -16
- package/decorators/hooks.js +0 -59
- package/decorators/index.d.ts +0 -17
- package/decorators/index.js +0 -36
- package/entity/ArrayCollection.d.ts +0 -116
- package/entity/ArrayCollection.js +0 -399
- package/entity/EntityValidator.d.ts +0 -19
- package/entity/EntityValidator.js +0 -154
- package/index.mjs +0 -199
- package/metadata/ReflectMetadataProvider.d.ts +0 -8
- package/metadata/ReflectMetadataProvider.js +0 -48
- package/utils/resolveContextProvider.d.ts +0 -10
- package/utils/resolveContextProvider.js +0 -31
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GeneratedCacheAdapter = void 0;
|
|
4
|
-
class GeneratedCacheAdapter {
|
|
5
|
-
options;
|
|
1
|
+
export class GeneratedCacheAdapter {
|
|
6
2
|
data = new Map();
|
|
7
3
|
constructor(options) {
|
|
8
|
-
this.options = options;
|
|
9
4
|
this.data = new Map(Object.entries(options.data));
|
|
10
5
|
}
|
|
11
6
|
/**
|
|
@@ -35,4 +30,3 @@ class GeneratedCacheAdapter {
|
|
|
35
30
|
this.data.clear();
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
exports.GeneratedCacheAdapter = GeneratedCacheAdapter;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemoryCacheAdapter = void 0;
|
|
4
|
-
class MemoryCacheAdapter {
|
|
1
|
+
export class MemoryCacheAdapter {
|
|
5
2
|
options;
|
|
6
3
|
data = new Map();
|
|
7
4
|
constructor(options) {
|
|
@@ -41,4 +38,3 @@ class MemoryCacheAdapter {
|
|
|
41
38
|
this.data.clear();
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
exports.MemoryCacheAdapter = MemoryCacheAdapter;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NullCacheAdapter = void 0;
|
|
4
|
-
class NullCacheAdapter {
|
|
1
|
+
export class NullCacheAdapter {
|
|
5
2
|
/**
|
|
6
3
|
* @inheritDoc
|
|
7
4
|
*/
|
|
@@ -27,4 +24,3 @@ class NullCacheAdapter {
|
|
|
27
24
|
// ignore
|
|
28
25
|
}
|
|
29
26
|
}
|
|
30
|
-
exports.NullCacheAdapter = NullCacheAdapter;
|
package/cache/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export * from './CacheAdapter';
|
|
2
|
-
export * from './NullCacheAdapter';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './GeneratedCacheAdapter';
|
|
1
|
+
export * from './CacheAdapter.js';
|
|
2
|
+
export * from './NullCacheAdapter.js';
|
|
3
|
+
export * from './MemoryCacheAdapter.js';
|
|
4
|
+
export * from './GeneratedCacheAdapter.js';
|
package/cache/index.js
CHANGED
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./CacheAdapter"), exports);
|
|
18
|
-
__exportStar(require("./NullCacheAdapter"), exports);
|
|
19
|
-
__exportStar(require("./FileCacheAdapter"), exports);
|
|
20
|
-
__exportStar(require("./MemoryCacheAdapter"), exports);
|
|
21
|
-
__exportStar(require("./GeneratedCacheAdapter"), exports);
|
|
1
|
+
export * from './CacheAdapter.js';
|
|
2
|
+
export * from './NullCacheAdapter.js';
|
|
3
|
+
export * from './MemoryCacheAdapter.js';
|
|
4
|
+
export * from './GeneratedCacheAdapter.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type Configuration, type ConnectionOptions } from '../utils';
|
|
2
|
-
import type { LogContext, Logger } from '../logging';
|
|
3
|
-
import type { MetadataStorage } from '../metadata';
|
|
4
|
-
import type { ConnectionType, Dictionary, MaybePromise, Primary } from '../typings';
|
|
5
|
-
import type { Platform } from '../platforms/Platform';
|
|
6
|
-
import type { TransactionEventBroadcaster } from '../events/TransactionEventBroadcaster';
|
|
7
|
-
import type { IsolationLevel } from '../enums';
|
|
1
|
+
import { type Configuration, type ConnectionOptions } from '../utils/Configuration.js';
|
|
2
|
+
import type { LogContext, Logger } from '../logging/Logger.js';
|
|
3
|
+
import type { MetadataStorage } from '../metadata/MetadataStorage.js';
|
|
4
|
+
import type { ConnectionType, Dictionary, MaybePromise, Primary } from '../typings.js';
|
|
5
|
+
import type { Platform } from '../platforms/Platform.js';
|
|
6
|
+
import type { TransactionEventBroadcaster } from '../events/TransactionEventBroadcaster.js';
|
|
7
|
+
import type { IsolationLevel } from '../enums.js';
|
|
8
8
|
export declare abstract class Connection {
|
|
9
9
|
protected readonly config: Configuration;
|
|
10
10
|
protected readonly type: ConnectionType;
|
|
@@ -17,7 +17,9 @@ export declare abstract class Connection {
|
|
|
17
17
|
/**
|
|
18
18
|
* Establishes connection to database
|
|
19
19
|
*/
|
|
20
|
-
abstract connect(
|
|
20
|
+
abstract connect(options?: {
|
|
21
|
+
skipOnConnect?: boolean;
|
|
22
|
+
}): void | Promise<void>;
|
|
21
23
|
/**
|
|
22
24
|
* Are we connected to the database
|
|
23
25
|
*/
|
|
@@ -37,26 +39,32 @@ export declare abstract class Connection {
|
|
|
37
39
|
*/
|
|
38
40
|
close(force?: boolean): Promise<void>;
|
|
39
41
|
/**
|
|
40
|
-
* Ensure the connection exists, this is used to support lazy connect when using `MikroORM
|
|
42
|
+
* Ensure the connection exists, this is used to support lazy connect when using `new MikroORM()` instead of the async `init` method.
|
|
41
43
|
*/
|
|
42
44
|
ensureConnection(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Load schema dump from file and execute it. Not supported by MongoDB driver.
|
|
47
|
+
*/
|
|
48
|
+
loadFile(path: string): Promise<void>;
|
|
49
|
+
protected onConnect(): Promise<void>;
|
|
43
50
|
transactional<T>(cb: (trx: Transaction) => Promise<T>, options?: {
|
|
44
|
-
isolationLevel?: IsolationLevel
|
|
51
|
+
isolationLevel?: IsolationLevel | `${IsolationLevel}`;
|
|
45
52
|
readOnly?: boolean;
|
|
46
53
|
ctx?: Transaction;
|
|
47
54
|
eventBroadcaster?: TransactionEventBroadcaster;
|
|
55
|
+
loggerContext?: LogContext;
|
|
48
56
|
}): Promise<T>;
|
|
49
57
|
begin(options?: {
|
|
50
|
-
isolationLevel?: IsolationLevel
|
|
58
|
+
isolationLevel?: IsolationLevel | `${IsolationLevel}`;
|
|
51
59
|
readOnly?: boolean;
|
|
52
60
|
ctx?: Transaction;
|
|
53
61
|
eventBroadcaster?: TransactionEventBroadcaster;
|
|
62
|
+
loggerContext?: LogContext;
|
|
54
63
|
}): Promise<Transaction>;
|
|
55
|
-
commit(ctx: Transaction, eventBroadcaster?: TransactionEventBroadcaster): Promise<void>;
|
|
56
|
-
rollback(ctx: Transaction, eventBroadcaster?: TransactionEventBroadcaster): Promise<void>;
|
|
64
|
+
commit(ctx: Transaction, eventBroadcaster?: TransactionEventBroadcaster, loggerContext?: LogContext): Promise<void>;
|
|
65
|
+
rollback(ctx: Transaction, eventBroadcaster?: TransactionEventBroadcaster, loggerContext?: LogContext): Promise<void>;
|
|
57
66
|
abstract execute<T>(query: string, params?: any[], method?: 'all' | 'get' | 'run', ctx?: Transaction): Promise<QueryResult<T> | any | any[]>;
|
|
58
67
|
getConnectionOptions(): ConnectionConfig;
|
|
59
|
-
getClientUrl(): string;
|
|
60
68
|
setMetadata(metadata: MetadataStorage): void;
|
|
61
69
|
setPlatform(platform: Platform): void;
|
|
62
70
|
getPlatform(): Platform;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Connection = void 0;
|
|
4
|
-
const node_url_1 = require("node:url");
|
|
5
|
-
const utils_1 = require("../utils");
|
|
6
|
-
class Connection {
|
|
1
|
+
import { Utils } from '../utils/Utils.js';
|
|
2
|
+
export class Connection {
|
|
7
3
|
config;
|
|
8
4
|
type;
|
|
9
5
|
metadata;
|
|
@@ -17,7 +13,7 @@ class Connection {
|
|
|
17
13
|
this.logger = this.config.getLogger();
|
|
18
14
|
this.platform = this.config.getPlatform();
|
|
19
15
|
if (options) {
|
|
20
|
-
this.options =
|
|
16
|
+
this.options = Utils.copy(options);
|
|
21
17
|
}
|
|
22
18
|
else {
|
|
23
19
|
const props = ['dbName', 'clientUrl', 'host', 'port', 'user', 'password', 'multipleStatements', 'pool', 'schema', 'driverOptions'];
|
|
@@ -36,29 +32,47 @@ class Connection {
|
|
|
36
32
|
.forEach(k => delete this.options[k]);
|
|
37
33
|
}
|
|
38
34
|
/**
|
|
39
|
-
* Ensure the connection exists, this is used to support lazy connect when using `MikroORM
|
|
35
|
+
* Ensure the connection exists, this is used to support lazy connect when using `new MikroORM()` instead of the async `init` method.
|
|
40
36
|
*/
|
|
41
37
|
async ensureConnection() {
|
|
42
38
|
if (!this.connected) {
|
|
43
39
|
await this.connect();
|
|
44
40
|
}
|
|
45
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Load schema dump from file and execute it. Not supported by MongoDB driver.
|
|
44
|
+
*/
|
|
45
|
+
async loadFile(path) {
|
|
46
|
+
throw new Error(`Loading SQL files is not supported by current driver`);
|
|
47
|
+
}
|
|
48
|
+
async onConnect() {
|
|
49
|
+
const schemaGenerator = this.config.getExtension('@mikro-orm/schema-generator');
|
|
50
|
+
if (this.type === 'write' && schemaGenerator) {
|
|
51
|
+
if (this.config.get('ensureDatabase')) {
|
|
52
|
+
const options = this.config.get('ensureDatabase');
|
|
53
|
+
await schemaGenerator.ensureDatabase(typeof options === 'boolean' ? {} : { ...options, forceCheck: true });
|
|
54
|
+
}
|
|
55
|
+
if (this.config.get('ensureIndexes')) {
|
|
56
|
+
await schemaGenerator.ensureIndexes();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
46
60
|
async transactional(cb, options) {
|
|
47
61
|
throw new Error(`Transactions are not supported by current driver`);
|
|
48
62
|
}
|
|
49
63
|
async begin(options) {
|
|
50
64
|
throw new Error(`Transactions are not supported by current driver`);
|
|
51
65
|
}
|
|
52
|
-
async commit(ctx, eventBroadcaster) {
|
|
66
|
+
async commit(ctx, eventBroadcaster, loggerContext) {
|
|
53
67
|
throw new Error(`Transactions are not supported by current driver`);
|
|
54
68
|
}
|
|
55
|
-
async rollback(ctx, eventBroadcaster) {
|
|
69
|
+
async rollback(ctx, eventBroadcaster, loggerContext) {
|
|
56
70
|
throw new Error(`Transactions are not supported by current driver`);
|
|
57
71
|
}
|
|
58
72
|
getConnectionOptions() {
|
|
59
73
|
const ret = {};
|
|
60
74
|
if (this.options.clientUrl) {
|
|
61
|
-
const url = new
|
|
75
|
+
const url = new URL(this.options.clientUrl);
|
|
62
76
|
this.options.host = ret.host = this.options.host ?? decodeURIComponent(url.hostname);
|
|
63
77
|
this.options.port = ret.port = this.options.port ?? +url.port;
|
|
64
78
|
this.options.user = ret.user = this.options.user ?? decodeURIComponent(url.username);
|
|
@@ -70,7 +84,7 @@ class Connection {
|
|
|
70
84
|
}
|
|
71
85
|
}
|
|
72
86
|
else {
|
|
73
|
-
const url = new
|
|
87
|
+
const url = new URL(this.config.get('clientUrl'));
|
|
74
88
|
this.options.host = ret.host = this.options.host ?? this.config.get('host', decodeURIComponent(url.hostname));
|
|
75
89
|
this.options.port = ret.port = this.options.port ?? this.config.get('port', +url.port);
|
|
76
90
|
this.options.user = ret.user = this.options.user ?? this.config.get('user', decodeURIComponent(url.username));
|
|
@@ -79,15 +93,6 @@ class Connection {
|
|
|
79
93
|
}
|
|
80
94
|
return ret;
|
|
81
95
|
}
|
|
82
|
-
getClientUrl() {
|
|
83
|
-
const options = this.getConnectionOptions();
|
|
84
|
-
const url = new node_url_1.URL(this.config.getClientUrl(true));
|
|
85
|
-
const password = options.password ? ':*****' : '';
|
|
86
|
-
const schema = options.schema && options.schema !== this.platform.getDefaultSchemaName()
|
|
87
|
-
? `?schema=${options.schema}`
|
|
88
|
-
: '';
|
|
89
|
-
return `${url.protocol}//${options.user}${password}@${options.host}:${options.port}${schema}`;
|
|
90
|
-
}
|
|
91
96
|
setMetadata(metadata) {
|
|
92
97
|
this.metadata = metadata;
|
|
93
98
|
}
|
|
@@ -105,7 +110,7 @@ class Connection {
|
|
|
105
110
|
...context,
|
|
106
111
|
took: Date.now() - now,
|
|
107
112
|
results: Array.isArray(res) ? res.length : undefined,
|
|
108
|
-
affected:
|
|
113
|
+
affected: Utils.isPlainObject(res) ? res.affectedRows : undefined,
|
|
109
114
|
});
|
|
110
115
|
return res;
|
|
111
116
|
}
|
|
@@ -126,4 +131,3 @@ class Connection {
|
|
|
126
131
|
});
|
|
127
132
|
}
|
|
128
133
|
}
|
|
129
|
-
exports.Connection = Connection;
|
package/connections/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './Connection';
|
|
1
|
+
export * from './Connection.js';
|
package/connections/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./Connection"), exports);
|
|
1
|
+
export * from './Connection.js';
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { type CountOptions, type DeleteOptions, type DriverMethodOptions, EntityManagerType, type FindOneOptions, type FindOptions, type IDatabaseDriver, type LockOptions, type NativeInsertUpdateManyOptions, type NativeInsertUpdateOptions, type OrderDefinition } from './IDatabaseDriver';
|
|
2
|
-
import type { ConnectionType, Dictionary, EntityData, EntityDictionary, EntityMetadata, EntityProperty, FilterQuery, PopulateOptions, Primary } from '../typings';
|
|
3
|
-
import type { MetadataStorage } from '../metadata';
|
|
4
|
-
import type { Connection, QueryResult, Transaction } from '../connections';
|
|
5
|
-
import { type Configuration, type ConnectionOptions
|
|
6
|
-
import {
|
|
7
|
-
import type
|
|
8
|
-
import type {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
1
|
+
import { type CountOptions, type DeleteOptions, type DriverMethodOptions, EntityManagerType, type FindOneOptions, type FindOptions, type IDatabaseDriver, type LockOptions, type NativeInsertUpdateManyOptions, type NativeInsertUpdateOptions, type OrderDefinition, type StreamOptions } from './IDatabaseDriver.js';
|
|
2
|
+
import type { ConnectionType, Constructor, Dictionary, EntityData, EntityDictionary, EntityMetadata, EntityName, EntityProperty, FilterQuery, PopulateOptions, Primary } from '../typings.js';
|
|
3
|
+
import type { MetadataStorage } from '../metadata/MetadataStorage.js';
|
|
4
|
+
import type { Connection, QueryResult, Transaction } from '../connections/Connection.js';
|
|
5
|
+
import { type Configuration, type ConnectionOptions } from '../utils/Configuration.js';
|
|
6
|
+
import { EntityComparator } from '../utils/EntityComparator.js';
|
|
7
|
+
import { type QueryOrder } from '../enums.js';
|
|
8
|
+
import type { Platform } from '../platforms/Platform.js';
|
|
9
|
+
import type { Collection } from '../entity/Collection.js';
|
|
10
|
+
import { EntityManager } from '../EntityManager.js';
|
|
11
|
+
import { DriverException } from '../exceptions.js';
|
|
12
|
+
import type { Logger } from '../logging/Logger.js';
|
|
13
|
+
import { MikroORM } from '../MikroORM.js';
|
|
12
14
|
export declare abstract class DatabaseDriver<C extends Connection> implements IDatabaseDriver<C> {
|
|
13
15
|
readonly config: Configuration;
|
|
14
16
|
protected readonly dependencies: string[];
|
|
@@ -28,21 +30,26 @@ export declare abstract class DatabaseDriver<C extends Connection> implements ID
|
|
|
28
30
|
nativeUpdateMany<T extends object>(entityName: string, where: FilterQuery<T>[], data: EntityDictionary<T>[], options?: NativeInsertUpdateManyOptions<T>): Promise<QueryResult<T>>;
|
|
29
31
|
abstract nativeDelete<T extends object>(entityName: string, where: FilterQuery<T>, options?: DeleteOptions<T>): Promise<QueryResult<T>>;
|
|
30
32
|
abstract count<T extends object, P extends string = never>(entityName: string, where: FilterQuery<T>, options?: CountOptions<T, P>): Promise<number>;
|
|
31
|
-
createEntityManager
|
|
32
|
-
findVirtual<T extends object>(entityName:
|
|
33
|
+
createEntityManager(useContext?: boolean): this[typeof EntityManagerType];
|
|
34
|
+
findVirtual<T extends object>(entityName: EntityName<T>, where: FilterQuery<T>, options: FindOptions<T, any, any, any>): Promise<EntityData<T>[]>;
|
|
33
35
|
countVirtual<T extends object>(entityName: string, where: FilterQuery<T>, options: CountOptions<T, any>): Promise<number>;
|
|
34
36
|
aggregate(entityName: string, pipeline: any[]): Promise<any[]>;
|
|
35
37
|
loadFromPivotTable<T extends object, O extends object>(prop: EntityProperty, owners: Primary<O>[][], where?: FilterQuery<any>, orderBy?: OrderDefinition<T>, ctx?: Transaction, options?: FindOptions<T, any, any, any>, pivotJoin?: boolean): Promise<Dictionary<T[]>>;
|
|
36
38
|
syncCollections<T extends object, O extends object>(collections: Iterable<Collection<T, O>>, options?: DriverMethodOptions): Promise<void>;
|
|
37
39
|
mapResult<T extends object>(result: EntityDictionary<T>, meta?: EntityMetadata<T>, populate?: PopulateOptions<T>[]): EntityData<T> | null;
|
|
38
|
-
connect(
|
|
39
|
-
|
|
40
|
+
connect(options?: {
|
|
41
|
+
skipOnConnect?: boolean;
|
|
42
|
+
}): Promise<C>;
|
|
43
|
+
reconnect(options?: {
|
|
44
|
+
skipOnConnect?: boolean;
|
|
45
|
+
}): Promise<C>;
|
|
40
46
|
getConnection(type?: ConnectionType): C;
|
|
41
47
|
close(force?: boolean): Promise<void>;
|
|
42
48
|
getPlatform(): Platform;
|
|
43
49
|
setMetadata(metadata: MetadataStorage): void;
|
|
44
50
|
getMetadata(): MetadataStorage;
|
|
45
51
|
getDependencies(): string[];
|
|
52
|
+
protected isPopulated<T extends object>(meta: EntityMetadata<T>, prop: EntityProperty<T>, hint: PopulateOptions<T>, name?: string): boolean;
|
|
46
53
|
protected processCursorOptions<T extends object, P extends string>(meta: EntityMetadata<T>, options: FindOptions<T, P, any, any>, orderBy: OrderDefinition<T>): {
|
|
47
54
|
orderBy: OrderDefinition<T>[];
|
|
48
55
|
where: FilterQuery<T>;
|
|
@@ -54,6 +61,7 @@ export declare abstract class DatabaseDriver<C extends Connection> implements ID
|
|
|
54
61
|
protected getPrimaryKeyFields(entityName: string): string[];
|
|
55
62
|
protected createReplicas(cb: (c: ConnectionOptions) => C): C[];
|
|
56
63
|
lockPessimistic<T extends object>(entity: T, options: LockOptions): Promise<void>;
|
|
64
|
+
abstract stream<T extends object>(entityName: EntityName<T>, where: FilterQuery<T>, options: StreamOptions<T>): AsyncIterableIterator<T>;
|
|
57
65
|
/**
|
|
58
66
|
* @inheritDoc
|
|
59
67
|
*/
|
|
@@ -70,4 +78,6 @@ export declare abstract class DatabaseDriver<C extends Connection> implements ID
|
|
|
70
78
|
schema?: string;
|
|
71
79
|
parentSchema?: string;
|
|
72
80
|
}): string | undefined;
|
|
81
|
+
/** @internal */
|
|
82
|
+
getORMClass(): Constructor<MikroORM>;
|
|
73
83
|
}
|