typeorm 0.2.38-dev.e9366b3 → 0.2.39-dev.1197f88
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/README.md +61 -60
- package/browser/connection/ConnectionMetadataBuilder.js +4 -4
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js +2 -1
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/browser/decorator/entity-view/ViewEntity.js +1 -0
- package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
- package/browser/decorator/options/ViewEntityOptions.d.ts +5 -0
- package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
- package/browser/decorator/transaction/Transaction.js +3 -3
- package/browser/decorator/transaction/Transaction.js.map +1 -1
- package/browser/driver/DriverUtils.js +1 -1
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +5 -0
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +6 -5
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +19 -48
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +5 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +2 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +5 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +4 -3
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +10 -0
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +28 -18
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +108 -145
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaConnectionOptions.d.ts +5 -0
- package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.d.ts +1 -1
- package/browser/driver/cordova/CordovaDriver.js +27 -19
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +50 -43
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +12 -43
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +5 -0
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.js +2 -1
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
- package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.js +4 -2
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +24 -54
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js +45 -37
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +5 -0
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.js +5 -4
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +20 -48
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +10 -0
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
- package/browser/driver/postgres/PostgresDriver.js +37 -45
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +28 -66
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +5 -0
- package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +2 -1
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/sap/SapConnectionOptions.d.ts +16 -6
- package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
- package/browser/driver/sap/SapDriver.js +6 -3
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +30 -78
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +5 -0
- package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js +4 -3
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +16 -8
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +19 -49
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +5 -0
- package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.js +9 -24
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +9 -10
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.js +7 -6
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +84 -116
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +8 -13
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +1 -1
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +4 -4
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.js +1 -1
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +5 -0
- package/browser/metadata/EntityMetadata.js +2 -1
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.js +4 -4
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
- package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +5 -5
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.d.ts +1 -1
- package/browser/migration/MigrationExecutor.js +6 -14
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js +5 -5
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/persistence/Subject.js +1 -1
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +4 -4
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +5 -5
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js +4 -4
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.js +3 -10
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +4 -6
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilder.js +9 -9
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationLoader.js +2 -2
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationRemover.js +6 -6
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +14 -14
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +3 -10
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +5 -12
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -10
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +2 -1
- package/browser/query-runner/BaseQueryRunner.js +49 -27
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryLock.js +1 -1
- package/browser/query-runner/QueryLock.js.map +1 -1
- package/browser/repository/BaseEntity.js +1 -1
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/Repository.js +1 -1
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/TreeRepository.js +2 -2
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -0
- package/browser/schema-builder/RdbmsSchemaBuilder.js +248 -190
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/table/TableCheck.js +1 -1
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.js +2 -2
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.js +1 -1
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.js +1 -1
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/util/ViewUtils.d.ts +7 -0
- package/browser/schema-builder/util/ViewUtils.js +25 -0
- package/browser/schema-builder/util/ViewUtils.js.map +1 -0
- package/browser/subscriber/Broadcaster.d.ts +23 -2
- package/browser/subscriber/Broadcaster.js +35 -2
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/BroadcasterResult.d.ts +4 -0
- package/browser/subscriber/BroadcasterResult.js +19 -0
- package/browser/subscriber/BroadcasterResult.js.map +1 -1
- package/browser/util/StringUtils.js +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +12 -12
- package/cache/RedisQueryResultCache.js +12 -12
- package/cli.js +1 -6
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.js +4 -4
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.js +10 -10
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +3 -3
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +5 -5
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.js +5 -5
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.js +7 -7
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +4 -4
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +5 -5
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +5 -5
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.js +4 -4
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +4 -4
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +7 -7
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +5 -5
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +3 -3
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +3 -3
- package/commands/VersionCommand.js.map +1 -1
- package/connection/Connection.js +19 -19
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.js +11 -11
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.js +11 -10
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +2 -2
- package/connection/options-reader/ConnectionOptionsXmlReader.js +3 -3
- package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js +4 -4
- package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/decorator/Check.js +1 -1
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.js +1 -1
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.js +1 -1
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.js +1 -1
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.js +1 -1
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.js +1 -1
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.js +4 -4
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.js +1 -1
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.js +1 -1
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.js +1 -1
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.js +2 -2
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.js +2 -2
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.js +1 -1
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.js +1 -1
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.js +1 -1
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.js +2 -2
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.js +1 -1
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.js +1 -1
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.js +2 -1
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.js +1 -1
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.js +1 -1
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRemove.js +1 -1
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.js +1 -1
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.js +1 -1
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRemove.js +1 -1
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.js +1 -1
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.js +1 -1
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/ViewEntityOptions.d.ts +5 -0
- package/decorator/options/ViewEntityOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.js +1 -1
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.js +1 -1
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.js +1 -1
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.js +1 -1
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.js +1 -1
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.js +1 -1
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.js +1 -1
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.js +1 -1
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/transaction/Transaction.js +7 -7
- package/decorator/transaction/Transaction.js.map +1 -1
- package/decorator/transaction/TransactionManager.js +1 -1
- package/decorator/transaction/TransactionManager.js.map +1 -1
- package/decorator/transaction/TransactionRepository.js +1 -1
- package/decorator/transaction/TransactionRepository.js.map +1 -1
- package/decorator/tree/Tree.js +1 -1
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.js +1 -1
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.js +1 -1
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.js +1 -1
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/DriverUtils.js +9 -9
- package/driver/DriverUtils.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +5 -0
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.js +12 -11
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +146 -175
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +5 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +10 -9
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +29 -58
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +5 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +12 -11
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +5 -5
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorDriver.js +7 -7
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js +5 -5
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionOptions.d.ts +10 -0
- package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +38 -28
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +240 -277
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaConnectionOptions.d.ts +5 -0
- package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/driver/cordova/CordovaDriver.d.ts +1 -1
- package/driver/cordova/CordovaDriver.js +30 -22
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +61 -54
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js +3 -3
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +23 -54
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +5 -0
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.js +4 -3
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.js +178 -178
- package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
- package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlDriver.js +9 -7
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +152 -182
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js +3 -3
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js +48 -40
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +5 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.js +13 -12
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +143 -171
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +10 -0
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +2 -2
- package/driver/postgres/PostgresDriver.js +52 -60
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +175 -213
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeConnectionOptions.d.ts +5 -0
- package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +5 -4
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +3 -3
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapConnectionOptions.d.ts +16 -6
- package/driver/sap/SapConnectionOptions.js.map +1 -1
- package/driver/sap/SapDriver.js +11 -8
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +159 -207
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteConnectionOptions.d.ts +5 -0
- package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +12 -11
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +21 -13
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -4
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +138 -168
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsConnectionOptions.d.ts +5 -0
- package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +22 -37
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +17 -18
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.js +13 -12
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +220 -252
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.js +30 -30
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +23 -28
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.js +5 -5
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +1 -1
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js +1 -1
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.js +1 -1
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.js +1 -1
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js +1 -1
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.js +1 -1
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js +1 -1
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js +1 -1
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js +1 -1
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js +1 -1
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js +1 -1
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.js +1 -1
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.js +1 -1
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js +1 -1
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js +1 -1
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityColumnNotFound.js +1 -1
- package/error/EntityColumnNotFound.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js +1 -1
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js +1 -1
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +1 -1
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/InitializedRelationError.js +1 -1
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.js +1 -1
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.js +1 -1
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.js +1 -1
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.js +1 -1
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js +1 -1
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.js +1 -1
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js +1 -1
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.js +1 -1
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js +1 -1
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.js +1 -1
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NestedSetMultipleRootError.js +1 -1
- package/error/NestedSetMultipleRootError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.js +1 -1
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js +1 -1
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js +1 -1
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.js +1 -1
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.js +1 -1
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.js +3 -3
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotFoundError.js +1 -1
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.js +1 -1
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.js +1 -1
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.js +1 -1
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.js +1 -1
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.js +1 -1
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.js +1 -1
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.js +1 -1
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/TypeORMError.js +1 -1
- package/error/TypeORMError.js.map +1 -1
- package/error/UpdateValuesMissingError.js +1 -1
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.js +62 -62
- package/error/index.js.map +1 -1
- package/find-options/FindOptionsUtils.js +4 -4
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/globals.js +7 -7
- package/globals.js.map +1 -1
- package/index.js +102 -102
- package/index.js.map +1 -1
- package/logger/DebugLogger.js +9 -9
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.js +1 -1
- package/logger/FileLogger.js.map +1 -1
- package/metadata/ColumnMetadata.js +4 -4
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.js +1 -1
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +5 -0
- package/metadata/EntityMetadata.js +3 -2
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/RelationMetadata.js +4 -4
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata-args/TableMetadataArgs.d.ts +4 -0
- package/metadata-args/TableMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +5 -5
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/migration/MigrationExecutor.d.ts +1 -1
- package/migration/MigrationExecutor.js +39 -47
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.js +10 -10
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/package.json +1 -1
- package/persistence/EntityPersistExecutor.js +5 -5
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.js +1 -1
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +6 -6
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js +33 -33
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopoligicalSorter.js +5 -5
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.js +13 -13
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +5 -5
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.js +14 -14
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.js +8 -8
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js +7 -14
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +9 -11
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.js +1 -1
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.js +37 -37
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderUtils.js +1 -1
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.js +3 -3
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/RelationLoader.js +2 -2
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.js +13 -13
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js +12 -12
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js +2 -2
- package/query-builder/ReturningResultsEntityUpdator.js +6 -6
- package/query-builder/SelectQueryBuilder.js +43 -43
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +7 -14
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +10 -17
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-count/RelationCountAttribute.js +2 -2
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.js +4 -4
- package/query-builder/relation-id/RelationIdAttribute.js +1 -1
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js +5 -5
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -10
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +2 -1
- package/query-runner/BaseQueryRunner.js +70 -48
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryLock.js +3 -3
- package/query-runner/QueryLock.js.map +1 -1
- package/repository/AbstractRepository.js +1 -1
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.js +4 -4
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.js +1 -1
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.js +1 -1
- package/repository/Repository.js.map +1 -1
- package/repository/TreeRepository.js +7 -7
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.js +2 -2
- package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -0
- package/schema-builder/RdbmsSchemaBuilder.js +335 -277
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/table/Table.js +1 -1
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.js +1 -1
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableForeignKey.js +2 -2
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.js +1 -1
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.js +1 -1
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/ViewUtils.d.ts +7 -0
- package/schema-builder/util/ViewUtils.js +28 -0
- package/schema-builder/util/ViewUtils.js.map +1 -0
- package/subscriber/Broadcaster.d.ts +23 -2
- package/subscriber/Broadcaster.js +35 -2
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.d.ts +4 -0
- package/subscriber/BroadcasterResult.js +19 -0
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/util/DateUtils.js +1 -1
- package/util/DateUtils.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +1 -1
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ObjectUtils.js +2 -2
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.js +2 -2
- package/util/OrmUtils.js.map +1 -1
- package/util/StringUtils.js +3 -3
- package/util/StringUtils.js.map +1 -1
|
@@ -4,10 +4,7 @@ exports.BaseQueryRunner = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var Query_1 = require("../driver/Query");
|
|
6
6
|
var SqlInMemory_1 = require("../driver/SqlInMemory");
|
|
7
|
-
var Table_1 = require("../schema-builder/table/Table");
|
|
8
7
|
var TypeORMError_1 = require("../error/TypeORMError");
|
|
9
|
-
var EntityMetadata_1 = require("../metadata/EntityMetadata");
|
|
10
|
-
var TableForeignKey_1 = require("../schema-builder/table/TableForeignKey");
|
|
11
8
|
var BaseQueryRunner = /** @class */ (function () {
|
|
12
9
|
function BaseQueryRunner() {
|
|
13
10
|
// -------------------------------------------------------------------------
|
|
@@ -43,6 +40,7 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
43
40
|
* Sql-s stored if "sql in memory" mode is enabled.
|
|
44
41
|
*/
|
|
45
42
|
this.sqlInMemory = new SqlInMemory_1.SqlInMemory();
|
|
43
|
+
this.cachedTablePaths = {};
|
|
46
44
|
}
|
|
47
45
|
// -------------------------------------------------------------------------
|
|
48
46
|
// Public Methods
|
|
@@ -51,9 +49,9 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
51
49
|
* Loads given table's data from the database.
|
|
52
50
|
*/
|
|
53
51
|
BaseQueryRunner.prototype.getTable = function (tablePath) {
|
|
54
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
52
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
55
53
|
var _a;
|
|
56
|
-
return tslib_1.__generator(this, function (_b) {
|
|
54
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
57
55
|
switch (_b.label) {
|
|
58
56
|
case 0:
|
|
59
57
|
_a = this;
|
|
@@ -69,9 +67,9 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
69
67
|
* Loads all tables (with given names) from the database.
|
|
70
68
|
*/
|
|
71
69
|
BaseQueryRunner.prototype.getTables = function (tableNames) {
|
|
72
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
70
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
73
71
|
var _a;
|
|
74
|
-
return tslib_1.__generator(this, function (_b) {
|
|
72
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
75
73
|
switch (_b.label) {
|
|
76
74
|
case 0:
|
|
77
75
|
if (!!tableNames) return [3 /*break*/, 2];
|
|
@@ -94,9 +92,9 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
94
92
|
* Loads given view's data from the database.
|
|
95
93
|
*/
|
|
96
94
|
BaseQueryRunner.prototype.getView = function (viewPath) {
|
|
97
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
95
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
98
96
|
var _a;
|
|
99
|
-
return tslib_1.__generator(this, function (_b) {
|
|
97
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
100
98
|
switch (_b.label) {
|
|
101
99
|
case 0:
|
|
102
100
|
_a = this;
|
|
@@ -112,9 +110,9 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
112
110
|
* Loads given view's data from the database.
|
|
113
111
|
*/
|
|
114
112
|
BaseQueryRunner.prototype.getViews = function (viewPaths) {
|
|
115
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
113
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
116
114
|
var _a;
|
|
117
|
-
return tslib_1.__generator(this, function (_b) {
|
|
115
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
118
116
|
switch (_b.label) {
|
|
119
117
|
case 0:
|
|
120
118
|
_a = this;
|
|
@@ -161,14 +159,14 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
161
159
|
* Executes up sql queries.
|
|
162
160
|
*/
|
|
163
161
|
BaseQueryRunner.prototype.executeMemoryUpSql = function () {
|
|
164
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
162
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
165
163
|
var _a, _b, _c, query, parameters, e_1_1;
|
|
166
164
|
var e_1, _d;
|
|
167
|
-
return tslib_1.__generator(this, function (_e) {
|
|
165
|
+
return (0, tslib_1.__generator)(this, function (_e) {
|
|
168
166
|
switch (_e.label) {
|
|
169
167
|
case 0:
|
|
170
168
|
_e.trys.push([0, 5, 6, 7]);
|
|
171
|
-
_a = tslib_1.__values(this.sqlInMemory.upQueries), _b = _a.next();
|
|
169
|
+
_a = (0, tslib_1.__values)(this.sqlInMemory.upQueries), _b = _a.next();
|
|
172
170
|
_e.label = 1;
|
|
173
171
|
case 1:
|
|
174
172
|
if (!!_b.done) return [3 /*break*/, 4];
|
|
@@ -200,14 +198,14 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
200
198
|
* Executes down sql queries.
|
|
201
199
|
*/
|
|
202
200
|
BaseQueryRunner.prototype.executeMemoryDownSql = function () {
|
|
203
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
201
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
204
202
|
var _a, _b, _c, query, parameters, e_2_1;
|
|
205
203
|
var e_2, _d;
|
|
206
|
-
return tslib_1.__generator(this, function (_e) {
|
|
204
|
+
return (0, tslib_1.__generator)(this, function (_e) {
|
|
207
205
|
switch (_e.label) {
|
|
208
206
|
case 0:
|
|
209
207
|
_e.trys.push([0, 5, 6, 7]);
|
|
210
|
-
_a = tslib_1.__values(this.sqlInMemory.downQueries.reverse()), _b = _a.next();
|
|
208
|
+
_a = (0, tslib_1.__values)(this.sqlInMemory.downQueries.reverse()), _b = _a.next();
|
|
211
209
|
_e.label = 1;
|
|
212
210
|
case 1:
|
|
213
211
|
if (!!_b.done) return [3 /*break*/, 4];
|
|
@@ -242,9 +240,9 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
242
240
|
* Gets view from previously loaded views, otherwise loads it from database.
|
|
243
241
|
*/
|
|
244
242
|
BaseQueryRunner.prototype.getCachedView = function (viewName) {
|
|
245
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
243
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
246
244
|
var view, foundViews;
|
|
247
|
-
return tslib_1.__generator(this, function (_a) {
|
|
245
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
248
246
|
switch (_a.label) {
|
|
249
247
|
case 0:
|
|
250
248
|
view = this.loadedViews.find(function (view) { return view.name === viewName; });
|
|
@@ -269,20 +267,33 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
269
267
|
* Gets table from previously loaded tables, otherwise loads it from database.
|
|
270
268
|
*/
|
|
271
269
|
BaseQueryRunner.prototype.getCachedTable = function (tableName) {
|
|
272
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
273
|
-
var table, foundTables;
|
|
274
|
-
|
|
270
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
271
|
+
var tablePath_1, table, foundTables, foundTablePath_1, cachedTable;
|
|
272
|
+
var _this = this;
|
|
273
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
275
274
|
switch (_a.label) {
|
|
276
275
|
case 0:
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
if (tableName in this.cachedTablePaths) {
|
|
277
|
+
tablePath_1 = this.cachedTablePaths[tableName];
|
|
278
|
+
table = this.loadedTables.find(function (table) { return _this.getTablePath(table) === tablePath_1; });
|
|
279
|
+
if (table) {
|
|
280
|
+
return [2 /*return*/, table];
|
|
281
|
+
}
|
|
282
|
+
}
|
|
280
283
|
return [4 /*yield*/, this.loadTables([tableName])];
|
|
281
284
|
case 1:
|
|
282
285
|
foundTables = _a.sent();
|
|
283
286
|
if (foundTables.length > 0) {
|
|
284
|
-
this.
|
|
285
|
-
|
|
287
|
+
foundTablePath_1 = this.getTablePath(foundTables[0]);
|
|
288
|
+
cachedTable = this.loadedTables.find(function (table) { return _this.getTablePath(table) === foundTablePath_1; });
|
|
289
|
+
if (!cachedTable) {
|
|
290
|
+
this.cachedTablePaths[tableName] = this.getTablePath(foundTables[0]);
|
|
291
|
+
this.loadedTables.push(foundTables[0]);
|
|
292
|
+
return [2 /*return*/, foundTables[0]];
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
return [2 /*return*/, cachedTable];
|
|
296
|
+
}
|
|
286
297
|
}
|
|
287
298
|
else {
|
|
288
299
|
throw new TypeORMError_1.TypeORMError("Table \"" + tableName + "\" does not exist.");
|
|
@@ -296,7 +307,26 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
296
307
|
* Replaces loaded table with given changed table.
|
|
297
308
|
*/
|
|
298
309
|
BaseQueryRunner.prototype.replaceCachedTable = function (table, changedTable) {
|
|
299
|
-
var
|
|
310
|
+
var e_3, _a;
|
|
311
|
+
var _this = this;
|
|
312
|
+
var oldTablePath = this.getTablePath(table);
|
|
313
|
+
var foundTable = this.loadedTables.find(function (loadedTable) { return _this.getTablePath(loadedTable) === oldTablePath; });
|
|
314
|
+
try {
|
|
315
|
+
// Clean up the lookup cache..
|
|
316
|
+
for (var _b = (0, tslib_1.__values)(Object.entries(this.cachedTablePaths)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
317
|
+
var _d = (0, tslib_1.__read)(_c.value, 2), key = _d[0], cachedPath = _d[1];
|
|
318
|
+
if (cachedPath === oldTablePath) {
|
|
319
|
+
this.cachedTablePaths[key] = this.getTablePath(changedTable);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
324
|
+
finally {
|
|
325
|
+
try {
|
|
326
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
327
|
+
}
|
|
328
|
+
finally { if (e_3) throw e_3.error; }
|
|
329
|
+
}
|
|
300
330
|
if (foundTable) {
|
|
301
331
|
foundTable.database = changedTable.database;
|
|
302
332
|
foundTable.schema = changedTable.schema;
|
|
@@ -311,16 +341,8 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
311
341
|
}
|
|
312
342
|
};
|
|
313
343
|
BaseQueryRunner.prototype.getTablePath = function (target) {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}
|
|
317
|
-
if (target instanceof TableForeignKey_1.TableForeignKey) {
|
|
318
|
-
return target.referencedTableName;
|
|
319
|
-
}
|
|
320
|
-
if (target instanceof EntityMetadata_1.EntityMetadata) {
|
|
321
|
-
return target.tablePath;
|
|
322
|
-
}
|
|
323
|
-
return target;
|
|
344
|
+
var parsed = this.connection.driver.parseTableName(target);
|
|
345
|
+
return this.connection.driver.buildTableName(parsed.tableName, parsed.schema, parsed.database);
|
|
324
346
|
};
|
|
325
347
|
BaseQueryRunner.prototype.getTypeormMetadataTableName = function () {
|
|
326
348
|
var options = this.connection.driver.options;
|
|
@@ -431,25 +453,25 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
431
453
|
* Executes sql used special for schema build.
|
|
432
454
|
*/
|
|
433
455
|
BaseQueryRunner.prototype.executeQueries = function (upQueries, downQueries) {
|
|
434
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
435
|
-
var upQueries_1, upQueries_1_1, _a, query, parameters,
|
|
436
|
-
var _b, _c,
|
|
437
|
-
return tslib_1.__generator(this, function (_e) {
|
|
456
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
457
|
+
var upQueries_1, upQueries_1_1, _a, query, parameters, e_4_1;
|
|
458
|
+
var _b, _c, e_4, _d;
|
|
459
|
+
return (0, tslib_1.__generator)(this, function (_e) {
|
|
438
460
|
switch (_e.label) {
|
|
439
461
|
case 0:
|
|
440
462
|
if (upQueries instanceof Query_1.Query)
|
|
441
463
|
upQueries = [upQueries];
|
|
442
464
|
if (downQueries instanceof Query_1.Query)
|
|
443
465
|
downQueries = [downQueries];
|
|
444
|
-
(_b = this.sqlInMemory.upQueries).push.apply(_b, tslib_1.__spreadArray([], tslib_1.__read(upQueries)));
|
|
445
|
-
(_c = this.sqlInMemory.downQueries).push.apply(_c, tslib_1.__spreadArray([], tslib_1.__read(downQueries)));
|
|
466
|
+
(_b = this.sqlInMemory.upQueries).push.apply(_b, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(upQueries), false));
|
|
467
|
+
(_c = this.sqlInMemory.downQueries).push.apply(_c, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(downQueries), false));
|
|
446
468
|
// if sql-in-memory mode is enabled then simply store sql in memory and return
|
|
447
469
|
if (this.sqlMemoryMode === true)
|
|
448
470
|
return [2 /*return*/, Promise.resolve()];
|
|
449
471
|
_e.label = 1;
|
|
450
472
|
case 1:
|
|
451
473
|
_e.trys.push([1, 6, 7, 8]);
|
|
452
|
-
upQueries_1 = tslib_1.__values(upQueries), upQueries_1_1 = upQueries_1.next();
|
|
474
|
+
upQueries_1 = (0, tslib_1.__values)(upQueries), upQueries_1_1 = upQueries_1.next();
|
|
453
475
|
_e.label = 2;
|
|
454
476
|
case 2:
|
|
455
477
|
if (!!upQueries_1_1.done) return [3 /*break*/, 5];
|
|
@@ -463,14 +485,14 @@ var BaseQueryRunner = /** @class */ (function () {
|
|
|
463
485
|
return [3 /*break*/, 2];
|
|
464
486
|
case 5: return [3 /*break*/, 8];
|
|
465
487
|
case 6:
|
|
466
|
-
|
|
467
|
-
|
|
488
|
+
e_4_1 = _e.sent();
|
|
489
|
+
e_4 = { error: e_4_1 };
|
|
468
490
|
return [3 /*break*/, 8];
|
|
469
491
|
case 7:
|
|
470
492
|
try {
|
|
471
493
|
if (upQueries_1_1 && !upQueries_1_1.done && (_d = upQueries_1.return)) _d.call(upQueries_1);
|
|
472
494
|
}
|
|
473
|
-
finally { if (
|
|
495
|
+
finally { if (e_4) throw e_4.error; }
|
|
474
496
|
return [7 /*endfinally*/];
|
|
475
497
|
case 8: return [2 /*return*/];
|
|
476
498
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-runner/BaseQueryRunner.ts"],"names":[],"mappings":"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","file":"BaseQueryRunner.js","sourcesContent":["import {PostgresConnectionOptions} from \"../driver/postgres/PostgresConnectionOptions\";\nimport {Query} from \"../driver/Query\";\nimport {SqlInMemory} from \"../driver/SqlInMemory\";\nimport {SqlServerConnectionOptions} from \"../driver/sqlserver/SqlServerConnectionOptions\";\nimport {View} from \"../schema-builder/view/View\";\nimport {Connection} from \"../connection/Connection\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {TableColumn} from \"../schema-builder/table/TableColumn\";\nimport {Broadcaster} from \"../subscriber/Broadcaster\";\nimport {ReplicationMode} from \"../driver/types/ReplicationMode\";\nimport { TypeORMError } from \"../error/TypeORMError\";\nimport { EntityMetadata } from \"../metadata/EntityMetadata\";\nimport { TableForeignKey } from \"../schema-builder/table/TableForeignKey\";\n\nexport abstract class BaseQueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by this query runner.\n */\n connection: Connection;\n\n /**\n * Entity manager working only with current query runner.\n */\n manager: EntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n */\n isReleased = false;\n\n /**\n * Indicates if transaction is in progress.\n */\n isTransactionActive = false;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data = {};\n\n /**\n * All synchronized tables in the database.\n */\n loadedTables: Table[] = [];\n\n /**\n * All synchronized views in the database.\n */\n loadedViews: View[] = [];\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n broadcaster: Broadcaster;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Real database connection from a connection pool used to perform queries.\n */\n protected databaseConnection: any;\n\n /**\n * Indicates if special query runner mode in which sql queries won't be executed is enabled.\n */\n protected sqlMemoryMode: boolean = false;\n\n /**\n * Sql-s stored if \"sql in memory\" mode is enabled.\n */\n protected sqlInMemory: SqlInMemory = new SqlInMemory();\n\n /**\n * Mode in which query runner executes.\n * Used for replication.\n * If replication is not setup its value is ignored.\n */\n protected mode: ReplicationMode;\n\n // -------------------------------------------------------------------------\n // Public Abstract Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes a given SQL query.\n */\n abstract query(query: string, parameters?: any[], useStructuredResult?: boolean): Promise<any>;\n\n // -------------------------------------------------------------------------\n // Protected Abstract Methods\n // -------------------------------------------------------------------------\n\n protected abstract loadTables(tablePaths?: string[]): Promise<Table[]>;\n\n protected abstract loadViews(tablePaths?: string[]): Promise<View[]>;\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads given table's data from the database.\n */\n async getTable(tablePath: string): Promise<Table|undefined> {\n this.loadedTables = await this.loadTables([tablePath]);\n return this.loadedTables.length > 0 ? this.loadedTables[0] : undefined;\n }\n\n /**\n * Loads all tables (with given names) from the database.\n */\n async getTables(tableNames?: string[]): Promise<Table[]> {\n if (!tableNames) {\n // Don't cache in this case.\n // This is the new case & isn't used anywhere else anyway.\n return await this.loadTables(tableNames);\n }\n\n this.loadedTables = await this.loadTables(tableNames);\n return this.loadedTables;\n }\n\n /**\n * Loads given view's data from the database.\n */\n async getView(viewPath: string): Promise<View|undefined> {\n this.loadedViews = await this.loadViews([viewPath]);\n return this.loadedViews.length > 0 ? this.loadedViews[0] : undefined;\n }\n\n /**\n * Loads given view's data from the database.\n */\n async getViews(viewPaths?: string[]): Promise<View[]> {\n this.loadedViews = await this.loadViews(viewPaths);\n return this.loadedViews;\n }\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void {\n this.sqlInMemory = new SqlInMemory();\n this.sqlMemoryMode = true;\n }\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void {\n this.sqlInMemory = new SqlInMemory();\n this.sqlMemoryMode = false;\n }\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void {\n this.sqlInMemory = new SqlInMemory();\n }\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory {\n return this.sqlInMemory;\n }\n\n /**\n * Executes up sql queries.\n */\n async executeMemoryUpSql(): Promise<void> {\n for (const {query, parameters} of this.sqlInMemory.upQueries) {\n await this.query(query, parameters);\n }\n }\n\n /**\n * Executes down sql queries.\n */\n async executeMemoryDownSql(): Promise<void> {\n for (const {query, parameters} of this.sqlInMemory.downQueries.reverse()) {\n await this.query(query, parameters);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets view from previously loaded views, otherwise loads it from database.\n */\n protected async getCachedView(viewName: string): Promise<View> {\n const view = this.loadedViews.find(view => view.name === viewName);\n if (view) return view;\n\n const foundViews = await this.loadViews([viewName]);\n if (foundViews.length > 0) {\n this.loadedViews.push(foundViews[0]);\n return foundViews[0];\n } else {\n throw new TypeORMError(`View \"${viewName}\" does not exist.`);\n }\n }\n\n /**\n * Gets table from previously loaded tables, otherwise loads it from database.\n */\n protected async getCachedTable(tableName: string): Promise<Table> {\n const table = this.loadedTables.find(table => table.name === tableName);\n if (table) return table;\n\n const foundTables = await this.loadTables([tableName]);\n if (foundTables.length > 0) {\n this.loadedTables.push(foundTables[0]);\n return foundTables[0];\n } else {\n throw new TypeORMError(`Table \"${tableName}\" does not exist.`);\n }\n }\n\n /**\n * Replaces loaded table with given changed table.\n */\n protected replaceCachedTable(table: Table, changedTable: Table): void {\n const foundTable = this.loadedTables.find(loadedTable => loadedTable.name === table.name);\n if (foundTable) {\n foundTable.database = changedTable.database;\n foundTable.schema = changedTable.schema;\n foundTable.name = changedTable.name;\n foundTable.columns = changedTable.columns;\n foundTable.indices = changedTable.indices;\n foundTable.foreignKeys = changedTable.foreignKeys;\n foundTable.uniques = changedTable.uniques;\n foundTable.checks = changedTable.checks;\n foundTable.justCreated = changedTable.justCreated;\n foundTable.engine = changedTable.engine;\n }\n }\n\n protected getTablePath(target: EntityMetadata | Table | TableForeignKey | string): string {\n if (target instanceof Table) {\n return target.name;\n }\n\n if (target instanceof TableForeignKey) {\n return target.referencedTableName;\n }\n\n if (target instanceof EntityMetadata) {\n return target.tablePath;\n }\n\n return target;\n }\n\n protected getTypeormMetadataTableName(): string {\n const options = <SqlServerConnectionOptions|PostgresConnectionOptions>this.connection.driver.options;\n return this.connection.driver.buildTableName(\"typeorm_metadata\", options.schema, options.database);\n }\n\n /**\n * Checks if at least one of column properties was changed.\n * Does not checks column type, length and autoincrement, because these properties changes separately.\n */\n protected isColumnChanged(oldColumn: TableColumn, newColumn: TableColumn, checkDefault?: boolean, checkComment?: boolean): boolean {\n // this logs need to debug issues in column change detection. Do not delete it!\n\n // console.log(\"charset ---------------\");\n // console.log(oldColumn.charset !== newColumn.charset);\n // console.log(oldColumn.charset, newColumn.charset);\n // console.log(\"collation ---------------\");\n // console.log(oldColumn.collation !== newColumn.collation);\n // console.log(oldColumn.collation, newColumn.collation);\n // console.log(\"precision ---------------\");\n // console.log(oldColumn.precision !== newColumn.precision);\n // console.log(oldColumn.precision, newColumn.precision);\n // console.log(\"scale ---------------\");\n // console.log(oldColumn.scale !== newColumn.scale);\n // console.log(oldColumn.scale, newColumn.scale);\n // console.log(\"default ---------------\");\n // console.log((checkDefault && oldColumn.default !== newColumn.default));\n // console.log(oldColumn.default, newColumn.default);\n // console.log(\"isNullable ---------------\");\n // console.log(oldColumn.isNullable !== newColumn.isNullable);\n // console.log(oldColumn.isNullable, newColumn.isNullable);\n // console.log(\"comment ---------------\");\n // console.log((checkComment && oldColumn.comment !== newColumn.comment));\n // console.log(oldColumn.comment, newColumn.comment);\n // console.log(\"enum ---------------\");\n // console.log(oldColumn.enum !== newColumn.enum);\n // console.log(oldColumn.enum, newColumn.enum);\n\n return oldColumn.charset !== newColumn.charset\n || oldColumn.collation !== newColumn.collation\n || oldColumn.precision !== newColumn.precision\n || oldColumn.scale !== newColumn.scale\n || oldColumn.width !== newColumn.width // MySQL only\n || oldColumn.zerofill !== newColumn.zerofill // MySQL only\n || oldColumn.unsigned !== newColumn.unsigned // MySQL only\n || oldColumn.asExpression !== newColumn.asExpression // MySQL only\n || (checkDefault && oldColumn.default !== newColumn.default)\n || oldColumn.onUpdate !== newColumn.onUpdate // MySQL only\n || oldColumn.isNullable !== newColumn.isNullable\n || (checkComment && oldColumn.comment !== newColumn.comment)\n || oldColumn.enum !== newColumn.enum;\n }\n\n /**\n * Checks if column length is by default.\n */\n protected isDefaultColumnLength(table: Table, column: TableColumn, length: string): boolean {\n // if table have metadata, we check if length is specified in column metadata\n if (this.connection.hasMetadata(table.name)) {\n const metadata = this.connection.getMetadata(table.name);\n const columnMetadata = metadata.findColumnWithDatabaseName(column.name);\n\n if (columnMetadata) {\n const columnMetadataLength = this.connection.driver.getColumnLength(columnMetadata);\n if (columnMetadataLength)\n return false;\n }\n }\n\n if (this.connection.driver.dataTypeDefaults\n && this.connection.driver.dataTypeDefaults[column.type]\n && this.connection.driver.dataTypeDefaults[column.type].length) {\n return this.connection.driver.dataTypeDefaults[column.type].length!.toString() === length.toString();\n }\n\n return false;\n }\n\n /**\n * Checks if column precision is by default.\n */\n protected isDefaultColumnPrecision(table: Table, column: TableColumn, precision: number): boolean {\n // if table have metadata, we check if length is specified in column metadata\n if (this.connection.hasMetadata(table.name)) {\n const metadata = this.connection.getMetadata(table.name);\n const columnMetadata = metadata.findColumnWithDatabaseName(column.name);\n if (columnMetadata && columnMetadata.precision !== null && columnMetadata.precision !== undefined)\n return false;\n }\n\n if (this.connection.driver.dataTypeDefaults\n && this.connection.driver.dataTypeDefaults[column.type]\n && this.connection.driver.dataTypeDefaults[column.type].precision !== null\n && this.connection.driver.dataTypeDefaults[column.type].precision !== undefined)\n return this.connection.driver.dataTypeDefaults[column.type].precision === precision;\n\n return false;\n }\n\n /**\n * Checks if column scale is by default.\n */\n protected isDefaultColumnScale(table: Table, column: TableColumn, scale: number): boolean {\n // if table have metadata, we check if length is specified in column metadata\n if (this.connection.hasMetadata(table.name)) {\n const metadata = this.connection.getMetadata(table.name);\n const columnMetadata = metadata.findColumnWithDatabaseName(column.name);\n if (columnMetadata && columnMetadata.scale !== null && columnMetadata.scale !== undefined)\n return false;\n }\n\n if (this.connection.driver.dataTypeDefaults\n && this.connection.driver.dataTypeDefaults[column.type]\n && this.connection.driver.dataTypeDefaults[column.type].scale !== null\n && this.connection.driver.dataTypeDefaults[column.type].scale !== undefined)\n return this.connection.driver.dataTypeDefaults[column.type].scale === scale;\n\n return false;\n }\n\n /**\n * Executes sql used special for schema build.\n */\n protected async executeQueries(upQueries: Query|Query[], downQueries: Query|Query[]): Promise<void> {\n if (upQueries instanceof Query)\n upQueries = [upQueries];\n if (downQueries instanceof Query)\n downQueries = [downQueries];\n\n this.sqlInMemory.upQueries.push(...upQueries);\n this.sqlInMemory.downQueries.push(...downQueries);\n\n // if sql-in-memory mode is enabled then simply store sql in memory and return\n if (this.sqlMemoryMode === true)\n return Promise.resolve() as Promise<any>;\n\n for (const {query, parameters} of upQueries) {\n await this.query(query, parameters);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/query-runner/BaseQueryRunner.ts"],"names":[],"mappings":"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","file":"BaseQueryRunner.js","sourcesContent":["import {PostgresConnectionOptions} from \"../driver/postgres/PostgresConnectionOptions\";\nimport {Query} from \"../driver/Query\";\nimport {SqlInMemory} from \"../driver/SqlInMemory\";\nimport {SqlServerConnectionOptions} from \"../driver/sqlserver/SqlServerConnectionOptions\";\nimport {View} from \"../schema-builder/view/View\";\nimport {Connection} from \"../connection/Connection\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {TableColumn} from \"../schema-builder/table/TableColumn\";\nimport {Broadcaster} from \"../subscriber/Broadcaster\";\nimport {ReplicationMode} from \"../driver/types/ReplicationMode\";\nimport { TypeORMError } from \"../error/TypeORMError\";\nimport { EntityMetadata } from \"../metadata/EntityMetadata\";\nimport { TableForeignKey } from \"../schema-builder/table/TableForeignKey\";\n\nexport abstract class BaseQueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by this query runner.\n */\n connection: Connection;\n\n /**\n * Entity manager working only with current query runner.\n */\n manager: EntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n */\n isReleased = false;\n\n /**\n * Indicates if transaction is in progress.\n */\n isTransactionActive = false;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data = {};\n\n /**\n * All synchronized tables in the database.\n */\n loadedTables: Table[] = [];\n\n /**\n * All synchronized views in the database.\n */\n loadedViews: View[] = [];\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n broadcaster: Broadcaster;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Real database connection from a connection pool used to perform queries.\n */\n protected databaseConnection: any;\n\n /**\n * Indicates if special query runner mode in which sql queries won't be executed is enabled.\n */\n protected sqlMemoryMode: boolean = false;\n\n /**\n * Sql-s stored if \"sql in memory\" mode is enabled.\n */\n protected sqlInMemory: SqlInMemory = new SqlInMemory();\n\n /**\n * Mode in which query runner executes.\n * Used for replication.\n * If replication is not setup its value is ignored.\n */\n protected mode: ReplicationMode;\n\n private cachedTablePaths: Record<string, string> = {};\n\n // -------------------------------------------------------------------------\n // Public Abstract Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes a given SQL query.\n */\n abstract query(query: string, parameters?: any[], useStructuredResult?: boolean): Promise<any>;\n\n // -------------------------------------------------------------------------\n // Protected Abstract Methods\n // -------------------------------------------------------------------------\n\n protected abstract loadTables(tablePaths?: string[]): Promise<Table[]>;\n\n protected abstract loadViews(tablePaths?: string[]): Promise<View[]>;\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads given table's data from the database.\n */\n async getTable(tablePath: string): Promise<Table|undefined> {\n this.loadedTables = await this.loadTables([tablePath]);\n return this.loadedTables.length > 0 ? this.loadedTables[0] : undefined;\n }\n\n /**\n * Loads all tables (with given names) from the database.\n */\n async getTables(tableNames?: string[]): Promise<Table[]> {\n if (!tableNames) {\n // Don't cache in this case.\n // This is the new case & isn't used anywhere else anyway.\n return await this.loadTables(tableNames);\n }\n\n this.loadedTables = await this.loadTables(tableNames);\n return this.loadedTables;\n }\n\n /**\n * Loads given view's data from the database.\n */\n async getView(viewPath: string): Promise<View|undefined> {\n this.loadedViews = await this.loadViews([viewPath]);\n return this.loadedViews.length > 0 ? this.loadedViews[0] : undefined;\n }\n\n /**\n * Loads given view's data from the database.\n */\n async getViews(viewPaths?: string[]): Promise<View[]> {\n this.loadedViews = await this.loadViews(viewPaths);\n return this.loadedViews;\n }\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void {\n this.sqlInMemory = new SqlInMemory();\n this.sqlMemoryMode = true;\n }\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void {\n this.sqlInMemory = new SqlInMemory();\n this.sqlMemoryMode = false;\n }\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void {\n this.sqlInMemory = new SqlInMemory();\n }\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory {\n return this.sqlInMemory;\n }\n\n /**\n * Executes up sql queries.\n */\n async executeMemoryUpSql(): Promise<void> {\n for (const {query, parameters} of this.sqlInMemory.upQueries) {\n await this.query(query, parameters);\n }\n }\n\n /**\n * Executes down sql queries.\n */\n async executeMemoryDownSql(): Promise<void> {\n for (const {query, parameters} of this.sqlInMemory.downQueries.reverse()) {\n await this.query(query, parameters);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets view from previously loaded views, otherwise loads it from database.\n */\n protected async getCachedView(viewName: string): Promise<View> {\n const view = this.loadedViews.find(view => view.name === viewName);\n if (view) return view;\n\n const foundViews = await this.loadViews([viewName]);\n if (foundViews.length > 0) {\n this.loadedViews.push(foundViews[0]);\n return foundViews[0];\n } else {\n throw new TypeORMError(`View \"${viewName}\" does not exist.`);\n }\n }\n\n /**\n * Gets table from previously loaded tables, otherwise loads it from database.\n */\n protected async getCachedTable(tableName: string): Promise<Table> {\n if (tableName in this.cachedTablePaths) {\n const tablePath = this.cachedTablePaths[tableName];\n const table = this.loadedTables.find(table => this.getTablePath(table) === tablePath);\n\n if (table) {\n return table;\n }\n }\n\n const foundTables = await this.loadTables([tableName]);\n\n if (foundTables.length > 0) {\n const foundTablePath = this.getTablePath(foundTables[0]);\n\n const cachedTable = this.loadedTables.find((table) => this.getTablePath(table) === foundTablePath);\n\n if (!cachedTable) {\n this.cachedTablePaths[tableName] = this.getTablePath(foundTables[0]);\n this.loadedTables.push(foundTables[0]);\n return foundTables[0];\n } else {\n return cachedTable;\n }\n } else {\n throw new TypeORMError(`Table \"${tableName}\" does not exist.`);\n }\n }\n\n /**\n * Replaces loaded table with given changed table.\n */\n protected replaceCachedTable(table: Table, changedTable: Table): void {\n const oldTablePath = this.getTablePath(table);\n const foundTable = this.loadedTables.find(loadedTable => this.getTablePath(loadedTable) === oldTablePath);\n\n // Clean up the lookup cache..\n for (const [key, cachedPath] of Object.entries(this.cachedTablePaths)) {\n if (cachedPath === oldTablePath) {\n this.cachedTablePaths[key] = this.getTablePath(changedTable);\n }\n }\n\n if (foundTable) {\n foundTable.database = changedTable.database;\n foundTable.schema = changedTable.schema;\n foundTable.name = changedTable.name;\n foundTable.columns = changedTable.columns;\n foundTable.indices = changedTable.indices;\n foundTable.foreignKeys = changedTable.foreignKeys;\n foundTable.uniques = changedTable.uniques;\n foundTable.checks = changedTable.checks;\n foundTable.justCreated = changedTable.justCreated;\n foundTable.engine = changedTable.engine;\n }\n }\n\n protected getTablePath(target: EntityMetadata | Table | View | TableForeignKey | string): string {\n const parsed = this.connection.driver.parseTableName(target);\n\n return this.connection.driver.buildTableName(\n parsed.tableName,\n parsed.schema,\n parsed.database\n );\n }\n\n protected getTypeormMetadataTableName(): string {\n const options = <SqlServerConnectionOptions|PostgresConnectionOptions>this.connection.driver.options;\n return this.connection.driver.buildTableName(\"typeorm_metadata\", options.schema, options.database);\n }\n\n /**\n * Checks if at least one of column properties was changed.\n * Does not checks column type, length and autoincrement, because these properties changes separately.\n */\n protected isColumnChanged(oldColumn: TableColumn, newColumn: TableColumn, checkDefault?: boolean, checkComment?: boolean): boolean {\n // this logs need to debug issues in column change detection. Do not delete it!\n\n // console.log(\"charset ---------------\");\n // console.log(oldColumn.charset !== newColumn.charset);\n // console.log(oldColumn.charset, newColumn.charset);\n // console.log(\"collation ---------------\");\n // console.log(oldColumn.collation !== newColumn.collation);\n // console.log(oldColumn.collation, newColumn.collation);\n // console.log(\"precision ---------------\");\n // console.log(oldColumn.precision !== newColumn.precision);\n // console.log(oldColumn.precision, newColumn.precision);\n // console.log(\"scale ---------------\");\n // console.log(oldColumn.scale !== newColumn.scale);\n // console.log(oldColumn.scale, newColumn.scale);\n // console.log(\"default ---------------\");\n // console.log((checkDefault && oldColumn.default !== newColumn.default));\n // console.log(oldColumn.default, newColumn.default);\n // console.log(\"isNullable ---------------\");\n // console.log(oldColumn.isNullable !== newColumn.isNullable);\n // console.log(oldColumn.isNullable, newColumn.isNullable);\n // console.log(\"comment ---------------\");\n // console.log((checkComment && oldColumn.comment !== newColumn.comment));\n // console.log(oldColumn.comment, newColumn.comment);\n // console.log(\"enum ---------------\");\n // console.log(oldColumn.enum !== newColumn.enum);\n // console.log(oldColumn.enum, newColumn.enum);\n\n return oldColumn.charset !== newColumn.charset\n || oldColumn.collation !== newColumn.collation\n || oldColumn.precision !== newColumn.precision\n || oldColumn.scale !== newColumn.scale\n || oldColumn.width !== newColumn.width // MySQL only\n || oldColumn.zerofill !== newColumn.zerofill // MySQL only\n || oldColumn.unsigned !== newColumn.unsigned // MySQL only\n || oldColumn.asExpression !== newColumn.asExpression // MySQL only\n || (checkDefault && oldColumn.default !== newColumn.default)\n || oldColumn.onUpdate !== newColumn.onUpdate // MySQL only\n || oldColumn.isNullable !== newColumn.isNullable\n || (checkComment && oldColumn.comment !== newColumn.comment)\n || oldColumn.enum !== newColumn.enum;\n }\n\n /**\n * Checks if column length is by default.\n */\n protected isDefaultColumnLength(table: Table, column: TableColumn, length: string): boolean {\n // if table have metadata, we check if length is specified in column metadata\n if (this.connection.hasMetadata(table.name)) {\n const metadata = this.connection.getMetadata(table.name);\n const columnMetadata = metadata.findColumnWithDatabaseName(column.name);\n\n if (columnMetadata) {\n const columnMetadataLength = this.connection.driver.getColumnLength(columnMetadata);\n if (columnMetadataLength)\n return false;\n }\n }\n\n if (this.connection.driver.dataTypeDefaults\n && this.connection.driver.dataTypeDefaults[column.type]\n && this.connection.driver.dataTypeDefaults[column.type].length) {\n return this.connection.driver.dataTypeDefaults[column.type].length!.toString() === length.toString();\n }\n\n return false;\n }\n\n /**\n * Checks if column precision is by default.\n */\n protected isDefaultColumnPrecision(table: Table, column: TableColumn, precision: number): boolean {\n // if table have metadata, we check if length is specified in column metadata\n if (this.connection.hasMetadata(table.name)) {\n const metadata = this.connection.getMetadata(table.name);\n const columnMetadata = metadata.findColumnWithDatabaseName(column.name);\n if (columnMetadata && columnMetadata.precision !== null && columnMetadata.precision !== undefined)\n return false;\n }\n\n if (this.connection.driver.dataTypeDefaults\n && this.connection.driver.dataTypeDefaults[column.type]\n && this.connection.driver.dataTypeDefaults[column.type].precision !== null\n && this.connection.driver.dataTypeDefaults[column.type].precision !== undefined)\n return this.connection.driver.dataTypeDefaults[column.type].precision === precision;\n\n return false;\n }\n\n /**\n * Checks if column scale is by default.\n */\n protected isDefaultColumnScale(table: Table, column: TableColumn, scale: number): boolean {\n // if table have metadata, we check if length is specified in column metadata\n if (this.connection.hasMetadata(table.name)) {\n const metadata = this.connection.getMetadata(table.name);\n const columnMetadata = metadata.findColumnWithDatabaseName(column.name);\n if (columnMetadata && columnMetadata.scale !== null && columnMetadata.scale !== undefined)\n return false;\n }\n\n if (this.connection.driver.dataTypeDefaults\n && this.connection.driver.dataTypeDefaults[column.type]\n && this.connection.driver.dataTypeDefaults[column.type].scale !== null\n && this.connection.driver.dataTypeDefaults[column.type].scale !== undefined)\n return this.connection.driver.dataTypeDefaults[column.type].scale === scale;\n\n return false;\n }\n\n /**\n * Executes sql used special for schema build.\n */\n protected async executeQueries(upQueries: Query|Query[], downQueries: Query|Query[]): Promise<void> {\n if (upQueries instanceof Query)\n upQueries = [upQueries];\n if (downQueries instanceof Query)\n downQueries = [downQueries];\n\n this.sqlInMemory.upQueries.push(...upQueries);\n this.sqlInMemory.downQueries.push(...downQueries);\n\n // if sql-in-memory mode is enabled then simply store sql in memory and return\n if (this.sqlMemoryMode === true)\n return Promise.resolve() as Promise<any>;\n\n for (const {query, parameters} of upQueries) {\n await this.query(query, parameters);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -7,14 +7,14 @@ var QueryLock = /** @class */ (function () {
|
|
|
7
7
|
this.queue = [];
|
|
8
8
|
}
|
|
9
9
|
QueryLock.prototype.acquire = function () {
|
|
10
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
10
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
11
11
|
var release, waitingPromise, otherWaitingPromises;
|
|
12
12
|
var _this = this;
|
|
13
|
-
return tslib_1.__generator(this, function (_a) {
|
|
13
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
14
14
|
switch (_a.label) {
|
|
15
15
|
case 0:
|
|
16
16
|
waitingPromise = new Promise(function (ok) { return release = ok; });
|
|
17
|
-
otherWaitingPromises = tslib_1.__spreadArray([], tslib_1.__read(this.queue));
|
|
17
|
+
otherWaitingPromises = (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(this.queue), false);
|
|
18
18
|
// Put ourselves onto the end of the queue
|
|
19
19
|
this.queue.push(waitingPromise);
|
|
20
20
|
if (!(otherWaitingPromises.length > 0)) return [3 /*break*/, 2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-runner/QueryLock.ts"],"names":[],"mappings":";;;;AAAA;IAAA;QACqB,UAAK,GAAoB,EAAE,CAAC;IAuBjD,CAAC;IArBS,2BAAO,GAAb;;;;;;;wBAEU,cAAc,GAAG,IAAI,OAAO,CAAO,UAAC,EAAE,IAAK,OAAA,OAAO,GAAG,EAAE,EAAZ,CAAY,CAAC,CAAC;wBAGzD,oBAAoB,
|
|
1
|
+
{"version":3,"sources":["../../src/query-runner/QueryLock.ts"],"names":[],"mappings":";;;;AAAA;IAAA;QACqB,UAAK,GAAoB,EAAE,CAAC;IAuBjD,CAAC;IArBS,2BAAO,GAAb;;;;;;;wBAEU,cAAc,GAAG,IAAI,OAAO,CAAO,UAAC,EAAE,IAAK,OAAA,OAAO,GAAG,EAAE,EAAZ,CAAY,CAAC,CAAC;wBAGzD,oBAAoB,sDAAO,IAAI,CAAC,KAAK,SAAC,CAAC;wBAC7C,0CAA0C;wBAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;6BAE5B,CAAA,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAA,EAA/B,wBAA+B;wBAC/B,qBAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;;4BAG5C,sBAAO;4BACH,OAAO,EAAE,CAAC;4BAEV,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gCACrC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;6BAC5D;wBACL,CAAC,EAAC;;;;KACL;IACL,gBAAC;AAAD,CAxBA,AAwBC,IAAA;AAxBY,8BAAS","file":"QueryLock.js","sourcesContent":["export class QueryLock {\n private readonly queue: Promise<void>[] = [];\n\n async acquire(): Promise<() => void> {\n let release: Function;\n const waitingPromise = new Promise<void>((ok) => release = ok);\n\n // Get track of everyone we need to wait on..\n const otherWaitingPromises = [...this.queue];\n // Put ourselves onto the end of the queue\n this.queue.push(waitingPromise);\n\n if (otherWaitingPromises.length > 0) {\n await Promise.all(otherWaitingPromises);\n }\n\n return () => {\n release();\n\n if (this.queue.includes(waitingPromise)) {\n this.queue.splice(this.queue.indexOf(waitingPromise), 1);\n }\n };\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -84,7 +84,7 @@ var AbstractRepository = /** @class */ (function () {
|
|
|
84
84
|
* If given custom repository does not manage any entity then undefined will be returned.
|
|
85
85
|
*/
|
|
86
86
|
AbstractRepository.prototype.getCustomRepositoryTarget = function (customRepository) {
|
|
87
|
-
var entityRepositoryMetadataArgs = globals_1.getMetadataArgsStorage().entityRepositories.find(function (repository) {
|
|
87
|
+
var entityRepositoryMetadataArgs = (0, globals_1.getMetadataArgsStorage)().entityRepositories.find(function (repository) {
|
|
88
88
|
return repository.target === (customRepository instanceof Function ? customRepository : customRepository.constructor);
|
|
89
89
|
});
|
|
90
90
|
if (!entityRepositoryMetadataArgs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/repository/AbstractRepository.ts"],"names":[],"mappings":";;;AAMA,0GAAuG;AACvG,sCAAkD;AAClD,wFAAqF;AAGrF;;;;;;GAMG;AACH;IAAA;IA8FA,CAAC;IA3EG,sBAAc,0CAAU;QARxB,4EAA4E;QAC5E,sBAAsB;QACtB,4EAA4E;QAE5E;;;WAGG;aACH;YACI,IAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM;gBACP,MAAM,IAAI,+EAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAS,MAAM,CAAC,CAAC;QACtD,CAAC;;;OAAA;IAMD,sBAAc,8CAAc;QAJ5B;;;WAGG;aACH;YACI,IAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM;gBACP,MAAM,IAAI,+EAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAS,MAAM,CAAC,CAAC;QAC1D,CAAC;;;OAAA;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;;OAGG;IACO,+CAAkB,GAA5B,UAA6B,KAAa;QACtC,IAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM;YACP,MAAM,IAAI,+EAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAS,MAAM,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,kDAAqB,GAA/B,UAAmC,MAAqB,EAAE,KAAa;QACnE,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACO,6CAAgB,GAA1B,UAA8B,MAAqB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACO,iDAAoB,GAA9B,UAAkC,MAAqB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;OAGG;IACK,sDAAyB,GAAjC,UAAkC,gBAAqB;QACnD,IAAM,4BAA4B,GAAG,gCAAsB,
|
|
1
|
+
{"version":3,"sources":["../../src/repository/AbstractRepository.ts"],"names":[],"mappings":";;;AAMA,0GAAuG;AACvG,sCAAkD;AAClD,wFAAqF;AAGrF;;;;;;GAMG;AACH;IAAA;IA8FA,CAAC;IA3EG,sBAAc,0CAAU;QARxB,4EAA4E;QAC5E,sBAAsB;QACtB,4EAA4E;QAE5E;;;WAGG;aACH;YACI,IAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM;gBACP,MAAM,IAAI,+EAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAS,MAAM,CAAC,CAAC;QACtD,CAAC;;;OAAA;IAMD,sBAAc,8CAAc;QAJ5B;;;WAGG;aACH;YACI,IAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM;gBACP,MAAM,IAAI,+EAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAS,MAAM,CAAC,CAAC;QAC1D,CAAC;;;OAAA;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;;OAGG;IACO,+CAAkB,GAA5B,UAA6B,KAAa;QACtC,IAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM;YACP,MAAM,IAAI,+EAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAS,MAAM,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,kDAAqB,GAA/B,UAAmC,MAAqB,EAAE,KAAa;QACnE,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACO,6CAAgB,GAA1B,UAA8B,MAAqB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACO,iDAAoB,GAA9B,UAAkC,MAAqB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;OAGG;IACK,sDAAyB,GAAjC,UAAkC,gBAAqB;QACnD,IAAM,4BAA4B,GAAG,IAAA,gCAAsB,GAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAA,UAAU;YAC5F,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,gBAAgB,YAAY,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAE,gBAAwB,CAAC,WAAW,CAAC,CAAC;QACnI,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,4BAA4B;YAC7B,MAAM,IAAI,6DAA6B,CAAC,gBAAgB,CAAC,CAAC;QAE9D,OAAO,4BAA4B,CAAC,MAAM,CAAC;IAC/C,CAAC;IAEL,yBAAC;AAAD,CA9FA,AA8FC,IAAA;AA9FY,gDAAkB","file":"AbstractRepository.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {Repository} from \"./Repository\";\nimport {TreeRepository} from \"./TreeRepository\";\nimport {EntityTarget} from \"../common/EntityTarget\";\nimport {ObjectType} from \"../common/ObjectType\";\nimport {CustomRepositoryDoesNotHaveEntityError} from \"../error/CustomRepositoryDoesNotHaveEntityError\";\nimport {getMetadataArgsStorage} from \"../globals\";\nimport {CustomRepositoryNotFoundError} from \"../error/CustomRepositoryNotFoundError\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\n\n/**\n * Provides abstract class for custom repositories that do not inherit from original orm Repository.\n * Contains all most-necessary methods to simplify code in the custom repository.\n * All methods are protected thus not exposed and it allows to create encapsulated custom repository.\n *\n * @experimental\n */\nexport class AbstractRepository<Entity extends ObjectLiteral> {\n\n // -------------------------------------------------------------------------\n // Protected Methods Set Dynamically\n // -------------------------------------------------------------------------\n\n /**\n * Gets entity manager that allows to perform repository operations with any entity.\n */\n protected manager: EntityManager;\n\n // -------------------------------------------------------------------------\n // Protected Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the original ORM repository for the entity that is managed by this repository.\n * If current repository does not manage any entity, then exception will be thrown.\n */\n protected get repository(): Repository<Entity> {\n const target = this.getCustomRepositoryTarget(this as any);\n if (!target)\n throw new CustomRepositoryDoesNotHaveEntityError(this.constructor);\n\n return this.manager.getRepository<Entity>(target);\n }\n\n /**\n * Gets the original ORM tree repository for the entity that is managed by this repository.\n * If current repository does not manage any entity, then exception will be thrown.\n */\n protected get treeRepository(): TreeRepository<Entity> {\n const target = this.getCustomRepositoryTarget(this as any);\n if (!target)\n throw new CustomRepositoryDoesNotHaveEntityError(this.constructor);\n\n return this.manager.getTreeRepository<Entity>(target);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new query builder for the repository's entity that can be used to build a sql query.\n * If current repository does not manage any entity, then exception will be thrown.\n */\n protected createQueryBuilder(alias: string): SelectQueryBuilder<Entity> {\n const target = this.getCustomRepositoryTarget(this.constructor);\n if (!target)\n throw new CustomRepositoryDoesNotHaveEntityError(this.constructor);\n\n return this.manager.getRepository<Entity>(target).createQueryBuilder(alias);\n }\n\n /**\n * Creates a new query builder for the given entity that can be used to build a sql query.\n */\n protected createQueryBuilderFor<T>(entity: ObjectType<T>, alias: string): SelectQueryBuilder<T> {\n return this.getRepositoryFor(entity).createQueryBuilder(alias);\n }\n\n /**\n * Gets the original ORM repository for the given entity class.\n */\n protected getRepositoryFor<T>(entity: ObjectType<T>): Repository<T> {\n return this.manager.getRepository(entity);\n }\n\n /**\n * Gets the original ORM tree repository for the given entity class.\n */\n protected getTreeRepositoryFor<T>(entity: ObjectType<T>): TreeRepository<T> {\n return this.manager.getTreeRepository(entity);\n }\n\n // -------------------------------------------------------------------------\n // Private Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets custom repository's managed entity.\n * If given custom repository does not manage any entity then undefined will be returned.\n */\n private getCustomRepositoryTarget(customRepository: any): EntityTarget<any>|undefined {\n const entityRepositoryMetadataArgs = getMetadataArgsStorage().entityRepositories.find(repository => {\n return repository.target === (customRepository instanceof Function ? customRepository : (customRepository as any).constructor);\n });\n if (!entityRepositoryMetadataArgs)\n throw new CustomRepositoryNotFoundError(customRepository);\n\n return entityRepositoryMetadataArgs.entity;\n }\n\n}\n"],"sourceRoot":".."}
|
package/repository/BaseEntity.js
CHANGED
|
@@ -49,9 +49,9 @@ var BaseEntity = /** @class */ (function () {
|
|
|
49
49
|
* Reloads entity data from the database.
|
|
50
50
|
*/
|
|
51
51
|
BaseEntity.prototype.reload = function () {
|
|
52
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
52
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
53
53
|
var base, newestEntity;
|
|
54
|
-
return tslib_1.__generator(this, function (_a) {
|
|
54
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
55
55
|
switch (_a.label) {
|
|
56
56
|
case 0:
|
|
57
57
|
base = this.constructor;
|
|
@@ -77,7 +77,7 @@ var BaseEntity = /** @class */ (function () {
|
|
|
77
77
|
* Gets current entity's Repository.
|
|
78
78
|
*/
|
|
79
79
|
BaseEntity.getRepository = function () {
|
|
80
|
-
var connection = this.usedConnection || globals_1.getConnection();
|
|
80
|
+
var connection = this.usedConnection || (0, globals_1.getConnection)();
|
|
81
81
|
return connection.getRepository(this);
|
|
82
82
|
};
|
|
83
83
|
Object.defineProperty(BaseEntity, "target", {
|
|
@@ -127,7 +127,7 @@ var BaseEntity = /** @class */ (function () {
|
|
|
127
127
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
128
128
|
entityLikes[_i - 1] = arguments[_i];
|
|
129
129
|
}
|
|
130
|
-
return (_a = this.getRepository()).merge.apply(_a, tslib_1.__spreadArray([mergeIntoEntity], tslib_1.__read(entityLikes)));
|
|
130
|
+
return (_a = this.getRepository()).merge.apply(_a, (0, tslib_1.__spreadArray)([mergeIntoEntity], (0, tslib_1.__read)(entityLikes), false));
|
|
131
131
|
};
|
|
132
132
|
/**
|
|
133
133
|
* Creates a new entity from the given plain javascript object. If entity already exist in the database, then
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/repository/BaseEntity.ts"],"names":[],"mappings":"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","file":"BaseEntity.js","sourcesContent":["import {Repository} from \"./Repository\";\nimport {getConnection} from \"../globals\";\nimport {FindConditions} from \"../find-options/FindConditions\";\nimport {DeepPartial} from \"../common/DeepPartial\";\nimport {SaveOptions} from \"./SaveOptions\";\nimport {FindOneOptions} from \"../find-options/FindOneOptions\";\nimport {RemoveOptions} from \"./RemoveOptions\";\nimport {FindManyOptions} from \"../find-options/FindManyOptions\";\nimport {Connection} from \"../connection/Connection\";\nimport {ObjectType} from \"../common/ObjectType\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\nimport {InsertResult} from \"../query-builder/result/InsertResult\";\nimport {UpdateResult} from \"../query-builder/result/UpdateResult\";\nimport {DeleteResult} from \"../query-builder/result/DeleteResult\";\nimport {ObjectID} from \"../driver/mongodb/typings\";\nimport {ObjectUtils} from \"../util/ObjectUtils\";\nimport {QueryDeepPartialEntity} from \"../query-builder/QueryPartialEntity\";\n\n/**\n * Base abstract entity for all entities, used in ActiveRecord patterns.\n */\nexport class BaseEntity {\n\n // -------------------------------------------------------------------------\n // Private Static Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used in all static methods of the BaseEntity.\n */\n // @ts-ignore: Unused variable which is actually used\n private static usedConnection?: Connection;\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Checks if entity has an id.\n * If entity composite compose ids, it will check them all.\n */\n hasId(): boolean {\n return (this.constructor as any).getRepository().hasId(this);\n }\n\n /**\n * Saves current entity in the database.\n * If entity does not exist in the database then inserts, otherwise updates.\n */\n save(options?: SaveOptions): Promise<this> {\n return (this.constructor as any).getRepository().save(this, options);\n }\n\n /**\n * Removes current entity from the database.\n */\n remove(options?: RemoveOptions): Promise<this> {\n return (this.constructor as any).getRepository().remove(this, options);\n }\n\n /**\n * Records the delete date of current entity.\n */\n softRemove(options?: SaveOptions): Promise<this> {\n return (this.constructor as any).getRepository().softRemove(this, options);\n }\n\n /**\n * Recovers a given entity in the database.\n */\n recover(options?: SaveOptions): Promise<this> {\n return (this.constructor as any).getRepository().recover(this, options);\n }\n\n /**\n * Reloads entity data from the database.\n */\n async reload(): Promise<void> {\n const base: any = this.constructor;\n const newestEntity: BaseEntity = await base.getRepository().findOneOrFail(base.getId(this));\n\n ObjectUtils.assign(this, newestEntity);\n }\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Sets connection to be used by entity.\n */\n static useConnection(connection: Connection) {\n this.usedConnection = connection;\n }\n\n /**\n * Gets current entity's Repository.\n */\n static getRepository<T extends BaseEntity>(this: ObjectType<T>): Repository<T> {\n const connection: Connection = (this as any).usedConnection || getConnection();\n return connection.getRepository<T>(this);\n }\n\n /**\n * Returns object that is managed by this repository.\n * If this repository manages entity from schema,\n * then it returns a name of that schema instead.\n */\n static get target(): Function|string {\n return this.getRepository().target;\n }\n\n /**\n * Checks entity has an id.\n * If entity composite compose ids, it will check them all.\n */\n static hasId(entity: BaseEntity): boolean {\n return this.getRepository().hasId(entity);\n }\n\n /**\n * Gets entity mixed id.\n */\n static getId<T extends BaseEntity>(this: ObjectType<T>, entity: T): any {\n return (this as any).getRepository().getId(entity);\n }\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n static createQueryBuilder<T extends BaseEntity>(this: ObjectType<T>, alias?: string): SelectQueryBuilder<T> {\n return (this as any).getRepository().createQueryBuilder(alias);\n }\n\n /**\n * Creates a new entity instance.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>): T;\n\n /**\n * Creates a new entities and copies all entity properties from given objects into their new entities.\n * Note that it copies only properties that present in entity schema.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>, entityLikeArray: DeepPartial<T>[]): T[];\n\n /**\n * Creates a new entity instance and copies all entity properties from this object into a new entity.\n * Note that it copies only properties that present in entity schema.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>, entityLike: DeepPartial<T>): T;\n /**\n * Creates a new entity instance and copies all entity properties from this object into a new entity.\n * Note that it copies only properties that present in entity schema.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities?: any): T {\n return (this as any).getRepository().create(entityOrEntities);\n }\n\n /**\n * Merges multiple entities (or entity-like objects) into a given entity.\n */\n static merge<T extends BaseEntity>(this: ObjectType<T>, mergeIntoEntity: T, ...entityLikes: DeepPartial<T>[]): T {\n return (this as any).getRepository().merge(mergeIntoEntity, ...entityLikes);\n }\n\n /**\n * Creates a new entity from the given plain javascript object. If entity already exist in the database, then\n * it loads it (and everything related to it), replaces all values with the new ones from the given object\n * and returns this new entity. This new entity is actually a loaded from the db entity with all properties\n * replaced from the new object.\n *\n * Note that given entity-like object must have an entity id / primary key to find entity by.\n * Returns undefined if entity with given id was not found.\n */\n static preload<T extends BaseEntity>(this: ObjectType<T>, entityLike: DeepPartial<T>): Promise<T|undefined> {\n return (this as any).getRepository().preload(entityLike);\n }\n\n /**\n * Saves all given entities in the database.\n * If entities do not exist in the database then inserts, otherwise updates.\n */\n static save<T extends BaseEntity>(this: ObjectType<T>, entities: T[], options?: SaveOptions): Promise<T[]>;\n\n /**\n * Saves a given entity in the database.\n * If entity does not exist in the database then inserts, otherwise updates.\n */\n static save<T extends BaseEntity>(this: ObjectType<T>, entity: T, options?: SaveOptions): Promise<T>;\n\n /**\n * Saves one or many given entities.\n */\n static save<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities: T|T[], options?: SaveOptions): Promise<T|T[]> {\n return (this as any).getRepository().save(entityOrEntities as any, options);\n }\n\n /**\n * Removes a given entities from the database.\n */\n static remove<T extends BaseEntity>(this: ObjectType<T>, entities: T[], options?: RemoveOptions): Promise<T[]>;\n\n /**\n * Removes a given entity from the database.\n */\n static remove<T extends BaseEntity>(this: ObjectType<T>, entity: T, options?: RemoveOptions): Promise<T>;\n\n /**\n * Removes one or many given entities.\n */\n static remove<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities: T|T[], options?: RemoveOptions): Promise<T|T[]> {\n return (this as any).getRepository().remove(entityOrEntities as any, options);\n }\n\n /**\n * Records the delete date of all given entities.\n */\n static softRemove<T extends BaseEntity>(this: ObjectType<T>, entities: T[], options?: SaveOptions): Promise<T[]>;\n\n /**\n * Records the delete date of a given entity.\n */\n static softRemove<T extends BaseEntity>(this: ObjectType<T>, entity: T, options?: SaveOptions): Promise<T>;\n\n /**\n * Records the delete date of one or many given entities.\n */\n static softRemove<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities: T|T[], options?: SaveOptions): Promise<T|T[]> {\n return (this as any).getRepository().softRemove(entityOrEntities as any, options);\n }\n\n /**\n * Inserts a given entity into the database.\n * Unlike save method executes a primitive operation without cascades, relations and other operations included.\n * Executes fast and efficient INSERT query.\n * Does not check if entity exist in the database, so query will fail if duplicate entity is being inserted.\n */\n static insert<T extends BaseEntity>(this: ObjectType<T>, entity: QueryDeepPartialEntity<T>|QueryDeepPartialEntity<T>[], options?: SaveOptions): Promise<InsertResult> {\n return (this as any).getRepository().insert(entity, options);\n }\n\n /**\n * Updates entity partially. Entity can be found by a given conditions.\n * Unlike save method executes a primitive operation without cascades, relations and other operations included.\n * Executes fast and efficient UPDATE query.\n * Does not check if entity exist in the database.\n */\n static update<T extends BaseEntity>(this: ObjectType<T>, criteria: string|string[]|number|number[]|Date|Date[]|ObjectID|ObjectID[]|FindConditions<T>, partialEntity: QueryDeepPartialEntity<T>, options?: SaveOptions): Promise<UpdateResult> {\n return (this as any).getRepository().update(criteria, partialEntity, options);\n }\n\n /**\n * Deletes entities by a given criteria.\n * Unlike remove method executes a primitive operation without cascades, relations and other operations included.\n * Executes fast and efficient DELETE query.\n * Does not check if entity exist in the database.\n */\n static delete<T extends BaseEntity>(this: ObjectType<T>, criteria: string|string[]|number|number[]|Date|Date[]|ObjectID|ObjectID[]|FindConditions<T>, options?: RemoveOptions): Promise<DeleteResult> {\n return (this as any).getRepository().delete(criteria, options);\n }\n\n /**\n * Counts entities that match given options.\n */\n static count<T extends BaseEntity>(this: ObjectType<T>, options?: FindManyOptions<T>): Promise<number>;\n\n /**\n * Counts entities that match given conditions.\n */\n static count<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>): Promise<number>;\n\n /**\n * Counts entities that match given find options or conditions.\n */\n static count<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<number> {\n return (this as any).getRepository().count(optionsOrConditions as any);\n }\n\n /**\n * Finds entities that match given options.\n */\n static find<T extends BaseEntity>(this: ObjectType<T>, options?: FindManyOptions<T>): Promise<T[]>;\n\n /**\n * Finds entities that match given conditions.\n */\n static find<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>): Promise<T[]>;\n\n /**\n * Finds entities that match given find options or conditions.\n */\n static find<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<T[]> {\n return (this as any).getRepository().find(optionsOrConditions as any);\n }\n\n /**\n * Finds entities that match given find options.\n * Also counts all entities that match given conditions,\n * but ignores pagination settings (from and take options).\n */\n static findAndCount<T extends BaseEntity>(this: ObjectType<T>, options?: FindManyOptions<T>): Promise<[ T[], number ]>;\n\n /**\n * Finds entities that match given conditions.\n * Also counts all entities that match given conditions,\n * but ignores pagination settings (from and take options).\n */\n static findAndCount<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>): Promise<[ T[], number ]>;\n\n /**\n * Finds entities that match given find options or conditions.\n * Also counts all entities that match given conditions,\n * but ignores pagination settings (from and take options).\n */\n static findAndCount<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<[ T[], number ]> {\n return (this as any).getRepository().findAndCount(optionsOrConditions as any);\n }\n\n /**\n * Finds entities by ids.\n * Optionally find options can be applied.\n */\n static findByIds<T extends BaseEntity>(this: ObjectType<T>, ids: any[], options?: FindManyOptions<T>): Promise<T[]>;\n\n /**\n * Finds entities by ids.\n * Optionally conditions can be applied.\n */\n static findByIds<T extends BaseEntity>(this: ObjectType<T>, ids: any[], conditions?: FindConditions<T>): Promise<T[]>;\n\n /**\n * Finds entities by ids.\n * Optionally find options can be applied.\n */\n static findByIds<T extends BaseEntity>(this: ObjectType<T>, ids: any[], optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<T[]> {\n return (this as any).getRepository().findByIds(ids, optionsOrConditions as any);\n }\n\n /**\n * Finds first entity that matches given options.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, id?: string|number|Date|ObjectID, options?: FindOneOptions<T>): Promise<T|undefined>;\n\n /**\n * Finds first entity that matches given options.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, options?: FindOneOptions<T>): Promise<T|undefined>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>, options?: FindOneOptions<T>): Promise<T|undefined>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: string|number|Date|ObjectID|FindOneOptions<T>|FindConditions<T>, maybeOptions?: FindOneOptions<T>): Promise<T|undefined> {\n return (this as any).getRepository().findOne(optionsOrConditions as any, maybeOptions);\n }\n\n /**\n * Finds first entity that matches given options.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, id?: string|number|Date|ObjectID, options?: FindOneOptions<T>): Promise<T>;\n\n /**\n * Finds first entity that matches given options.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, options?: FindOneOptions<T>): Promise<T>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>, options?: FindOneOptions<T>): Promise<T>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: string|number|Date|ObjectID|FindOneOptions<T>|FindConditions<T>, maybeOptions?: FindOneOptions<T>): Promise<T> {\n return (this as any).getRepository().findOneOrFail(optionsOrConditions as any, maybeOptions);\n }\n\n /**\n * Executes a raw SQL query and returns a raw database results.\n * Raw query execution is supported only by relational databases (MongoDB is not supported).\n */\n static query<T extends BaseEntity>(this: ObjectType<T>, query: string, parameters?: any[]): Promise<any> {\n return (this as any).getRepository().query(query, parameters);\n }\n\n /**\n * Clears all the data from the given table/collection (truncates/drops it).\n */\n static clear<T extends BaseEntity>(this: ObjectType<T>, ): Promise<void> {\n return (this as any).getRepository().clear();\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/repository/BaseEntity.ts"],"names":[],"mappings":"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","file":"BaseEntity.js","sourcesContent":["import {Repository} from \"./Repository\";\nimport {getConnection} from \"../globals\";\nimport {FindConditions} from \"../find-options/FindConditions\";\nimport {DeepPartial} from \"../common/DeepPartial\";\nimport {SaveOptions} from \"./SaveOptions\";\nimport {FindOneOptions} from \"../find-options/FindOneOptions\";\nimport {RemoveOptions} from \"./RemoveOptions\";\nimport {FindManyOptions} from \"../find-options/FindManyOptions\";\nimport {Connection} from \"../connection/Connection\";\nimport {ObjectType} from \"../common/ObjectType\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\nimport {InsertResult} from \"../query-builder/result/InsertResult\";\nimport {UpdateResult} from \"../query-builder/result/UpdateResult\";\nimport {DeleteResult} from \"../query-builder/result/DeleteResult\";\nimport {ObjectID} from \"../driver/mongodb/typings\";\nimport {ObjectUtils} from \"../util/ObjectUtils\";\nimport {QueryDeepPartialEntity} from \"../query-builder/QueryPartialEntity\";\n\n/**\n * Base abstract entity for all entities, used in ActiveRecord patterns.\n */\nexport class BaseEntity {\n\n // -------------------------------------------------------------------------\n // Private Static Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used in all static methods of the BaseEntity.\n */\n // @ts-ignore: Unused variable which is actually used\n private static usedConnection?: Connection;\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Checks if entity has an id.\n * If entity composite compose ids, it will check them all.\n */\n hasId(): boolean {\n return (this.constructor as any).getRepository().hasId(this);\n }\n\n /**\n * Saves current entity in the database.\n * If entity does not exist in the database then inserts, otherwise updates.\n */\n save(options?: SaveOptions): Promise<this> {\n return (this.constructor as any).getRepository().save(this, options);\n }\n\n /**\n * Removes current entity from the database.\n */\n remove(options?: RemoveOptions): Promise<this> {\n return (this.constructor as any).getRepository().remove(this, options);\n }\n\n /**\n * Records the delete date of current entity.\n */\n softRemove(options?: SaveOptions): Promise<this> {\n return (this.constructor as any).getRepository().softRemove(this, options);\n }\n\n /**\n * Recovers a given entity in the database.\n */\n recover(options?: SaveOptions): Promise<this> {\n return (this.constructor as any).getRepository().recover(this, options);\n }\n\n /**\n * Reloads entity data from the database.\n */\n async reload(): Promise<void> {\n const base: any = this.constructor;\n const newestEntity: BaseEntity = await base.getRepository().findOneOrFail(base.getId(this));\n\n ObjectUtils.assign(this, newestEntity);\n }\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Sets connection to be used by entity.\n */\n static useConnection(connection: Connection) {\n this.usedConnection = connection;\n }\n\n /**\n * Gets current entity's Repository.\n */\n static getRepository<T extends BaseEntity>(this: ObjectType<T>): Repository<T> {\n const connection: Connection = (this as any).usedConnection || getConnection();\n return connection.getRepository<T>(this);\n }\n\n /**\n * Returns object that is managed by this repository.\n * If this repository manages entity from schema,\n * then it returns a name of that schema instead.\n */\n static get target(): Function|string {\n return this.getRepository().target;\n }\n\n /**\n * Checks entity has an id.\n * If entity composite compose ids, it will check them all.\n */\n static hasId(entity: BaseEntity): boolean {\n return this.getRepository().hasId(entity);\n }\n\n /**\n * Gets entity mixed id.\n */\n static getId<T extends BaseEntity>(this: ObjectType<T>, entity: T): any {\n return (this as any).getRepository().getId(entity);\n }\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n static createQueryBuilder<T extends BaseEntity>(this: ObjectType<T>, alias?: string): SelectQueryBuilder<T> {\n return (this as any).getRepository().createQueryBuilder(alias);\n }\n\n /**\n * Creates a new entity instance.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>): T;\n\n /**\n * Creates a new entities and copies all entity properties from given objects into their new entities.\n * Note that it copies only properties that present in entity schema.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>, entityLikeArray: DeepPartial<T>[]): T[];\n\n /**\n * Creates a new entity instance and copies all entity properties from this object into a new entity.\n * Note that it copies only properties that present in entity schema.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>, entityLike: DeepPartial<T>): T;\n /**\n * Creates a new entity instance and copies all entity properties from this object into a new entity.\n * Note that it copies only properties that present in entity schema.\n */\n static create<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities?: any): T {\n return (this as any).getRepository().create(entityOrEntities);\n }\n\n /**\n * Merges multiple entities (or entity-like objects) into a given entity.\n */\n static merge<T extends BaseEntity>(this: ObjectType<T>, mergeIntoEntity: T, ...entityLikes: DeepPartial<T>[]): T {\n return (this as any).getRepository().merge(mergeIntoEntity, ...entityLikes);\n }\n\n /**\n * Creates a new entity from the given plain javascript object. If entity already exist in the database, then\n * it loads it (and everything related to it), replaces all values with the new ones from the given object\n * and returns this new entity. This new entity is actually a loaded from the db entity with all properties\n * replaced from the new object.\n *\n * Note that given entity-like object must have an entity id / primary key to find entity by.\n * Returns undefined if entity with given id was not found.\n */\n static preload<T extends BaseEntity>(this: ObjectType<T>, entityLike: DeepPartial<T>): Promise<T|undefined> {\n return (this as any).getRepository().preload(entityLike);\n }\n\n /**\n * Saves all given entities in the database.\n * If entities do not exist in the database then inserts, otherwise updates.\n */\n static save<T extends BaseEntity>(this: ObjectType<T>, entities: T[], options?: SaveOptions): Promise<T[]>;\n\n /**\n * Saves a given entity in the database.\n * If entity does not exist in the database then inserts, otherwise updates.\n */\n static save<T extends BaseEntity>(this: ObjectType<T>, entity: T, options?: SaveOptions): Promise<T>;\n\n /**\n * Saves one or many given entities.\n */\n static save<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities: T|T[], options?: SaveOptions): Promise<T|T[]> {\n return (this as any).getRepository().save(entityOrEntities as any, options);\n }\n\n /**\n * Removes a given entities from the database.\n */\n static remove<T extends BaseEntity>(this: ObjectType<T>, entities: T[], options?: RemoveOptions): Promise<T[]>;\n\n /**\n * Removes a given entity from the database.\n */\n static remove<T extends BaseEntity>(this: ObjectType<T>, entity: T, options?: RemoveOptions): Promise<T>;\n\n /**\n * Removes one or many given entities.\n */\n static remove<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities: T|T[], options?: RemoveOptions): Promise<T|T[]> {\n return (this as any).getRepository().remove(entityOrEntities as any, options);\n }\n\n /**\n * Records the delete date of all given entities.\n */\n static softRemove<T extends BaseEntity>(this: ObjectType<T>, entities: T[], options?: SaveOptions): Promise<T[]>;\n\n /**\n * Records the delete date of a given entity.\n */\n static softRemove<T extends BaseEntity>(this: ObjectType<T>, entity: T, options?: SaveOptions): Promise<T>;\n\n /**\n * Records the delete date of one or many given entities.\n */\n static softRemove<T extends BaseEntity>(this: ObjectType<T>, entityOrEntities: T|T[], options?: SaveOptions): Promise<T|T[]> {\n return (this as any).getRepository().softRemove(entityOrEntities as any, options);\n }\n\n /**\n * Inserts a given entity into the database.\n * Unlike save method executes a primitive operation without cascades, relations and other operations included.\n * Executes fast and efficient INSERT query.\n * Does not check if entity exist in the database, so query will fail if duplicate entity is being inserted.\n */\n static insert<T extends BaseEntity>(this: ObjectType<T>, entity: QueryDeepPartialEntity<T>|QueryDeepPartialEntity<T>[], options?: SaveOptions): Promise<InsertResult> {\n return (this as any).getRepository().insert(entity, options);\n }\n\n /**\n * Updates entity partially. Entity can be found by a given conditions.\n * Unlike save method executes a primitive operation without cascades, relations and other operations included.\n * Executes fast and efficient UPDATE query.\n * Does not check if entity exist in the database.\n */\n static update<T extends BaseEntity>(this: ObjectType<T>, criteria: string|string[]|number|number[]|Date|Date[]|ObjectID|ObjectID[]|FindConditions<T>, partialEntity: QueryDeepPartialEntity<T>, options?: SaveOptions): Promise<UpdateResult> {\n return (this as any).getRepository().update(criteria, partialEntity, options);\n }\n\n /**\n * Deletes entities by a given criteria.\n * Unlike remove method executes a primitive operation without cascades, relations and other operations included.\n * Executes fast and efficient DELETE query.\n * Does not check if entity exist in the database.\n */\n static delete<T extends BaseEntity>(this: ObjectType<T>, criteria: string|string[]|number|number[]|Date|Date[]|ObjectID|ObjectID[]|FindConditions<T>, options?: RemoveOptions): Promise<DeleteResult> {\n return (this as any).getRepository().delete(criteria, options);\n }\n\n /**\n * Counts entities that match given options.\n */\n static count<T extends BaseEntity>(this: ObjectType<T>, options?: FindManyOptions<T>): Promise<number>;\n\n /**\n * Counts entities that match given conditions.\n */\n static count<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>): Promise<number>;\n\n /**\n * Counts entities that match given find options or conditions.\n */\n static count<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<number> {\n return (this as any).getRepository().count(optionsOrConditions as any);\n }\n\n /**\n * Finds entities that match given options.\n */\n static find<T extends BaseEntity>(this: ObjectType<T>, options?: FindManyOptions<T>): Promise<T[]>;\n\n /**\n * Finds entities that match given conditions.\n */\n static find<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>): Promise<T[]>;\n\n /**\n * Finds entities that match given find options or conditions.\n */\n static find<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<T[]> {\n return (this as any).getRepository().find(optionsOrConditions as any);\n }\n\n /**\n * Finds entities that match given find options.\n * Also counts all entities that match given conditions,\n * but ignores pagination settings (from and take options).\n */\n static findAndCount<T extends BaseEntity>(this: ObjectType<T>, options?: FindManyOptions<T>): Promise<[ T[], number ]>;\n\n /**\n * Finds entities that match given conditions.\n * Also counts all entities that match given conditions,\n * but ignores pagination settings (from and take options).\n */\n static findAndCount<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>): Promise<[ T[], number ]>;\n\n /**\n * Finds entities that match given find options or conditions.\n * Also counts all entities that match given conditions,\n * but ignores pagination settings (from and take options).\n */\n static findAndCount<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<[ T[], number ]> {\n return (this as any).getRepository().findAndCount(optionsOrConditions as any);\n }\n\n /**\n * Finds entities by ids.\n * Optionally find options can be applied.\n */\n static findByIds<T extends BaseEntity>(this: ObjectType<T>, ids: any[], options?: FindManyOptions<T>): Promise<T[]>;\n\n /**\n * Finds entities by ids.\n * Optionally conditions can be applied.\n */\n static findByIds<T extends BaseEntity>(this: ObjectType<T>, ids: any[], conditions?: FindConditions<T>): Promise<T[]>;\n\n /**\n * Finds entities by ids.\n * Optionally find options can be applied.\n */\n static findByIds<T extends BaseEntity>(this: ObjectType<T>, ids: any[], optionsOrConditions?: FindManyOptions<T>|FindConditions<T>): Promise<T[]> {\n return (this as any).getRepository().findByIds(ids, optionsOrConditions as any);\n }\n\n /**\n * Finds first entity that matches given options.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, id?: string|number|Date|ObjectID, options?: FindOneOptions<T>): Promise<T|undefined>;\n\n /**\n * Finds first entity that matches given options.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, options?: FindOneOptions<T>): Promise<T|undefined>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>, options?: FindOneOptions<T>): Promise<T|undefined>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOne<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: string|number|Date|ObjectID|FindOneOptions<T>|FindConditions<T>, maybeOptions?: FindOneOptions<T>): Promise<T|undefined> {\n return (this as any).getRepository().findOne(optionsOrConditions as any, maybeOptions);\n }\n\n /**\n * Finds first entity that matches given options.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, id?: string|number|Date|ObjectID, options?: FindOneOptions<T>): Promise<T>;\n\n /**\n * Finds first entity that matches given options.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, options?: FindOneOptions<T>): Promise<T>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, conditions?: FindConditions<T>, options?: FindOneOptions<T>): Promise<T>;\n\n /**\n * Finds first entity that matches given conditions.\n */\n static findOneOrFail<T extends BaseEntity>(this: ObjectType<T>, optionsOrConditions?: string|number|Date|ObjectID|FindOneOptions<T>|FindConditions<T>, maybeOptions?: FindOneOptions<T>): Promise<T> {\n return (this as any).getRepository().findOneOrFail(optionsOrConditions as any, maybeOptions);\n }\n\n /**\n * Executes a raw SQL query and returns a raw database results.\n * Raw query execution is supported only by relational databases (MongoDB is not supported).\n */\n static query<T extends BaseEntity>(this: ObjectType<T>, query: string, parameters?: any[]): Promise<any> {\n return (this as any).getRepository().query(query, parameters);\n }\n\n /**\n * Clears all the data from the given table/collection (truncates/drops it).\n */\n static clear<T extends BaseEntity>(this: ObjectType<T>, ): Promise<void> {\n return (this as any).getRepository().clear();\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -8,7 +8,7 @@ var TypeORMError_1 = require("../error/TypeORMError");
|
|
|
8
8
|
* Repository used to manage mongodb documents of a single entity type.
|
|
9
9
|
*/
|
|
10
10
|
var MongoRepository = /** @class */ (function (_super) {
|
|
11
|
-
tslib_1.__extends(MongoRepository, _super);
|
|
11
|
+
(0, tslib_1.__extends)(MongoRepository, _super);
|
|
12
12
|
function MongoRepository() {
|
|
13
13
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
14
14
|
}
|