typeorm 0.2.27 → 0.2.31
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 +9 -4
- package/browser/common/EntityFieldsNames.d.ts +6 -0
- package/browser/common/EntityFieldsNames.js +3 -0
- package/browser/common/EntityFieldsNames.js.map +1 -0
- package/browser/connection/Connection.d.ts +2 -2
- package/browser/connection/Connection.js +2 -2
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
- package/browser/connection/ConnectionOptionsReader.js +30 -30
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +9 -2
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.js +1 -1
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +10 -0
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +6 -6
- package/browser/decorator/relations/ManyToOne.js +5 -5
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +3 -2
- package/browser/decorator/relations/OneToMany.js +4 -3
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/transaction/Transaction.d.ts +1 -1
- package/browser/decorator/transaction/Transaction.js +2 -2
- package/browser/decorator/transaction/Transaction.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +2 -1
- package/browser/decorator/tree/Tree.js +3 -2
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.js +20 -12
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +0 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +2 -3
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +2 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +57 -9
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +1 -2
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +3 -3
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -11
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +3 -3
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +112 -42
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +72 -14
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +7 -3
- package/browser/driver/mongodb/MongoDriver.js +19 -14
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.js +4 -4
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/browser/driver/mysql/MysqlQueryRunner.js +117 -42
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +4 -0
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.js +3 -0
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +52 -6
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +1 -1
- package/browser/driver/postgres/PostgresDriver.js +11 -8
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +8 -0
- package/browser/driver/postgres/PostgresQueryRunner.js +154 -60
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +1 -2
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +56 -8
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +4 -0
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -7
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +140 -67
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/entity-manager/EntityManager.d.ts +13 -13
- package/browser/entity-manager/EntityManager.js +5 -16
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +1 -1
- package/browser/entity-manager/MongoEntityManager.js +15 -4
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/error/index.d.ts +61 -0
- package/browser/error/index.js +63 -0
- package/browser/error/index.js.map +1 -0
- package/browser/find-options/FindOneOptions.d.ts +6 -1
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.d.ts +25 -6
- package/browser/find-options/FindOperator.js +32 -6
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.d.ts +2 -2
- package/browser/find-options/FindOptionsUtils.js +5 -1
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/operator/ILike.d.ts +6 -0
- package/browser/find-options/operator/ILike.js +10 -0
- package/browser/find-options/operator/ILike.js.map +1 -0
- package/browser/find-options/operator/Raw.d.ts +14 -2
- package/browser/find-options/operator/Raw.js +5 -6
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/index.d.ts +3 -1
- package/browser/index.js +2 -23
- package/browser/index.js.map +1 -1
- package/browser/logger/Logger.d.ts +1 -1
- package/browser/logger/Logger.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +16 -3
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +5 -0
- package/browser/metadata/EntityMetadata.js +1 -0
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +15 -0
- package/browser/metadata/RelationMetadata.js +18 -2
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/browser/metadata/types/ClosureTreeOptions.js +3 -0
- package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/browser/metadata/types/EventListenerTypes.d.ts +7 -7
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -3
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +19 -9
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +8 -5
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +5 -5
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +55 -52
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.d.ts +4 -4
- package/browser/persistence/Subject.js +6 -5
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +9 -5
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +9 -4
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js +5 -5
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/query-builder/Alias.d.ts +3 -4
- package/browser/query-builder/Alias.js +3 -3
- package/browser/query-builder/DeleteQueryBuilder.js +2 -1
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +6 -0
- package/browser/query-builder/InsertQueryBuilder.js +62 -13
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.d.ts +10 -10
- package/browser/query-builder/JoinAttribute.js +10 -10
- package/browser/query-builder/QueryBuilder.d.ts +8 -1
- package/browser/query-builder/QueryBuilder.js +168 -33
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +6 -2
- package/browser/query-builder/QueryExpressionMap.js +3 -2
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/RelationLoader.js +1 -1
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +5 -0
- package/browser/query-builder/SelectQueryBuilder.js +98 -56
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +2 -1
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -3
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +1 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.d.ts +2 -2
- package/browser/repository/AbstractRepository.js +2 -2
- package/browser/repository/BaseEntity.d.ts +1 -1
- package/browser/repository/BaseEntity.js +1 -1
- package/browser/repository/Repository.d.ts +4 -4
- 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 -2
- package/browser/schema-builder/RdbmsSchemaBuilder.js +4 -3
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +1 -1
- package/browser/schema-builder/table/Table.js +1 -1
- package/browser/subscriber/Broadcaster.d.ts +24 -0
- package/browser/subscriber/Broadcaster.js +120 -0
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +27 -0
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
- package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionStartEvent.js +3 -0
- package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/browser/util/DateUtils.d.ts +1 -1
- package/browser/util/DateUtils.js +1 -7
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +0 -1
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.js +0 -1
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/RedisQueryResultCache.js +0 -1
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli.js +2 -2
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.js +0 -1
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.js +0 -1
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +5 -3
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +1 -2
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +6 -0
- package/commands/MigrationCreateCommand.js +22 -5
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +6 -0
- package/commands/MigrationGenerateCommand.js +44 -31
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +0 -1
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +0 -1
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +0 -1
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +2 -0
- package/commands/QueryCommand.js +16 -7
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +0 -1
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +0 -1
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +0 -1
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +5 -3
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +0 -1
- package/commands/VersionCommand.js.map +1 -1
- package/common/EntityFieldsNames.d.ts +6 -0
- package/common/EntityFieldsNames.js +4 -0
- package/common/EntityFieldsNames.js.map +1 -0
- package/connection/Connection.d.ts +2 -2
- package/connection/Connection.js +2 -3
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionManager.js +0 -1
- package/connection/ConnectionManager.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.js +0 -1
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.d.ts +3 -3
- package/connection/ConnectionOptionsReader.js +30 -31
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -2
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsXmlReader.js +0 -1
- package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js +0 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/container.js +0 -1
- package/container.js.map +1 -1
- package/decorator/Check.js +0 -1
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.js +0 -1
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.js +0 -1
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.js +0 -1
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.js +0 -1
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.js +0 -1
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.js +0 -1
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.js +0 -1
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.js +0 -1
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.js +0 -1
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +9 -2
- package/decorator/columns/PrimaryColumn.js +0 -1
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.js +0 -1
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.js +0 -1
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.js +0 -1
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.js +0 -1
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.js +1 -2
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.js +0 -1
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.js +0 -1
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.js +0 -1
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.js +0 -1
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.js +0 -1
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRemove.js +0 -1
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.js +0 -1
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.js +0 -1
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRemove.js +0 -1
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.js +0 -1
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.js +0 -1
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +10 -0
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.js +0 -1
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.js +0 -1
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.js +0 -1
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +6 -6
- package/decorator/relations/ManyToOne.js +5 -6
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +3 -2
- package/decorator/relations/OneToMany.js +4 -4
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.js +0 -1
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.js +0 -1
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.js +0 -1
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/transaction/Transaction.d.ts +1 -1
- package/decorator/transaction/Transaction.js +2 -3
- package/decorator/transaction/Transaction.js.map +1 -1
- package/decorator/transaction/TransactionManager.js +0 -1
- package/decorator/transaction/TransactionManager.js.map +1 -1
- package/decorator/transaction/TransactionRepository.js +0 -1
- package/decorator/transaction/TransactionRepository.js.map +1 -1
- package/decorator/tree/Tree.d.ts +2 -1
- package/decorator/tree/Tree.js +3 -3
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.js +0 -1
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.js +0 -1
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.js +0 -1
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/DriverFactory.js +0 -1
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.js +19 -12
- package/driver/DriverUtils.js.map +1 -1
- package/driver/Query.js +0 -1
- package/driver/Query.js.map +1 -1
- package/driver/SqlInMemory.js +0 -1
- package/driver/SqlInMemory.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +0 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.js +2 -4
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +2 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +57 -10
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +1 -2
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +3 -4
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -12
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +0 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +3 -4
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
- package/driver/cockroachdb/CockroachQueryRunner.js +112 -43
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +0 -1
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +0 -1
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js +0 -1
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +72 -15
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +7 -3
- package/driver/mongodb/MongoDriver.js +19 -15
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/driver/mongodb/MongoQueryRunner.js +0 -1
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlDriver.js +4 -5
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/driver/mysql/MysqlQueryRunner.js +117 -43
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js +0 -1
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js +0 -1
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +4 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.js +3 -1
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +52 -7
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +1 -1
- package/driver/postgres/PostgresDriver.js +11 -9
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +8 -0
- package/driver/postgres/PostgresQueryRunner.js +155 -61
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +1 -3
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +0 -1
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.js +0 -1
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +56 -9
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +0 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +4 -1
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +0 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -8
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +0 -1
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +0 -1
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.js +0 -1
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.js +0 -1
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +140 -68
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +13 -13
- package/entity-manager/EntityManager.js +5 -17
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.js +0 -1
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +1 -1
- package/entity-manager/MongoEntityManager.js +15 -5
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.js +0 -1
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchema.js +0 -1
- package/entity-schema/EntitySchema.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.js +0 -1
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +0 -1
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js +0 -1
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js +0 -1
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.js +0 -1
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.js +0 -1
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js +0 -1
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.js +0 -1
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js +0 -1
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js +0 -1
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js +0 -1
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js +0 -1
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js +0 -1
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js +0 -1
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js +0 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js +0 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.js +0 -1
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.js +0 -1
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js +0 -1
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js +0 -1
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityColumnNotFound.js +0 -1
- package/error/EntityColumnNotFound.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js +0 -1
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js +0 -1
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +0 -1
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/InitializedRelationError.js +0 -1
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.js +0 -1
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.js +0 -1
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js +0 -1
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.js +0 -1
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js +0 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.js +0 -1
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js +0 -1
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.js +0 -1
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js +0 -1
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.js +0 -1
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js +0 -1
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.js +0 -1
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.js +0 -1
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js +0 -1
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js +0 -1
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js +0 -1
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js +0 -1
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js +0 -1
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js +0 -1
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.js +0 -1
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.js +0 -1
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js +0 -1
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.js +0 -1
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js +0 -1
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js +0 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotFoundError.js +0 -1
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.js +0 -1
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.js +0 -1
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.js +0 -1
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.js +0 -1
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.js +0 -1
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.js +0 -1
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.js +0 -1
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/UpdateValuesMissingError.js +0 -1
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js +0 -1
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +0 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js +0 -1
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +0 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.d.ts +61 -0
- package/error/index.js +66 -0
- package/error/index.js.map +1 -0
- package/find-options/FindOneOptions.d.ts +6 -1
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.d.ts +25 -6
- package/find-options/FindOperator.js +32 -7
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsUtils.d.ts +2 -2
- package/find-options/FindOptionsUtils.js +5 -2
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/operator/Any.js +0 -1
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/Between.js +0 -1
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.js +0 -1
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.d.ts +6 -0
- package/find-options/operator/ILike.js +13 -0
- package/find-options/operator/ILike.js.map +1 -0
- package/find-options/operator/In.js +0 -1
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.js +0 -1
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/LessThan.js +0 -1
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.js +0 -1
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.js +0 -1
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.js +0 -1
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.js +0 -1
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.js +0 -1
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Raw.d.ts +14 -2
- package/find-options/operator/Raw.js +5 -7
- package/find-options/operator/Raw.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +20 -42
- package/index.js.map +1 -1
- package/logger/AdvancedConsoleLogger.js +0 -1
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.js +0 -1
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.js +0 -1
- package/logger/FileLogger.js.map +1 -1
- package/logger/Logger.d.ts +1 -1
- package/logger/Logger.js.map +1 -1
- package/logger/LoggerFactory.js +0 -1
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/SimpleConsoleLogger.js +0 -1
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.js +0 -1
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.js +16 -4
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.js +0 -1
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.js +0 -1
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +5 -0
- package/metadata/EntityMetadata.js +1 -1
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.js +0 -1
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.js +0 -1
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.js +0 -1
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationCountMetadata.js +0 -1
- package/metadata/RelationCountMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.js +0 -1
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +15 -0
- package/metadata/RelationMetadata.js +18 -3
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.js +0 -1
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/metadata/types/ClosureTreeOptions.js +4 -0
- package/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/metadata/types/EventListenerTypes.d.ts +7 -7
- package/metadata/types/EventListenerTypes.js +0 -1
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.js +0 -1
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -4
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +19 -10
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +8 -6
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +2 -3
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.js +0 -1
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
- package/metadata-builder/RelationJoinColumnBuilder.js +5 -6
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/Migration.js +0 -1
- package/migration/Migration.js.map +1 -1
- package/migration/MigrationExecutor.js +0 -1
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.js +0 -1
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/package.json +7 -5
- package/persistence/EntityPersistExecutor.js +55 -53
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.d.ts +4 -4
- package/persistence/Subject.js +6 -6
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js +0 -1
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +0 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js +9 -6
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopoligicalSorter.js +0 -1
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js +0 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +0 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +9 -5
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +0 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
- package/persistence/tree/ClosureSubjectExecutor.js +5 -6
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +0 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.js +0 -1
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.js +4 -5
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.d.ts +3 -4
- package/query-builder/Alias.js +3 -4
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.js +0 -1
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js +2 -2
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +6 -0
- package/query-builder/InsertQueryBuilder.js +62 -14
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.d.ts +10 -10
- package/query-builder/JoinAttribute.js +10 -11
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +8 -1
- package/query-builder/QueryBuilder.js +167 -33
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderUtils.js +0 -1
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +6 -2
- package/query-builder/QueryExpressionMap.js +3 -3
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/RelationIdLoader.js +0 -1
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.js +1 -2
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.js +0 -1
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js +0 -1
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js +0 -1
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.js +0 -1
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +5 -0
- package/query-builder/SelectQueryBuilder.js +98 -57
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +0 -1
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +2 -2
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/query-builder/relation-count/RelationCountAttribute.js +7 -8
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.js +0 -1
- package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/query-builder/relation-id/RelationIdAttribute.js +8 -9
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js +0 -1
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +0 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/result/DeleteResult.js +0 -1
- package/query-builder/result/DeleteResult.js.map +1 -1
- package/query-builder/result/InsertResult.js +0 -1
- package/query-builder/result/InsertResult.js.map +1 -1
- package/query-builder/result/UpdateResult.js +0 -1
- package/query-builder/result/UpdateResult.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.js +0 -1
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -4
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +0 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -4
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.js +0 -1
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +1 -1
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/AbstractRepository.d.ts +2 -2
- package/repository/AbstractRepository.js +2 -3
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +1 -1
- package/repository/BaseEntity.js +1 -2
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.js +0 -1
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +4 -4
- package/repository/Repository.js +1 -2
- package/repository/Repository.js.map +1 -1
- package/repository/RepositoryFactory.js +0 -1
- package/repository/RepositoryFactory.js.map +1 -1
- package/repository/TreeRepository.js +2 -3
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.js +0 -1
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
- package/schema-builder/RdbmsSchemaBuilder.js +4 -4
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +1 -1
- package/schema-builder/table/Table.js +1 -2
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.js +0 -1
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.js +0 -1
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.js +0 -1
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.js +0 -1
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.js +0 -1
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.js +0 -1
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.js +0 -1
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/schema-builder/view/View.js +0 -1
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +24 -0
- package/subscriber/Broadcaster.js +120 -1
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js +0 -1
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +27 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/subscriber/event/TransactionCommitEvent.js +4 -0
- package/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/subscriber/event/TransactionRollbackEvent.js +4 -0
- package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/subscriber/event/TransactionStartEvent.js +4 -0
- package/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/typeorm-model-shim.js +145 -128
- package/util/ApplyValueTransformers.js +0 -1
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.d.ts +1 -1
- package/util/DateUtils.js +1 -8
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +0 -1
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +0 -1
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ObjectUtils.js +0 -1
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.js +0 -1
- package/util/OrmUtils.js.map +1 -1
- package/util/RandomGenerator.js +0 -1
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.js +0 -1
- package/util/StringUtils.js.map +1 -1
- package/util/VersionUtils.js +0 -1
- package/util/VersionUtils.js.map +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ObjectType, RelationOptions } from "../../";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* Entity2
|
|
3
|
+
* A one-to-many relation allows creating the type of relation where Entity1 can have multiple instances of Entity2,
|
|
4
|
+
* but Entity2 has only one Entity1. Entity2 is the owner of the relationship, and stores the id of Entity1 on its
|
|
5
|
+
* side of the relation.
|
|
5
6
|
*/
|
|
6
7
|
export declare function OneToMany<T>(typeFunctionOrTarget: string | ((type?: any) => ObjectType<T>), inverseSide: string | ((object: T) => any), options?: RelationOptions): PropertyDecorator;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { getMetadataArgsStorage } from "../../";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* Entity2
|
|
3
|
+
* A one-to-many relation allows creating the type of relation where Entity1 can have multiple instances of Entity2,
|
|
4
|
+
* but Entity2 has only one Entity1. Entity2 is the owner of the relationship, and stores the id of Entity1 on its
|
|
5
|
+
* side of the relation.
|
|
5
6
|
*/
|
|
6
7
|
export function OneToMany(typeFunctionOrTarget, inverseSide, options) {
|
|
7
8
|
return function (object, propertyName) {
|
|
8
9
|
if (!options)
|
|
9
10
|
options = {};
|
|
10
|
-
//
|
|
11
|
+
// Now try to determine if it is a lazy relation.
|
|
11
12
|
var isLazy = options && options.lazy === true ? true : false;
|
|
12
13
|
if (!isLazy && Reflect && Reflect.getMetadata) { // automatic determination
|
|
13
14
|
var reflectedType = Reflect.getMetadata("design:type", object, propertyName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/decorator/relations/OneToMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAA8B,MAAM,QAAQ,CAAC;AAG3E
|
|
1
|
+
{"version":3,"sources":["../browser/src/decorator/relations/OneToMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAA8B,MAAM,QAAQ,CAAC;AAG3E;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAI,oBAA4D,EAAE,WAAwC,EAAE,OAAyB;IAC1J,OAAO,UAAU,MAAc,EAAE,YAAoB;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAqB,CAAC;QAE9C,iDAAiD;QACjD,IAAI,MAAM,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,MAAM,IAAI,OAAO,IAAK,OAAe,CAAC,WAAW,EAAE,EAAE,0BAA0B;YAChF,IAAM,aAAa,GAAI,OAAe,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACxF,IAAI,aAAa,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS;gBACzG,MAAM,GAAG,IAAI,CAAC;SACrB;QAED,sBAAsB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YACpC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,+BAA+B;YAC/B,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,oBAAoB;YAC1B,mBAAmB,EAAE,WAAW;YAChC,OAAO,EAAE,OAAO;SACK,CAAC,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC","file":"OneToMany.js","sourcesContent":["import {getMetadataArgsStorage, ObjectType, RelationOptions} from \"../../\";\nimport {RelationMetadataArgs} from \"../../metadata-args/RelationMetadataArgs\";\n\n/**\n * A one-to-many relation allows creating the type of relation where Entity1 can have multiple instances of Entity2,\n * but Entity2 has only one Entity1. Entity2 is the owner of the relationship, and stores the id of Entity1 on its\n * side of the relation.\n */\nexport function OneToMany<T>(typeFunctionOrTarget: string|((type?: any) => ObjectType<T>), inverseSide: string|((object: T) => any), options?: RelationOptions): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n if (!options) options = {} as RelationOptions;\n\n // Now try to determine if it is a lazy relation.\n let isLazy = options && options.lazy === true ? true : false;\n if (!isLazy && Reflect && (Reflect as any).getMetadata) { // automatic determination\n const reflectedType = (Reflect as any).getMetadata(\"design:type\", object, propertyName);\n if (reflectedType && typeof reflectedType.name === \"string\" && reflectedType.name.toLowerCase() === \"promise\")\n isLazy = true;\n }\n\n getMetadataArgsStorage().relations.push({\n target: object.constructor,\n propertyName: propertyName,\n // propertyType: reflectedType,\n isLazy: isLazy,\n relationType: \"one-to-many\",\n type: typeFunctionOrTarget,\n inverseSideProperty: inverseSide,\n options: options\n } as RelationMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -7,7 +7,7 @@ import { TransactionOptions } from "../options/TransactionOptions";
|
|
|
7
7
|
* as a first parameter into the wrapped method.
|
|
8
8
|
*
|
|
9
9
|
* If you want to control at what position in your method parameters entity manager should be injected,
|
|
10
|
-
* then use @
|
|
10
|
+
* then use @TransactionManager() decorator.
|
|
11
11
|
*
|
|
12
12
|
* If you want to use repositories instead of bare entity manager,
|
|
13
13
|
* then use @TransactionRepository() decorator.
|
|
@@ -28,14 +28,14 @@ export function Transaction(connectionOrOptions) {
|
|
|
28
28
|
}
|
|
29
29
|
var transactionCallback = function (entityManager) {
|
|
30
30
|
var argsWithInjectedTransactionManagerAndRepositories;
|
|
31
|
-
// filter all @
|
|
31
|
+
// filter all @TransactionManager() and @TransactionRepository() decorator usages for this method
|
|
32
32
|
var transactionEntityManagerMetadatas = getMetadataArgsStorage()
|
|
33
33
|
.filterTransactionEntityManagers(target.constructor, methodName)
|
|
34
34
|
.reverse();
|
|
35
35
|
var transactionRepositoryMetadatas = getMetadataArgsStorage()
|
|
36
36
|
.filterTransactionRepository(target.constructor, methodName)
|
|
37
37
|
.reverse();
|
|
38
|
-
// if there are @
|
|
38
|
+
// if there are @TransactionManager() decorator usages the inject them
|
|
39
39
|
if (transactionEntityManagerMetadatas.length > 0) {
|
|
40
40
|
argsWithInjectedTransactionManagerAndRepositories = __spread(args);
|
|
41
41
|
// replace method params with injection of transactionEntityManager
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/decorator/transaction/Transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAgB,MAAM,QAAQ,CAAC;AAmBzH,MAAM,UAAU,WAAW,CAAC,mBAAiD;IACzE,OAAO,UAAU,MAAc,EAAE,UAAkB,EAAE,UAA8B;QAE/E,0CAA0C;QAC1C,IAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,+CAA+C;QAC/C,UAAU,CAAC,KAAK,GAAG;YAAA,iBAyElB;YAzE2B,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YACtC,IAAI,cAAc,GAAG,SAAS,CAAC;YAC/B,IAAI,cAAc,GAA+B,SAAS,CAAC;YAC3D,IAAI,mBAAmB,EAAE;gBACrB,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;oBACzC,cAAc,GAAG,mBAAmB,CAAC;iBACxC;qBAAM;oBACH,IAAI,mBAAmB,CAAC,cAAc,EAAE;wBACpC,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC;qBACvD;oBACD,IAAI,mBAAmB,CAAC,SAAS,EAAE;wBAC/B,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC;qBAClD;iBACJ;aACJ;YAED,IAAM,mBAAmB,GAAG,UAAC,aAA4B;gBACrD,IAAI,iDAAwD,CAAC;gBAE7D,
|
|
1
|
+
{"version":3,"sources":["../browser/src/decorator/transaction/Transaction.ts"],"names":[],"mappings":"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","file":"Transaction.js","sourcesContent":["import {getConnection, getMetadataArgsStorage, MongoRepository, Repository, TreeRepository, EntityManager} from \"../../\";\nimport {TransactionOptions} from \"../options/TransactionOptions\";\nimport {IsolationLevel} from \"../../driver/types/IsolationLevel\";\n\n/**\n * Wraps some method into the transaction.\n *\n * Method result will return a promise if this decorator applied.\n * All database operations in the wrapped method should be executed using entity managed passed\n * as a first parameter into the wrapped method.\n *\n * If you want to control at what position in your method parameters entity manager should be injected,\n * then use @TransactionManager() decorator.\n *\n * If you want to use repositories instead of bare entity manager,\n * then use @TransactionRepository() decorator.\n */\nexport function Transaction(connectionName?: string): MethodDecorator;\nexport function Transaction(options?: TransactionOptions): MethodDecorator;\nexport function Transaction(connectionOrOptions?: string | TransactionOptions): MethodDecorator {\n return function (target: Object, methodName: string, descriptor: PropertyDescriptor) {\n\n // save original method - we gonna need it\n const originalMethod = descriptor.value;\n\n // override method descriptor with proxy method\n descriptor.value = function(...args: any[]) {\n let connectionName = \"default\";\n let isolationLevel: IsolationLevel | undefined = undefined;\n if (connectionOrOptions) {\n if (typeof connectionOrOptions === \"string\") {\n connectionName = connectionOrOptions;\n } else {\n if (connectionOrOptions.connectionName) {\n connectionName = connectionOrOptions.connectionName;\n }\n if (connectionOrOptions.isolation) {\n isolationLevel = connectionOrOptions.isolation;\n }\n }\n }\n\n const transactionCallback = (entityManager: EntityManager) => {\n let argsWithInjectedTransactionManagerAndRepositories: any[];\n\n // filter all @TransactionManager() and @TransactionRepository() decorator usages for this method\n const transactionEntityManagerMetadatas = getMetadataArgsStorage()\n .filterTransactionEntityManagers(target.constructor, methodName)\n .reverse();\n const transactionRepositoryMetadatas = getMetadataArgsStorage()\n .filterTransactionRepository(target.constructor, methodName)\n .reverse();\n\n // if there are @TransactionManager() decorator usages the inject them\n if (transactionEntityManagerMetadatas.length > 0) {\n argsWithInjectedTransactionManagerAndRepositories = [...args];\n // replace method params with injection of transactionEntityManager\n transactionEntityManagerMetadatas.forEach(metadata => {\n argsWithInjectedTransactionManagerAndRepositories.splice(metadata.index, 0, entityManager);\n });\n\n } else if (transactionRepositoryMetadatas.length === 0) { // otherwise if there's no transaction repositories in use, inject it as a first parameter\n argsWithInjectedTransactionManagerAndRepositories = [entityManager, ...args];\n\n } else {\n argsWithInjectedTransactionManagerAndRepositories = [...args];\n }\n\n // for every usage of @TransactionRepository decorator\n transactionRepositoryMetadatas.forEach(metadata => {\n let repositoryInstance: any;\n\n // detect type of the repository and get instance from transaction entity manager\n switch (metadata.repositoryType) {\n case Repository:\n repositoryInstance = entityManager.getRepository(metadata.entityType!);\n break;\n case MongoRepository:\n repositoryInstance = entityManager.getMongoRepository(metadata.entityType!);\n break;\n case TreeRepository:\n repositoryInstance = entityManager.getTreeRepository(metadata.entityType!);\n break;\n // if not the TypeORM's ones, there must be custom repository classes\n default:\n repositoryInstance = entityManager.getCustomRepository(metadata.repositoryType);\n }\n\n // replace method param with injection of repository instance\n argsWithInjectedTransactionManagerAndRepositories.splice(metadata.index, 0, repositoryInstance);\n });\n\n return originalMethod.apply(this, argsWithInjectedTransactionManagerAndRepositories);\n };\n if (isolationLevel) {\n return getConnection(connectionName).manager.transaction(isolationLevel, transactionCallback);\n } else {\n return getConnection(connectionName).manager.transaction(transactionCallback);\n }\n };\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TreeType } from "../../metadata/types/TreeTypes";
|
|
2
|
+
import { ClosureTreeOptions } from "../../metadata/types/ClosureTreeOptions";
|
|
2
3
|
/**
|
|
3
4
|
* Marks entity to work like a tree.
|
|
4
5
|
* Tree pattern that will be used for the tree entity should be specified.
|
|
5
6
|
* @TreeParent decorator must be used in tree entities.
|
|
6
7
|
* TreeRepository can be used to manipulate with tree entities.
|
|
7
8
|
*/
|
|
8
|
-
export declare function Tree(type: TreeType): ClassDecorator;
|
|
9
|
+
export declare function Tree(type: TreeType, options?: ClosureTreeOptions): ClassDecorator;
|
|
@@ -5,11 +5,12 @@ import { getMetadataArgsStorage } from "../../";
|
|
|
5
5
|
* @TreeParent decorator must be used in tree entities.
|
|
6
6
|
* TreeRepository can be used to manipulate with tree entities.
|
|
7
7
|
*/
|
|
8
|
-
export function Tree(type) {
|
|
8
|
+
export function Tree(type, options) {
|
|
9
9
|
return function (target) {
|
|
10
10
|
getMetadataArgsStorage().trees.push({
|
|
11
11
|
target: target,
|
|
12
|
-
type: type
|
|
12
|
+
type: type,
|
|
13
|
+
options: type === "closure-table" ? options : undefined
|
|
13
14
|
});
|
|
14
15
|
};
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/decorator/tree/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"sources":["../browser/src/decorator/tree/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,QAAQ,CAAC;AAK9C;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,IAAc,EAAE,OAA4B;IAC7D,OAAO,UAAU,MAAgB;QAE7B,sBAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACtC,CAAC,CAAC;IAC3B,CAAC,CAAC;AACN,CAAC","file":"Tree.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../\";\nimport {TreeMetadataArgs} from \"../../metadata-args/TreeMetadataArgs\";\nimport {TreeType} from \"../../metadata/types/TreeTypes\";\nimport {ClosureTreeOptions} from \"../../metadata/types/ClosureTreeOptions\";\n\n/**\n * Marks entity to work like a tree.\n * Tree pattern that will be used for the tree entity should be specified.\n * @TreeParent decorator must be used in tree entities.\n * TreeRepository can be used to manipulate with tree entities.\n */\nexport function Tree(type: TreeType, options?: ClosureTreeOptions): ClassDecorator {\n return function (target: Function) {\n\n getMetadataArgsStorage().trees.push({\n target: target,\n type: type,\n options: type === \"closure-table\" ? options : undefined\n } as TreeMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/DriverFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAC,2BAA2B,EAAC,MAAM,kDAAkD,CAAC;AAG7F,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AAEzE;;GAEG;AACH;IAAA;IA+CA,CAAC;IA7CG;;OAEG;IACH,8BAAM,GAAN,UAAO,UAAsB;QAClB,IAAA,
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/DriverFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAC,2BAA2B,EAAC,MAAM,kDAAkD,CAAC;AAG7F,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AAEzE;;GAEG;AACH;IAAA;IA+CA,CAAC;IA7CG;;OAEG;IACH,8BAAM,GAAN,UAAO,UAAsB;QAClB,IAAA,8BAAI,CAAuB;QAClC,QAAQ,IAAI,EAAE;YACV,KAAK,OAAO;gBACR,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,KAAK,UAAU;gBACX,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1C,KAAK,aAAa;gBACd,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC3C,KAAK,KAAK;gBACN,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;YACrC,KAAK,SAAS;gBACV,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,KAAK,QAAQ;gBACT,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;YACxC,KAAK,gBAAgB;gBACjB,OAAO,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,KAAK,SAAS;gBACV,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;YACzC,KAAK,cAAc;gBACf,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC9C,KAAK,cAAc;gBACf,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC7C,KAAK,OAAO;gBACR,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,KAAK,QAAQ;gBACT,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;YACxC,KAAK,OAAO;gBACR,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC3C,KAAK,SAAS;gBACV,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,KAAK,MAAM;gBACP,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,KAAK,iBAAiB;gBAClB,OAAO,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,KAAK,oBAAoB;gBACrB,OAAO,IAAI,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACvD;gBACI,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC1C;IACL,CAAC;IAEL,oBAAC;AAAD,CA/CA,AA+CC,IAAA","file":"DriverFactory.js","sourcesContent":["import {MissingDriverError} from \"../error/MissingDriverError\";\nimport {CockroachDriver} from \"./cockroachdb/CockroachDriver\";\nimport {MongoDriver} from \"./mongodb/MongoDriver\";\nimport {SqlServerDriver} from \"./sqlserver/SqlServerDriver\";\nimport {OracleDriver} from \"./oracle/OracleDriver\";\nimport {SqliteDriver} from \"./sqlite/SqliteDriver\";\nimport {CordovaDriver} from \"./cordova/CordovaDriver\";\nimport {ReactNativeDriver} from \"./react-native/ReactNativeDriver\";\nimport {NativescriptDriver} from \"./nativescript/NativescriptDriver\";\nimport {SqljsDriver} from \"./sqljs/SqljsDriver\";\nimport {MysqlDriver} from \"./mysql/MysqlDriver\";\nimport {PostgresDriver} from \"./postgres/PostgresDriver\";\nimport {ExpoDriver} from \"./expo/ExpoDriver\";\nimport {AuroraDataApiDriver} from \"./aurora-data-api/AuroraDataApiDriver\";\nimport {AuroraDataApiPostgresDriver} from \"./aurora-data-api-pg/AuroraDataApiPostgresDriver\";\nimport {Driver} from \"./Driver\";\nimport {Connection} from \"../connection/Connection\";\nimport {SapDriver} from \"./sap/SapDriver\";\nimport {BetterSqlite3Driver} from \"./better-sqlite3/BetterSqlite3Driver\";\n\n/**\n * Helps to create drivers.\n */\nexport class DriverFactory {\n\n /**\n * Creates a new driver depend on a given connection's driver type.\n */\n create(connection: Connection): Driver {\n const {type} = connection.options;\n switch (type) {\n case \"mysql\":\n return new MysqlDriver(connection);\n case \"postgres\":\n return new PostgresDriver(connection);\n case \"cockroachdb\":\n return new CockroachDriver(connection);\n case \"sap\":\n return new SapDriver(connection);\n case \"mariadb\":\n return new MysqlDriver(connection);\n case \"sqlite\":\n return new SqliteDriver(connection);\n case \"better-sqlite3\":\n return new BetterSqlite3Driver(connection);\n case \"cordova\":\n return new CordovaDriver(connection);\n case \"nativescript\":\n return new NativescriptDriver(connection);\n case \"react-native\":\n return new ReactNativeDriver(connection);\n case \"sqljs\":\n return new SqljsDriver(connection);\n case \"oracle\":\n return new OracleDriver(connection);\n case \"mssql\":\n return new SqlServerDriver(connection);\n case \"mongodb\":\n return new MongoDriver(connection);\n case \"expo\":\n return new ExpoDriver(connection);\n case \"aurora-data-api\":\n return new AuroraDataApiDriver(connection);\n case \"aurora-data-api-pg\":\n return new AuroraDataApiPostgresDriver(connection);\n default:\n throw new MissingDriverError(type);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __read } from "tslib";
|
|
1
|
+
import { __read, __values } from "tslib";
|
|
2
2
|
import { hash } from "../util/StringUtils";
|
|
3
3
|
/**
|
|
4
4
|
* Common driver utility functions.
|
|
@@ -14,18 +14,26 @@ var DriverUtils = /** @class */ (function () {
|
|
|
14
14
|
* Extracts settings from connection url and sets to a new options object.
|
|
15
15
|
*/
|
|
16
16
|
DriverUtils.buildDriverOptions = function (options, buildOptions) {
|
|
17
|
+
var e_1, _a;
|
|
17
18
|
if (options.url) {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
var urlDriverOptions = this.parseConnectionUrl(options.url);
|
|
20
|
+
if (buildOptions && buildOptions.useSid && urlDriverOptions.database) {
|
|
21
|
+
urlDriverOptions.sid = urlDriverOptions.database;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
for (var _b = __values(Object.keys(urlDriverOptions)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
25
|
+
var key = _c.value;
|
|
26
|
+
if (typeof urlDriverOptions[key] === "undefined") {
|
|
27
|
+
delete urlDriverOptions[key];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
32
|
+
finally {
|
|
33
|
+
try {
|
|
34
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
35
|
+
}
|
|
36
|
+
finally { if (e_1) throw e_1.error; }
|
|
29
37
|
}
|
|
30
38
|
return Object.assign({}, options, urlDriverOptions);
|
|
31
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/DriverUtils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C;;GAEG;AACH;IAAA;IA4FA,CAAC;IA1FG,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAE5E;;;OAGG;IACI,8BAAkB,GAAzB,UAA0B,OAAY,EAAE,YAAkC
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/DriverUtils.ts"],"names":[],"mappings":"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","file":"DriverUtils.js","sourcesContent":["import {Driver} from \"./Driver\";\nimport { hash } from \"../util/StringUtils\";\n\n/**\n * Common driver utility functions.\n */\nexport class DriverUtils {\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Normalizes and builds a new driver options.\n * Extracts settings from connection url and sets to a new options object.\n */\n static buildDriverOptions(options: any, buildOptions?: { useSid: boolean }): any {\n if (options.url) {\n const urlDriverOptions = this.parseConnectionUrl(options.url) as { [key: string]: any };\n\n if (buildOptions && buildOptions.useSid && urlDriverOptions.database) {\n urlDriverOptions.sid = urlDriverOptions.database;\n }\n\n for (const key of Object.keys(urlDriverOptions)) {\n if (typeof urlDriverOptions[key] === \"undefined\") {\n delete urlDriverOptions[key];\n }\n }\n\n return Object.assign({}, options, urlDriverOptions);\n }\n return Object.assign({}, options);\n }\n\n /**\n * Builds column alias from given alias name and column name.\n *\n * If alias length is greater than the limit (if any) allowed by the current\n * driver, replaces it with a hashed string.\n *\n * @param driver Current `Driver`.\n * @param alias Alias part.\n * @param column Name of the column to be concatened to `alias`.\n *\n * @return An alias allowing to select/transform the target `column`.\n */\n static buildColumnAlias({ maxAliasLength }: Driver, alias: string, column: string): string {\n const columnAliasName = alias + \"_\" + column;\n\n if (maxAliasLength && maxAliasLength > 0 && columnAliasName.length > maxAliasLength) {\n return hash(columnAliasName, { length: maxAliasLength });\n }\n\n return columnAliasName;\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Extracts connection data from the connection url.\n */\n private static parseConnectionUrl(url: string) {\n const type = url.split(\":\")[0];\n const firstSlashes = url.indexOf(\"//\");\n const preBase = url.substr(firstSlashes + 2);\n const secondSlash = preBase.indexOf(\"/\");\n const base = (secondSlash !== -1) ? preBase.substr(0, secondSlash) : preBase;\n let afterBase = (secondSlash !== -1) ? preBase.substr(secondSlash + 1) : undefined;\n // remove mongodb query params\n if (afterBase && afterBase.indexOf(\"?\") !== -1) {\n afterBase = afterBase.substr(0, afterBase.indexOf(\"?\"));\n }\n\n const lastAtSign = base.lastIndexOf(\"@\");\n const usernameAndPassword = base.substr(0, lastAtSign);\n const hostAndPort = base.substr(lastAtSign + 1);\n\n let username = usernameAndPassword;\n let password = \"\";\n const firstColon = usernameAndPassword.indexOf(\":\");\n if (firstColon !== -1) {\n username = usernameAndPassword.substr(0, firstColon);\n password = usernameAndPassword.substr(firstColon + 1);\n }\n const [host, port] = hostAndPort.split(\":\");\n\n return {\n type: type,\n host: host,\n username: decodeURIComponent(username),\n password: decodeURIComponent(password),\n port: port ? parseInt(port) : undefined,\n database: afterBase || undefined\n };\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -14,7 +14,6 @@ var AuroraDataApiDriver = /** @class */ (function () {
|
|
|
14
14
|
// Constructor
|
|
15
15
|
// -------------------------------------------------------------------------
|
|
16
16
|
function AuroraDataApiDriver(connection) {
|
|
17
|
-
var _this = this;
|
|
18
17
|
/**
|
|
19
18
|
* Indicates if replication is enabled.
|
|
20
19
|
*/
|
|
@@ -236,7 +235,6 @@ var AuroraDataApiDriver = /** @class */ (function () {
|
|
|
236
235
|
this.options = connection.options;
|
|
237
236
|
// load mysql package
|
|
238
237
|
this.loadDependencies();
|
|
239
|
-
this.client = new this.DataApiDriver(this.options.region, this.options.secretArn, this.options.resourceArn, this.options.database, function (query, parameters) { return _this.connection.logger.logQuery(query, parameters); }, this.options.serviceConfigOptions, this.options.formatOptions);
|
|
240
238
|
// validate options to make sure everything is set
|
|
241
239
|
// todo: revisit validation with replication in mind
|
|
242
240
|
// if (!(this.options.host || (this.options.extra && this.options.extra.socketPath)) && !this.options.socketPath)
|
|
@@ -287,7 +285,8 @@ var AuroraDataApiDriver = /** @class */ (function () {
|
|
|
287
285
|
* Creates a query runner used to execute database queries.
|
|
288
286
|
*/
|
|
289
287
|
AuroraDataApiDriver.prototype.createQueryRunner = function (mode) {
|
|
290
|
-
|
|
288
|
+
var _this = this;
|
|
289
|
+
return new AuroraDataApiQueryRunner(this, new this.DataApiDriver(this.options.region, this.options.secretArn, this.options.resourceArn, this.options.database, function (query, parameters) { return _this.connection.logger.logQuery(query, parameters); }, this.options.serviceConfigOptions, this.options.formatOptions));
|
|
291
290
|
};
|
|
292
291
|
/**
|
|
293
292
|
* Replaces parameters in the given sql with special escaping character
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/aurora-data-api/AuroraDataApiDriver.ts"],"names":[],"mappings":"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","file":"AuroraDataApiDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {DriverUtils} from \"../DriverUtils\";\nimport {AuroraDataApiQueryRunner} from \"./AuroraDataApiQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {AuroraDataApiConnectionOptions} from \"./AuroraDataApiConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {AuroraDataApiConnectionCredentialsOptions} from \"./AuroraDataApiConnectionCredentialsOptions\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with MySQL DBMS.\n */\nexport class AuroraDataApiDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n connection: Connection;\n /**\n * Aurora Data API underlying library.\n */\n DataApiDriver: any;\n\n client: any;\n\n /**\n * Connection pool.\n * Used in non-replication mode.\n */\n pool: any;\n\n /**\n * Pool cluster used in replication mode.\n */\n poolCluster: any;\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: AuroraDataApiConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.tutorialspoint.com/mysql/mysql-data-types.htm\n * @see https://dev.mysql.com/doc/refman/8.0/en/data-types.html\n */\n supportedDataTypes: ColumnType[] = [\n // numeric types\n \"bit\",\n \"int\",\n \"integer\", // synonym for int\n \"tinyint\",\n \"smallint\",\n \"mediumint\",\n \"bigint\",\n \"float\",\n \"double\",\n \"double precision\", // synonym for double\n \"real\", // synonym for double\n \"decimal\",\n \"dec\", // synonym for decimal\n \"numeric\", // synonym for decimal\n \"fixed\", // synonym for decimal\n \"bool\", // synonym for tinyint\n \"boolean\", // synonym for tinyint\n // date and time types\n \"date\",\n \"datetime\",\n \"timestamp\",\n \"time\",\n \"year\",\n // string types\n \"char\",\n \"nchar\", // synonym for national char\n \"national char\",\n \"varchar\",\n \"nvarchar\", // synonym for national varchar\n \"national varchar\",\n \"blob\",\n \"text\",\n \"tinyblob\",\n \"tinytext\",\n \"mediumblob\",\n \"mediumtext\",\n \"longblob\",\n \"longtext\",\n \"enum\",\n \"binary\",\n \"varbinary\",\n // json data type\n \"json\",\n // spatial data types\n \"geometry\",\n \"point\",\n \"linestring\",\n \"polygon\",\n \"multipoint\",\n \"multilinestring\",\n \"multipolygon\",\n \"geometrycollection\"\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [\n \"geometry\",\n \"point\",\n \"linestring\",\n \"polygon\",\n \"multipoint\",\n \"multilinestring\",\n \"multipolygon\",\n \"geometrycollection\"\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"varchar\",\n \"nvarchar\",\n \"binary\",\n \"varbinary\"\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withWidthColumnTypes: ColumnType[] = [\n \"bit\",\n \"tinyint\",\n \"smallint\",\n \"mediumint\",\n \"int\",\n \"integer\",\n \"bigint\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"decimal\",\n \"dec\",\n \"numeric\",\n \"fixed\",\n \"float\",\n \"double\",\n \"double precision\",\n \"real\",\n \"time\",\n \"datetime\",\n \"timestamp\"\n ];\n\n /**\n * Gets list of column data types that supports scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"decimal\",\n \"dec\",\n \"numeric\",\n \"fixed\",\n \"float\",\n \"double\",\n \"double precision\",\n \"real\"\n ];\n\n /**\n * Gets list of column data types that supports UNSIGNED and ZEROFILL attributes.\n */\n unsignedAndZerofillTypes: ColumnType[] = [\n \"int\",\n \"integer\",\n \"smallint\",\n \"tinyint\",\n \"mediumint\",\n \"bigint\",\n \"decimal\",\n \"dec\",\n \"numeric\",\n \"fixed\",\n \"float\",\n \"double\",\n \"double precision\",\n \"real\"\n ];\n\n /**\n * ORM has special columns and we need to know what database column types should be for those columns.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"datetime\",\n createDatePrecision: 6,\n createDateDefault: \"CURRENT_TIMESTAMP(6)\",\n updateDate: \"datetime\",\n updateDatePrecision: 6,\n updateDateDefault: \"CURRENT_TIMESTAMP(6)\",\n deleteDate: \"datetime\",\n deleteDatePrecision: 6,\n deleteDateNullable: true,\n version: \"int\",\n treeLevel: \"int\",\n migrationId: \"int\",\n migrationName: \"varchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"int\",\n cacheIdentifier: \"varchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"int\",\n cacheQuery: \"text\",\n cacheResult: \"text\",\n metadataType: \"varchar\",\n metadataDatabase: \"varchar\",\n metadataSchema: \"varchar\",\n metadataTable: \"varchar\",\n metadataName: \"varchar\",\n metadataValue: \"text\",\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n \"varchar\": { length: 255 },\n \"nvarchar\": { length: 255 },\n \"national varchar\": { length: 255 },\n \"char\": { length: 1 },\n \"binary\": { length: 1 },\n \"varbinary\": { length: 255 },\n \"decimal\": { precision: 10, scale: 0 },\n \"dec\": { precision: 10, scale: 0 },\n \"numeric\": { precision: 10, scale: 0 },\n \"fixed\": { precision: 10, scale: 0 },\n \"float\": { precision: 12 },\n \"double\": { precision: 22 },\n \"time\": { precision: 0 },\n \"datetime\": { precision: 0 },\n \"timestamp\": { precision: 0 },\n \"bit\": { width: 1 },\n \"int\": { width: 11 },\n \"integer\": { width: 11 },\n \"tinyint\": { width: 4 },\n \"smallint\": { width: 6 },\n \"mediumint\": { width: 9 },\n \"bigint\": { width: 20 }\n };\n\n\n /**\n * Max length allowed by MySQL for aliases.\n * @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html\n */\n maxAliasLength = 63;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as AuroraDataApiConnectionOptions;\n\n // load mysql package\n this.loadDependencies();\n\n this.client = new this.DataApiDriver(\n this.options.region,\n this.options.secretArn,\n this.options.resourceArn,\n this.options.database,\n (query: string, parameters?: any[]) => this.connection.logger.logQuery(query, parameters),\n this.options.serviceConfigOptions,\n this.options.formatOptions,\n );\n\n // validate options to make sure everything is set\n // todo: revisit validation with replication in mind\n // if (!(this.options.host || (this.options.extra && this.options.extra.socketPath)) && !this.options.socketPath)\n // throw new DriverOptionNotSetError(\"socketPath and host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.database)\n // throw new DriverOptionNotSetError(\"database\");\n // todo: check what is going on when connection is setup without database and how to connect to a database then?\n // todo: provide options to auto-create a database if it does not exist yet\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n async connect(): Promise<void> {\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new AuroraDataApiQueryRunner(this);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(key => nativeParameters[key]);\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string) => {\n let value: any;\n if (key.substr(0, 4) === \":...\") {\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (value instanceof Function) {\n return value();\n\n } else {\n escapedParameters.push(value);\n return \"?\";\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return \"`\" + columnName + \"`\";\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. \"myDB\".\"mySchema\".\"myTable\"\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return database ? `${database}.${tableName}` : tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean) {\n return value === true ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedDateToTimeString(value);\n\n } else if (columnMetadata.type === \"json\") {\n return JSON.stringify(value);\n\n } else if (columnMetadata.type === \"timestamp\" || columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n return DateUtils.mixedDateToDate(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n\n } else if (columnMetadata.type === \"enum\" || columnMetadata.type === \"simple-enum\") {\n return \"\" + value;\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean || columnMetadata.type === \"bool\" || columnMetadata.type === \"boolean\") {\n value = value ? true : false;\n\n } else if (columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"json\") {\n value = typeof value === \"string\" ? JSON.parse(value) : value;\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n\n } else if ((columnMetadata.type === \"enum\" || columnMetadata.type === \"simple-enum\")\n && columnMetadata.enum\n && !isNaN(value)\n && columnMetadata.enum.indexOf(parseInt(value)) >= 0) {\n // convert to number if that exists in possible enum options\n value = parseInt(value);\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type: ColumnType, length?: number|string, precision?: number|null, scale?: number }): string {\n if (column.type === Number || column.type === \"integer\") {\n return \"int\";\n\n } else if (column.type === String) {\n return \"varchar\";\n\n } else if (column.type === Date) {\n return \"datetime\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === Boolean) {\n return \"tinyint\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar\";\n\n } else if (column.type === \"simple-array\" || column.type === \"simple-json\") {\n return \"text\";\n\n } else if (column.type === \"simple-enum\") {\n return \"enum\";\n\n } else if (column.type === \"double precision\" || column.type === \"real\") {\n return \"double\";\n\n } else if (column.type === \"dec\" || column.type === \"numeric\" || column.type === \"fixed\") {\n return \"decimal\";\n\n } else if (column.type === \"bool\" || column.type === \"boolean\") {\n return \"tinyint\";\n\n } else if (column.type === \"nvarchar\" || column.type === \"national varchar\") {\n return \"varchar\";\n\n } else if (column.type === \"nchar\" || column.type === \"national char\") {\n return \"char\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n const defaultValue = columnMetadata.default;\n\n if ((columnMetadata.type === \"enum\" || columnMetadata.type === \"simple-enum\") && defaultValue !== undefined) {\n return `'${defaultValue}'`;\n }\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"1\" : \"0\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else if (defaultValue === null) {\n return `null`;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.indices.some(idx => idx.isUnique && idx.columns.length === 1 && idx.columns[0] === column);\n }\n\n /**\n * Returns default column lengths, which is required on column creation.\n */\n getColumnLength(column: ColumnMetadata|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n /**\n * fix https://github.com/typeorm/typeorm/issues/1139\n */\n if (column.generationStrategy === \"uuid\")\n return \"36\";\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"nvarchar\":\n case \"national varchar\":\n return \"255\";\n case \"varbinary\":\n return \"255\";\n default:\n return \"\";\n }\n }\n\n /**\n * Creates column type definition including length, precision and scale\n */\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because MySQL requires column length for `varchar`, `nvarchar` and `varbinary` data types\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\n\n } else if (column.width) {\n type += `(${column.width})`;\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += `(${column.precision},${column.scale})`;\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += `(${column.precision})`;\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return new Promise<any>((ok, fail) => {\n if (this.poolCluster) {\n this.poolCluster.getConnection(\"MASTER\", (err: any, dbConnection: any) => {\n err ? fail(err) : ok(this.prepareDbConnection(dbConnection));\n });\n\n } else if (this.pool) {\n this.pool.getConnection((err: any, dbConnection: any) => {\n err ? fail(err) : ok(this.prepareDbConnection(dbConnection));\n });\n } else {\n fail(new Error(`Connection is not established with mysql database`));\n }\n });\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.poolCluster)\n return this.obtainMasterConnection();\n\n return new Promise<any>((ok, fail) => {\n this.poolCluster.getConnection(\"SLAVE*\", (err: any, dbConnection: any) => {\n err ? fail(err) : ok(dbConnection);\n });\n });\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: any) {\n const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {\n let value: any;\n if (generatedColumn.generationStrategy === \"increment\" && insertResult.insertId) {\n value = insertResult.insertId;\n // } else if (generatedColumn.generationStrategy === \"uuid\") {\n // console.log(\"getting db value:\", generatedColumn.databaseName);\n // value = generatedColumn.getEntityValue(uuidMap);\n }\n\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, columnMetadata.length);\n // console.log(\"width:\", tableColumn.width, columnMetadata.width);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"zerofill:\", tableColumn.zerofill, columnMetadata.zerofill);\n // console.log(\"unsigned:\", tableColumn.unsigned, columnMetadata.unsigned);\n // console.log(\"asExpression:\", tableColumn.asExpression, columnMetadata.asExpression);\n // console.log(\"generatedType:\", tableColumn.generatedType, columnMetadata.generatedType);\n // console.log(\"comment:\", tableColumn.comment, columnMetadata.comment);\n // console.log(\"default:\", tableColumn.default, columnMetadata.default);\n // console.log(\"enum:\", tableColumn.enum, columnMetadata.enum);\n // console.log(\"default changed:\", !this.compareDefaultValues(this.normalizeDefault(columnMetadata), tableColumn.default));\n // console.log(\"onUpdate:\", tableColumn.onUpdate, columnMetadata.onUpdate);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log((columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated));\n // console.log(\"==========================================\");\n\n let columnMetadataLength = columnMetadata.length;\n if (!columnMetadataLength && columnMetadata.generationStrategy === \"uuid\") { // fixing #3374\n columnMetadataLength = this.getColumnLength(columnMetadata);\n }\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || tableColumn.length !== columnMetadataLength\n || tableColumn.width !== columnMetadata.width\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n || tableColumn.zerofill !== columnMetadata.zerofill\n || tableColumn.unsigned !== columnMetadata.unsigned\n || tableColumn.asExpression !== columnMetadata.asExpression\n || tableColumn.generatedType !== columnMetadata.generatedType\n // || tableColumn.comment !== columnMetadata.comment // todo\n || !this.compareDefaultValues(this.normalizeDefault(columnMetadata), tableColumn.default)\n || (tableColumn.enum && columnMetadata.enum && !OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(val => val + \"\")))\n || tableColumn.onUpdate !== columnMetadata.onUpdate\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return true;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \"?\";\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n this.DataApiDriver = PlatformTools.load(\"typeorm-aurora-data-api-driver\");\n\n // Driver uses rollup for publishing, which has issues when using typeorm in combination with webpack\n // See https://github.com/webpack/webpack/issues/4742#issuecomment-295556787\n this.DataApiDriver = this.DataApiDriver.default || this.DataApiDriver;\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected createConnectionOptions(options: AuroraDataApiConnectionOptions, credentials: AuroraDataApiConnectionCredentialsOptions): Promise<any> {\n\n credentials = Object.assign({}, credentials, DriverUtils.buildDriverOptions(credentials)); // todo: do it better way\n\n // build connection options for the driver\n return Object.assign({}, {\n resourceArn: options.resourceArn,\n secretArn: options.secretArn,\n database: options.database,\n region: options.region,\n type: options.type,\n }, {\n host: credentials.host,\n user: credentials.username,\n password: credentials.password,\n database: credentials.database,\n port: credentials.port,\n ssl: options.ssl\n },\n\n options.extra || {});\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(connectionOptions: any): Promise<any> {\n return {};\n }\n\n /**\n * Attaches all required base handlers to a database connection, such as the unhandled error handler.\n */\n private prepareDbConnection(connection: any): any {\n const { logger } = this.connection;\n /*\n Attaching an error handler to connection errors is essential, as, otherwise, errors raised will go unhandled and\n cause the hosting app to crash.\n */\n if (connection.listeners(\"error\").length === 0) {\n connection.on(\"error\", (error: any) => logger.log(\"warn\", `MySQL connection raised an error. ${error}`));\n }\n return connection;\n }\n\n /**\n * Checks if \"DEFAULT\" values in the column metadata and in the database are equal.\n */\n protected compareDefaultValues(columnMetadataValue: string, databaseValue: string): boolean {\n if (typeof columnMetadataValue === \"string\" && typeof databaseValue === \"string\") {\n // we need to cut out \"'\" because in mysql we can understand returned value is a string or a function\n // as result compare cannot understand if default is really changed or not\n columnMetadataValue = columnMetadataValue.replace(/^'+|'+$/g, \"\");\n databaseValue = databaseValue.replace(/^'+|'+$/g, \"\");\n }\n\n return columnMetadataValue === databaseValue;\n }\n\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/aurora-data-api/AuroraDataApiDriver.ts"],"names":[],"mappings":"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","file":"AuroraDataApiDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {DriverUtils} from \"../DriverUtils\";\nimport {AuroraDataApiQueryRunner} from \"./AuroraDataApiQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {AuroraDataApiConnectionOptions} from \"./AuroraDataApiConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {AuroraDataApiConnectionCredentialsOptions} from \"./AuroraDataApiConnectionCredentialsOptions\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with MySQL DBMS.\n */\nexport class AuroraDataApiDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n connection: Connection;\n /**\n * Aurora Data API underlying library.\n */\n DataApiDriver: any;\n\n /**\n * Connection pool.\n * Used in non-replication mode.\n */\n pool: any;\n\n /**\n * Pool cluster used in replication mode.\n */\n poolCluster: any;\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: AuroraDataApiConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.tutorialspoint.com/mysql/mysql-data-types.htm\n * @see https://dev.mysql.com/doc/refman/8.0/en/data-types.html\n */\n supportedDataTypes: ColumnType[] = [\n // numeric types\n \"bit\",\n \"int\",\n \"integer\", // synonym for int\n \"tinyint\",\n \"smallint\",\n \"mediumint\",\n \"bigint\",\n \"float\",\n \"double\",\n \"double precision\", // synonym for double\n \"real\", // synonym for double\n \"decimal\",\n \"dec\", // synonym for decimal\n \"numeric\", // synonym for decimal\n \"fixed\", // synonym for decimal\n \"bool\", // synonym for tinyint\n \"boolean\", // synonym for tinyint\n // date and time types\n \"date\",\n \"datetime\",\n \"timestamp\",\n \"time\",\n \"year\",\n // string types\n \"char\",\n \"nchar\", // synonym for national char\n \"national char\",\n \"varchar\",\n \"nvarchar\", // synonym for national varchar\n \"national varchar\",\n \"blob\",\n \"text\",\n \"tinyblob\",\n \"tinytext\",\n \"mediumblob\",\n \"mediumtext\",\n \"longblob\",\n \"longtext\",\n \"enum\",\n \"binary\",\n \"varbinary\",\n // json data type\n \"json\",\n // spatial data types\n \"geometry\",\n \"point\",\n \"linestring\",\n \"polygon\",\n \"multipoint\",\n \"multilinestring\",\n \"multipolygon\",\n \"geometrycollection\"\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [\n \"geometry\",\n \"point\",\n \"linestring\",\n \"polygon\",\n \"multipoint\",\n \"multilinestring\",\n \"multipolygon\",\n \"geometrycollection\"\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"varchar\",\n \"nvarchar\",\n \"binary\",\n \"varbinary\"\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withWidthColumnTypes: ColumnType[] = [\n \"bit\",\n \"tinyint\",\n \"smallint\",\n \"mediumint\",\n \"int\",\n \"integer\",\n \"bigint\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"decimal\",\n \"dec\",\n \"numeric\",\n \"fixed\",\n \"float\",\n \"double\",\n \"double precision\",\n \"real\",\n \"time\",\n \"datetime\",\n \"timestamp\"\n ];\n\n /**\n * Gets list of column data types that supports scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"decimal\",\n \"dec\",\n \"numeric\",\n \"fixed\",\n \"float\",\n \"double\",\n \"double precision\",\n \"real\"\n ];\n\n /**\n * Gets list of column data types that supports UNSIGNED and ZEROFILL attributes.\n */\n unsignedAndZerofillTypes: ColumnType[] = [\n \"int\",\n \"integer\",\n \"smallint\",\n \"tinyint\",\n \"mediumint\",\n \"bigint\",\n \"decimal\",\n \"dec\",\n \"numeric\",\n \"fixed\",\n \"float\",\n \"double\",\n \"double precision\",\n \"real\"\n ];\n\n /**\n * ORM has special columns and we need to know what database column types should be for those columns.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"datetime\",\n createDatePrecision: 6,\n createDateDefault: \"CURRENT_TIMESTAMP(6)\",\n updateDate: \"datetime\",\n updateDatePrecision: 6,\n updateDateDefault: \"CURRENT_TIMESTAMP(6)\",\n deleteDate: \"datetime\",\n deleteDatePrecision: 6,\n deleteDateNullable: true,\n version: \"int\",\n treeLevel: \"int\",\n migrationId: \"int\",\n migrationName: \"varchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"int\",\n cacheIdentifier: \"varchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"int\",\n cacheQuery: \"text\",\n cacheResult: \"text\",\n metadataType: \"varchar\",\n metadataDatabase: \"varchar\",\n metadataSchema: \"varchar\",\n metadataTable: \"varchar\",\n metadataName: \"varchar\",\n metadataValue: \"text\",\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n \"varchar\": { length: 255 },\n \"nvarchar\": { length: 255 },\n \"national varchar\": { length: 255 },\n \"char\": { length: 1 },\n \"binary\": { length: 1 },\n \"varbinary\": { length: 255 },\n \"decimal\": { precision: 10, scale: 0 },\n \"dec\": { precision: 10, scale: 0 },\n \"numeric\": { precision: 10, scale: 0 },\n \"fixed\": { precision: 10, scale: 0 },\n \"float\": { precision: 12 },\n \"double\": { precision: 22 },\n \"time\": { precision: 0 },\n \"datetime\": { precision: 0 },\n \"timestamp\": { precision: 0 },\n \"bit\": { width: 1 },\n \"int\": { width: 11 },\n \"integer\": { width: 11 },\n \"tinyint\": { width: 4 },\n \"smallint\": { width: 6 },\n \"mediumint\": { width: 9 },\n \"bigint\": { width: 20 }\n };\n\n\n /**\n * Max length allowed by MySQL for aliases.\n * @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html\n */\n maxAliasLength = 63;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as AuroraDataApiConnectionOptions;\n\n // load mysql package\n this.loadDependencies();\n\n // validate options to make sure everything is set\n // todo: revisit validation with replication in mind\n // if (!(this.options.host || (this.options.extra && this.options.extra.socketPath)) && !this.options.socketPath)\n // throw new DriverOptionNotSetError(\"socketPath and host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.database)\n // throw new DriverOptionNotSetError(\"database\");\n // todo: check what is going on when connection is setup without database and how to connect to a database then?\n // todo: provide options to auto-create a database if it does not exist yet\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n async connect(): Promise<void> {\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new AuroraDataApiQueryRunner(this, new this.DataApiDriver(\n this.options.region,\n this.options.secretArn,\n this.options.resourceArn,\n this.options.database,\n (query: string, parameters?: any[]) => this.connection.logger.logQuery(query, parameters),\n this.options.serviceConfigOptions,\n this.options.formatOptions,\n ));\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(key => nativeParameters[key]);\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string) => {\n let value: any;\n if (key.substr(0, 4) === \":...\") {\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (value instanceof Function) {\n return value();\n\n } else {\n escapedParameters.push(value);\n return \"?\";\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return \"`\" + columnName + \"`\";\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. \"myDB\".\"mySchema\".\"myTable\"\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return database ? `${database}.${tableName}` : tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean) {\n return value === true ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedDateToTimeString(value);\n\n } else if (columnMetadata.type === \"json\") {\n return JSON.stringify(value);\n\n } else if (columnMetadata.type === \"timestamp\" || columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n return DateUtils.mixedDateToDate(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n\n } else if (columnMetadata.type === \"enum\" || columnMetadata.type === \"simple-enum\") {\n return \"\" + value;\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean || columnMetadata.type === \"bool\" || columnMetadata.type === \"boolean\") {\n value = value ? true : false;\n\n } else if (columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"json\") {\n value = typeof value === \"string\" ? JSON.parse(value) : value;\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n\n } else if ((columnMetadata.type === \"enum\" || columnMetadata.type === \"simple-enum\")\n && columnMetadata.enum\n && !isNaN(value)\n && columnMetadata.enum.indexOf(parseInt(value)) >= 0) {\n // convert to number if that exists in possible enum options\n value = parseInt(value);\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type: ColumnType, length?: number|string, precision?: number|null, scale?: number }): string {\n if (column.type === Number || column.type === \"integer\") {\n return \"int\";\n\n } else if (column.type === String) {\n return \"varchar\";\n\n } else if (column.type === Date) {\n return \"datetime\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === Boolean) {\n return \"tinyint\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar\";\n\n } else if (column.type === \"simple-array\" || column.type === \"simple-json\") {\n return \"text\";\n\n } else if (column.type === \"simple-enum\") {\n return \"enum\";\n\n } else if (column.type === \"double precision\" || column.type === \"real\") {\n return \"double\";\n\n } else if (column.type === \"dec\" || column.type === \"numeric\" || column.type === \"fixed\") {\n return \"decimal\";\n\n } else if (column.type === \"bool\" || column.type === \"boolean\") {\n return \"tinyint\";\n\n } else if (column.type === \"nvarchar\" || column.type === \"national varchar\") {\n return \"varchar\";\n\n } else if (column.type === \"nchar\" || column.type === \"national char\") {\n return \"char\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n const defaultValue = columnMetadata.default;\n\n if ((columnMetadata.type === \"enum\" || columnMetadata.type === \"simple-enum\") && defaultValue !== undefined) {\n return `'${defaultValue}'`;\n }\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"1\" : \"0\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else if (defaultValue === null) {\n return `null`;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.indices.some(idx => idx.isUnique && idx.columns.length === 1 && idx.columns[0] === column);\n }\n\n /**\n * Returns default column lengths, which is required on column creation.\n */\n getColumnLength(column: ColumnMetadata|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n /**\n * fix https://github.com/typeorm/typeorm/issues/1139\n */\n if (column.generationStrategy === \"uuid\")\n return \"36\";\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"nvarchar\":\n case \"national varchar\":\n return \"255\";\n case \"varbinary\":\n return \"255\";\n default:\n return \"\";\n }\n }\n\n /**\n * Creates column type definition including length, precision and scale\n */\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because MySQL requires column length for `varchar`, `nvarchar` and `varbinary` data types\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\n\n } else if (column.width) {\n type += `(${column.width})`;\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += `(${column.precision},${column.scale})`;\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += `(${column.precision})`;\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return new Promise<any>((ok, fail) => {\n if (this.poolCluster) {\n this.poolCluster.getConnection(\"MASTER\", (err: any, dbConnection: any) => {\n err ? fail(err) : ok(this.prepareDbConnection(dbConnection));\n });\n\n } else if (this.pool) {\n this.pool.getConnection((err: any, dbConnection: any) => {\n err ? fail(err) : ok(this.prepareDbConnection(dbConnection));\n });\n } else {\n fail(new Error(`Connection is not established with mysql database`));\n }\n });\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.poolCluster)\n return this.obtainMasterConnection();\n\n return new Promise<any>((ok, fail) => {\n this.poolCluster.getConnection(\"SLAVE*\", (err: any, dbConnection: any) => {\n err ? fail(err) : ok(dbConnection);\n });\n });\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: any) {\n const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {\n let value: any;\n if (generatedColumn.generationStrategy === \"increment\" && insertResult.insertId) {\n value = insertResult.insertId;\n // } else if (generatedColumn.generationStrategy === \"uuid\") {\n // console.log(\"getting db value:\", generatedColumn.databaseName);\n // value = generatedColumn.getEntityValue(uuidMap);\n }\n\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, columnMetadata.length);\n // console.log(\"width:\", tableColumn.width, columnMetadata.width);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"zerofill:\", tableColumn.zerofill, columnMetadata.zerofill);\n // console.log(\"unsigned:\", tableColumn.unsigned, columnMetadata.unsigned);\n // console.log(\"asExpression:\", tableColumn.asExpression, columnMetadata.asExpression);\n // console.log(\"generatedType:\", tableColumn.generatedType, columnMetadata.generatedType);\n // console.log(\"comment:\", tableColumn.comment, columnMetadata.comment);\n // console.log(\"default:\", tableColumn.default, columnMetadata.default);\n // console.log(\"enum:\", tableColumn.enum, columnMetadata.enum);\n // console.log(\"default changed:\", !this.compareDefaultValues(this.normalizeDefault(columnMetadata), tableColumn.default));\n // console.log(\"onUpdate:\", tableColumn.onUpdate, columnMetadata.onUpdate);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log((columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated));\n // console.log(\"==========================================\");\n\n let columnMetadataLength = columnMetadata.length;\n if (!columnMetadataLength && columnMetadata.generationStrategy === \"uuid\") { // fixing #3374\n columnMetadataLength = this.getColumnLength(columnMetadata);\n }\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || tableColumn.length !== columnMetadataLength\n || tableColumn.width !== columnMetadata.width\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n || tableColumn.zerofill !== columnMetadata.zerofill\n || tableColumn.unsigned !== columnMetadata.unsigned\n || tableColumn.asExpression !== columnMetadata.asExpression\n || tableColumn.generatedType !== columnMetadata.generatedType\n // || tableColumn.comment !== columnMetadata.comment // todo\n || !this.compareDefaultValues(this.normalizeDefault(columnMetadata), tableColumn.default)\n || (tableColumn.enum && columnMetadata.enum && !OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(val => val + \"\")))\n || tableColumn.onUpdate !== columnMetadata.onUpdate\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return true;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \"?\";\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n this.DataApiDriver = PlatformTools.load(\"typeorm-aurora-data-api-driver\");\n\n // Driver uses rollup for publishing, which has issues when using typeorm in combination with webpack\n // See https://github.com/webpack/webpack/issues/4742#issuecomment-295556787\n this.DataApiDriver = this.DataApiDriver.default || this.DataApiDriver;\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected createConnectionOptions(options: AuroraDataApiConnectionOptions, credentials: AuroraDataApiConnectionCredentialsOptions): Promise<any> {\n\n credentials = Object.assign({}, credentials, DriverUtils.buildDriverOptions(credentials)); // todo: do it better way\n\n // build connection options for the driver\n return Object.assign({}, {\n resourceArn: options.resourceArn,\n secretArn: options.secretArn,\n database: options.database,\n region: options.region,\n type: options.type,\n }, {\n host: credentials.host,\n user: credentials.username,\n password: credentials.password,\n database: credentials.database,\n port: credentials.port,\n ssl: options.ssl\n },\n\n options.extra || {});\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(connectionOptions: any): Promise<any> {\n return {};\n }\n\n /**\n * Attaches all required base handlers to a database connection, such as the unhandled error handler.\n */\n private prepareDbConnection(connection: any): any {\n const { logger } = this.connection;\n /*\n Attaching an error handler to connection errors is essential, as, otherwise, errors raised will go unhandled and\n cause the hosting app to crash.\n */\n if (connection.listeners(\"error\").length === 0) {\n connection.on(\"error\", (error: any) => logger.log(\"warn\", `MySQL connection raised an error. ${error}`));\n }\n return connection;\n }\n\n /**\n * Checks if \"DEFAULT\" values in the column metadata and in the database are equal.\n */\n protected compareDefaultValues(columnMetadataValue: string, databaseValue: string): boolean {\n if (typeof columnMetadataValue === \"string\" && typeof databaseValue === \"string\") {\n // we need to cut out \"'\" because in mysql we can understand returned value is a string or a function\n // as result compare cannot understand if default is really changed or not\n columnMetadataValue = columnMetadataValue.replace(/^'+|'+$/g, \"\");\n databaseValue = databaseValue.replace(/^'+|'+$/g, \"\");\n }\n\n return columnMetadataValue === databaseValue;\n }\n\n}\n"],"sourceRoot":"../.."}
|
|
@@ -21,11 +21,12 @@ export declare class AuroraDataApiQueryRunner extends BaseQueryRunner implements
|
|
|
21
21
|
* Database driver used by connection.
|
|
22
22
|
*/
|
|
23
23
|
driver: AuroraDataApiDriver;
|
|
24
|
+
protected client: any;
|
|
24
25
|
/**
|
|
25
26
|
* Promise used to obtain a database connection from a pool for a first time.
|
|
26
27
|
*/
|
|
27
28
|
protected databaseConnectionPromise: Promise<any>;
|
|
28
|
-
constructor(driver: AuroraDataApiDriver);
|
|
29
|
+
constructor(driver: AuroraDataApiDriver, client: any);
|
|
29
30
|
/**
|
|
30
31
|
* Creates/uses database connection from the connection pool to perform further operations.
|
|
31
32
|
* Returns obtained database connection.
|