taon-typeorm 18.0.19 → 18.0.20
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/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/index.mjs +1 -3
- package/browser/fesm2022/taon-typeorm.mjs.map +1 -1
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/index.mjs +1 -3
- package/client/fesm2022/taon-typeorm.mjs.map +1 -1
- package/index.js +15 -2
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js +15 -2
- package/lib/index.js.map +1 -1
- package/lib/typeorm/cache/DbQueryResultCache.js +178 -231
- package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCacheFactory.js +11 -11
- package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
- package/lib/typeorm/cache/RedisQueryResultCache.js +121 -149
- package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
- package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
- package/lib/typeorm/cli-ts-node-esm.js +7 -5
- package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
- package/lib/typeorm/cli.d.ts +1 -1
- package/lib/typeorm/cli.js +15 -16
- package/lib/typeorm/cli.js.map +1 -1
- package/lib/typeorm/commands/CacheClearCommand.js +37 -65
- package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
- package/lib/typeorm/commands/CommandUtils.js +57 -112
- package/lib/typeorm/commands/CommandUtils.js.map +1 -1
- package/lib/typeorm/commands/EntityCreateCommand.js +35 -47
- package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/InitCommand.js +397 -168
- package/lib/typeorm/commands/InitCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationCreateCommand.js +58 -52
- package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationGenerateCommand.js +141 -138
- package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationRevertCommand.js +49 -77
- package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationRunCommand.js +52 -82
- package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationShowCommand.js +32 -60
- package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
- package/lib/typeorm/commands/QueryCommand.js +47 -83
- package/lib/typeorm/commands/QueryCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaDropCommand.js +33 -61
- package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaLogCommand.js +57 -81
- package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaSyncCommand.js +33 -61
- package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
- package/lib/typeorm/commands/SubscriberCreateCommand.js +35 -47
- package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/VersionCommand.js +38 -54
- package/lib/typeorm/commands/VersionCommand.js.map +1 -1
- package/lib/typeorm/common/DeepPartial.js.map +1 -1
- package/lib/typeorm/common/EntityTarget.js.map +1 -1
- package/lib/typeorm/common/MixedList.js.map +1 -1
- package/lib/typeorm/common/NonNever.js.map +1 -1
- package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
- package/lib/typeorm/common/ObjectType.js.map +1 -1
- package/lib/typeorm/common/RelationType.js.map +1 -1
- package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
- package/lib/typeorm/connection/Connection.js +3 -9
- package/lib/typeorm/connection/Connection.js.map +1 -1
- package/lib/typeorm/connection/ConnectionManager.js +23 -31
- package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
- package/lib/typeorm/connection/ConnectionMetadataBuilder.js +48 -78
- package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
- package/lib/typeorm/connection/ConnectionOptionsReader.js +146 -214
- package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js +50 -58
- package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js +45 -58
- package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js +14 -23
- package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/lib/typeorm/constants.js.map +1 -1
- package/lib/typeorm/container.js +9 -12
- package/lib/typeorm/container.js.map +1 -1
- package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
- package/lib/typeorm/data-source/DataSource.js +320 -478
- package/lib/typeorm/data-source/DataSource.js.map +1 -1
- package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
- package/lib/typeorm/data-source/index.js +16 -3
- package/lib/typeorm/data-source/index.js.map +1 -1
- package/lib/typeorm/decorator/Check.js +5 -5
- package/lib/typeorm/decorator/Check.js.map +1 -1
- package/lib/typeorm/decorator/EntityRepository.js +1 -1
- package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
- package/lib/typeorm/decorator/Exclusion.js +5 -5
- package/lib/typeorm/decorator/Exclusion.js.map +1 -1
- package/lib/typeorm/decorator/Generated.js +2 -3
- package/lib/typeorm/decorator/Generated.js.map +1 -1
- package/lib/typeorm/decorator/Index.js +5 -5
- package/lib/typeorm/decorator/Index.js.map +1 -1
- package/lib/typeorm/decorator/Unique.js +8 -8
- package/lib/typeorm/decorator/Unique.js.map +1 -1
- package/lib/typeorm/decorator/columns/Column.js +4 -4
- package/lib/typeorm/decorator/columns/Column.js.map +1 -1
- package/lib/typeorm/decorator/columns/CreateDateColumn.js +1 -1
- package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/DeleteDateColumn.js +1 -1
- package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/ObjectIdColumn.js +1 -1
- package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/PrimaryColumn.js +5 -5
- package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js +4 -4
- package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/UpdateDateColumn.js +1 -1
- package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/VersionColumn.js +1 -1
- package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/ViewColumn.js +1 -1
- package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/VirtualColumn.js +5 -5
- package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
- package/lib/typeorm/decorator/entity/ChildEntity.js +1 -1
- package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
- package/lib/typeorm/decorator/entity/Entity.js +4 -4
- package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
- package/lib/typeorm/decorator/entity/TableInheritance.js +1 -1
- package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
- package/lib/typeorm/decorator/entity-view/ViewEntity.js +4 -4
- package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterInsert.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterLoad.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterRecover.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterSoftRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterUpdate.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeInsert.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeRecover.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeUpdate.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/lib/typeorm/decorator/listeners/EventSubscriber.js +1 -1
- package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
- package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/relations/JoinColumn.js +3 -3
- package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
- package/lib/typeorm/decorator/relations/JoinTable.js +1 -1
- package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
- package/lib/typeorm/decorator/relations/ManyToMany.js +5 -5
- package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
- package/lib/typeorm/decorator/relations/ManyToOne.js +5 -5
- package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
- package/lib/typeorm/decorator/relations/OneToMany.js +3 -3
- package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
- package/lib/typeorm/decorator/relations/OneToOne.js +5 -5
- package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
- package/lib/typeorm/decorator/relations/RelationCount.js +1 -1
- package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
- package/lib/typeorm/decorator/relations/RelationId.js +1 -1
- package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
- package/lib/typeorm/decorator/tree/Tree.js +1 -1
- package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeChildren.js +4 -4
- package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeLevelColumn.js +1 -1
- package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeParent.js +4 -4
- package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
- package/lib/typeorm/driver/Driver.js.map +1 -1
- package/lib/typeorm/driver/DriverFactory.js +24 -27
- package/lib/typeorm/driver/DriverFactory.js.map +1 -1
- package/lib/typeorm/driver/DriverUtils.js +78 -126
- package/lib/typeorm/driver/DriverUtils.js.map +1 -1
- package/lib/typeorm/driver/Query.js +6 -5
- package/lib/typeorm/driver/Query.js.map +1 -1
- package/lib/typeorm/driver/SqlInMemory.js +4 -7
- package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js +9 -12
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +392 -399
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1320 -2084
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +50 -78
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +89 -160
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +78 -152
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +96 -155
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorDriver.js +44 -89
- package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js +70 -122
- package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachDriver.js +368 -404
- package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js +1752 -2862
- package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaDriver.js +36 -58
- package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaQueryRunner.js +86 -164
- package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoDriver.js +34 -44
- package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoQueryRunner.js +114 -204
- package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoDriver.js +269 -243
- package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoQueryRunner.js +357 -793
- package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlDriver.js +475 -480
- package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlQueryRunner.js +1692 -2466
- package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptDriver.js +46 -50
- package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js +62 -101
- package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleDriver.js +345 -377
- package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleQueryRunner.js +1484 -2384
- package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresDriver.js +574 -690
- package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresQueryRunner.js +2153 -3379
- package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeDriver.js +34 -44
- package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js +60 -94
- package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sap/SapDriver.js +310 -305
- package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
- package/lib/typeorm/driver/sap/SapQueryRunner.js +1635 -2561
- package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerDriver.js +250 -236
- package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerQueryRunner.js +1136 -2168
- package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteDriver.js +82 -169
- package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js +78 -122
- package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +280 -268
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1158 -1990
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsDriver.js +187 -253
- package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js +88 -147
- package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/MssqlParameter.js +10 -13
- package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerDriver.js +352 -372
- package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js +1979 -3068
- package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
- package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
- package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
- package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
- package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
- package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
- package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
- package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
- package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
- package/lib/typeorm/entity-manager/EntityManager.js +351 -469
- package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
- package/lib/typeorm/entity-manager/EntityManagerFactory.js +7 -10
- package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
- package/lib/typeorm/entity-manager/MongoEntityManager.js +371 -487
- package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
- package/lib/typeorm/entity-manager/SqljsEntityManager.js +16 -37
- package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchema.js +5 -5
- package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +17 -5
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js +11 -14
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaOptions.js +82 -5
- package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaTransformer.js +51 -68
- package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/lib/typeorm/error/AlreadyHasActiveConnectionError.js +6 -9
- package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js +6 -9
- package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js +5 -8
- package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotCreateEntityIdMapError.js +7 -11
- package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/lib/typeorm/error/CannotDetermineEntityError.js +6 -9
- package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
- package/lib/typeorm/error/CannotExecuteNotConnectedError.js +5 -8
- package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js +5 -8
- package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js +7 -10
- package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/lib/typeorm/error/CircularRelationsError.js +6 -9
- package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
- package/lib/typeorm/error/ColumnTypeUndefinedError.js +8 -11
- package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
- package/lib/typeorm/error/ConnectionIsNotSetError.js +5 -8
- package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
- package/lib/typeorm/error/ConnectionNotFoundError.js +5 -8
- package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js +7 -10
- package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js +7 -10
- package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryNotFoundError.js +7 -10
- package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/lib/typeorm/error/DataTypeNotSupportedError.js +7 -11
- package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/DriverOptionNotSetError.js +6 -9
- package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
- package/lib/typeorm/error/DriverPackageNotInstalledError.js +6 -9
- package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
- package/lib/typeorm/error/EntityMetadataNotFoundError.js +10 -14
- package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
- package/lib/typeorm/error/EntityNotFoundError.js +13 -17
- package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
- package/lib/typeorm/error/EntityPropertyNotFoundError.js +7 -11
- package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
- package/lib/typeorm/error/FindRelationsNotFoundError.js +9 -13
- package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
- package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js +6 -9
- package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/lib/typeorm/error/InitializedRelationError.js +7 -10
- package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
- package/lib/typeorm/error/InsertValuesMissingError.js +6 -9
- package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
- package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js +5 -8
- package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js +5 -8
- package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/lib/typeorm/error/MetadataAlreadyExistsError.js +6 -9
- package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
- package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +6 -9
- package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/lib/typeorm/error/MissingDeleteDateColumnError.js +5 -8
- package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
- package/lib/typeorm/error/MissingDriverError.js +6 -10
- package/lib/typeorm/error/MissingDriverError.js.map +1 -1
- package/lib/typeorm/error/MissingJoinColumnError.js +12 -16
- package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
- package/lib/typeorm/error/MissingJoinTableError.js +12 -16
- package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
- package/lib/typeorm/error/MissingPrimaryColumnError.js +6 -9
- package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
- package/lib/typeorm/error/MustBeEntityError.js +5 -8
- package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
- package/lib/typeorm/error/NamingStrategyNotFoundError.js +9 -13
- package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
- package/lib/typeorm/error/NestedSetMultipleRootError.js +5 -8
- package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
- package/lib/typeorm/error/NoConnectionForRepositoryError.js +6 -9
- package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
- package/lib/typeorm/error/NoConnectionOptionError.js +6 -9
- package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
- package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js +7 -10
- package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js +5 -8
- package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js +7 -10
- package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js +5 -8
- package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/lib/typeorm/error/OptimisticLockVersionMismatchError.js +5 -8
- package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/lib/typeorm/error/PersistedEntityNotFoundError.js +5 -8
- package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
- package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js +5 -8
- package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js +6 -9
- package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/lib/typeorm/error/QueryFailedError.js +18 -17
- package/lib/typeorm/error/QueryFailedError.js.map +1 -1
- package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js +5 -8
- package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +6 -9
- package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/lib/typeorm/error/RepositoryNotTreeError.js +9 -13
- package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
- package/lib/typeorm/error/ReturningStatementNotSupportedError.js +5 -8
- package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js +6 -9
- package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/lib/typeorm/error/SubjectWithoutIdentifierError.js +5 -8
- package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/lib/typeorm/error/TransactionAlreadyStartedError.js +5 -8
- package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
- package/lib/typeorm/error/TransactionNotStartedError.js +5 -8
- package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
- package/lib/typeorm/error/TreeRepositoryNotSupportedError.js +5 -8
- package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/TypeORMError.js +9 -18
- package/lib/typeorm/error/TypeORMError.js.map +1 -1
- package/lib/typeorm/error/UpdateValuesMissingError.js +5 -8
- package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js +6 -9
- package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -10
- package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js +7 -10
- package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -10
- package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/lib/typeorm/error/index.js +75 -62
- package/lib/typeorm/error/index.js.map +1 -1
- package/lib/typeorm/find-options/EqualOperator.js +6 -10
- package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
- package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
- package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
- package/lib/typeorm/find-options/FindOperator.js +90 -94
- package/lib/typeorm/find-options/FindOperator.js.map +1 -1
- package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsUtils.js +56 -87
- package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
- package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
- package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
- package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
- package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/lib/typeorm/find-options/operator/And.js +2 -6
- package/lib/typeorm/find-options/operator/And.js.map +1 -1
- package/lib/typeorm/find-options/operator/Any.js +1 -1
- package/lib/typeorm/find-options/operator/Any.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayContainedBy.js +1 -1
- package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayContains.js +1 -1
- package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayOverlap.js +1 -1
- package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
- package/lib/typeorm/find-options/operator/Between.js +1 -1
- package/lib/typeorm/find-options/operator/Between.js.map +1 -1
- package/lib/typeorm/find-options/operator/Equal.js +1 -1
- package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
- package/lib/typeorm/find-options/operator/ILike.js +1 -1
- package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
- package/lib/typeorm/find-options/operator/In.js +1 -1
- package/lib/typeorm/find-options/operator/In.js.map +1 -1
- package/lib/typeorm/find-options/operator/IsNull.js +1 -1
- package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
- package/lib/typeorm/find-options/operator/LessThan.js +1 -1
- package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
- package/lib/typeorm/find-options/operator/LessThanOrEqual.js +1 -1
- package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/lib/typeorm/find-options/operator/Like.js +1 -1
- package/lib/typeorm/find-options/operator/Like.js.map +1 -1
- package/lib/typeorm/find-options/operator/MoreThan.js +1 -1
- package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
- package/lib/typeorm/find-options/operator/MoreThanOrEqual.js +1 -1
- package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/lib/typeorm/find-options/operator/Not.js +1 -1
- package/lib/typeorm/find-options/operator/Not.js.map +1 -1
- package/lib/typeorm/find-options/operator/Raw.js +1 -1
- package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
- package/lib/typeorm/globals.js +33 -99
- package/lib/typeorm/globals.js.map +1 -1
- package/lib/typeorm/index.d.ts +0 -1
- package/lib/typeorm/index.js +136 -126
- package/lib/typeorm/index.js.map +1 -1
- package/lib/typeorm/logger/AdvancedConsoleLogger.js +26 -26
- package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
- package/lib/typeorm/logger/DebugLogger.js +24 -27
- package/lib/typeorm/logger/DebugLogger.js.map +1 -1
- package/lib/typeorm/logger/FileLogger.js +31 -30
- package/lib/typeorm/logger/FileLogger.js.map +1 -1
- package/lib/typeorm/logger/Logger.js.map +1 -1
- package/lib/typeorm/logger/LoggerFactory.js +9 -12
- package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
- package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
- package/lib/typeorm/logger/SimpleConsoleLogger.js +25 -25
- package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
- package/lib/typeorm/metadata/CheckMetadata.js +30 -6
- package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ColumnMetadata.js +343 -199
- package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EmbeddedMetadata.js +174 -153
- package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EntityListenerMetadata.js +35 -15
- package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EntityMetadata.js +516 -372
- package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ExclusionMetadata.js +30 -6
- package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ForeignKeyMetadata.js +60 -24
- package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
- package/lib/typeorm/metadata/IndexMetadata.js +119 -73
- package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationCountMetadata.js +40 -10
- package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationIdMetadata.js +47 -18
- package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationMetadata.js +270 -187
- package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
- package/lib/typeorm/metadata/UniqueMetadata.js +72 -47
- package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
- package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
- package/lib/typeorm/metadata/types/EventListenerTypes.js +13 -16
- package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
- package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
- package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
- package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/MetadataArgsStorage.js +108 -113
- package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
- package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +14 -15
- package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js +291 -347
- package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/EntityMetadataValidator.js +63 -77
- package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +64 -69
- package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/MetadataUtils.js +12 -15
- package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
- package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js +43 -49
- package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/lib/typeorm/migration/Migration.js +23 -4
- package/lib/typeorm/migration/Migration.js.map +1 -1
- package/lib/typeorm/migration/MigrationExecutor.js +432 -691
- package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
- package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
- package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js +80 -84
- package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/lib/typeorm/persistence/EntityPersistExecutor.js +154 -212
- package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
- package/lib/typeorm/persistence/Subject.js +162 -149
- package/lib/typeorm/persistence/Subject.js.map +1 -1
- package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
- package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js +29 -35
- package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js +99 -130
- package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/lib/typeorm/persistence/SubjectExecutor.js +635 -879
- package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/SubjectTopoligicalSorter.js +62 -58
- package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +16 -19
- package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +50 -53
- package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +28 -33
- package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +19 -20
- package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js +202 -271
- package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +79 -121
- package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js +220 -353
- package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/lib/typeorm/platform/PlatformTools.js +66 -78
- package/lib/typeorm/platform/PlatformTools.js.map +1 -1
- package/lib/typeorm/query-builder/Alias.js +31 -32
- package/lib/typeorm/query-builder/Alias.js.map +1 -1
- package/lib/typeorm/query-builder/Brackets.js +8 -5
- package/lib/typeorm/query-builder/Brackets.js.map +1 -1
- package/lib/typeorm/query-builder/DeleteQueryBuilder.js +96 -120
- package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/lib/typeorm/query-builder/InsertQueryBuilder.js +321 -367
- package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/JoinAttribute.js +175 -206
- package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
- package/lib/typeorm/query-builder/NotBrackets.js +4 -11
- package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilder.js +400 -646
- package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilderUtils.js +5 -9
- package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
- package/lib/typeorm/query-builder/QueryExpressionMap.js +304 -233
- package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
- package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
- package/lib/typeorm/query-builder/RelationIdLoader.js +166 -189
- package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
- package/lib/typeorm/query-builder/RelationLoader.js +81 -94
- package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
- package/lib/typeorm/query-builder/RelationQueryBuilder.js +91 -127
- package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/RelationRemover.js +121 -124
- package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
- package/lib/typeorm/query-builder/RelationUpdater.js +130 -148
- package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
- package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js +131 -159
- package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQueryBuilder.js +955 -1211
- package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js +155 -194
- package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/UpdateQueryBuilder.js +204 -246
- package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
- package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js +85 -98
- package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js +153 -172
- package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +16 -17
- package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js +93 -107
- package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js +259 -267
- package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +16 -17
- package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/result/DeleteResult.js +14 -8
- package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
- package/lib/typeorm/query-builder/result/InsertResult.js +19 -18
- package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
- package/lib/typeorm/query-builder/result/UpdateResult.js +24 -18
- package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +24 -26
- package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +77 -112
- package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +16 -22
- package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +117 -132
- package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-runner/BaseQueryRunner.js +227 -393
- package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
- package/lib/typeorm/query-runner/QueryLock.js +19 -32
- package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
- package/lib/typeorm/query-runner/QueryResult.js +14 -9
- package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
- package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
- package/lib/typeorm/repository/AbstractRepository.js +46 -50
- package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
- package/lib/typeorm/repository/BaseEntity.js +106 -123
- package/lib/typeorm/repository/BaseEntity.js.map +1 -1
- package/lib/typeorm/repository/EntityId.js.map +1 -1
- package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
- package/lib/typeorm/repository/MongoRepository.js +109 -135
- package/lib/typeorm/repository/MongoRepository.js.map +1 -1
- package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
- package/lib/typeorm/repository/Repository.js +108 -140
- package/lib/typeorm/repository/Repository.js.map +1 -1
- package/lib/typeorm/repository/SaveOptions.js.map +1 -1
- package/lib/typeorm/repository/TreeRepository.js +107 -154
- package/lib/typeorm/repository/TreeRepository.js.map +1 -1
- package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/MongoSchemaBuilder.js +30 -42
- package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js +727 -1938
- package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/table/Table.js +160 -157
- package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableCheck.js +24 -15
- package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableColumn.js +123 -41
- package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableExclusion.js +19 -9
- package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableForeignKey.js +52 -20
- package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableIndex.js +52 -16
- package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableUnique.js +26 -16
- package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
- package/lib/typeorm/schema-builder/util/TableUtils.js +5 -8
- package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
- package/lib/typeorm/schema-builder/util/ViewUtils.js +4 -7
- package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
- package/lib/typeorm/schema-builder/view/View.js +32 -10
- package/lib/typeorm/schema-builder/view/View.js.map +1 -1
- package/lib/typeorm/subscriber/Broadcaster.js +180 -216
- package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
- package/lib/typeorm/subscriber/BroadcasterResult.js +16 -29
- package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
- package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
- package/lib/typeorm/util/ApplyValueTransformers.js +9 -12
- package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
- package/lib/typeorm/util/DateUtils.js +44 -53
- package/lib/typeorm/util/DateUtils.js.map +1 -1
- package/lib/typeorm/util/DepGraph.js +50 -53
- package/lib/typeorm/util/DepGraph.js.map +1 -1
- package/lib/typeorm/util/DirectoryExportedClassesLoader.js +48 -70
- package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/lib/typeorm/util/ImportUtils.js +43 -65
- package/lib/typeorm/util/ImportUtils.js.map +1 -1
- package/lib/typeorm/util/InstanceChecker.js +64 -67
- package/lib/typeorm/util/InstanceChecker.js.map +1 -1
- package/lib/typeorm/util/ObjectUtils.js +13 -42
- package/lib/typeorm/util/ObjectUtils.js.map +1 -1
- package/lib/typeorm/util/OrmUtils.js +91 -158
- package/lib/typeorm/util/OrmUtils.js.map +1 -1
- package/lib/typeorm/util/PathUtils.js +8 -8
- package/lib/typeorm/util/PathUtils.js.map +1 -1
- package/lib/typeorm/util/RandomGenerator.js +22 -25
- package/lib/typeorm/util/RandomGenerator.js.map +1 -1
- package/lib/typeorm/util/StringUtils.js +17 -21
- package/lib/typeorm/util/StringUtils.js.map +1 -1
- package/lib/typeorm/util/TreeRepositoryUtils.js +27 -30
- package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
- package/lib/typeorm/util/VersionUtils.js +9 -13
- package/lib/typeorm/util/VersionUtils.js.map +1 -1
- package/lib/typeorm/util/escapeRegExp.js +2 -2
- package/lib/typeorm/util/escapeRegExp.js.map +1 -1
- package/migrations/index.js +15 -2
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +8 -44
- package/src.d.ts +1 -1
- package/taon.jsonc +3 -30
- package/tmp-environment.json +8 -370
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/index.mjs +1 -3
- package/websql/fesm2022/taon-typeorm.mjs.map +1 -1
- package/browser/package.json +0 -25
- package/websql/package.json +0 -25
|
@@ -1,267 +1,304 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MysqlDriver = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var InstanceChecker_1 = require("../../util/InstanceChecker");
|
|
4
|
+
const ConnectionIsNotSetError_1 = require("../../error/ConnectionIsNotSetError");
|
|
5
|
+
const DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");
|
|
6
|
+
const DriverUtils_1 = require("../DriverUtils");
|
|
7
|
+
const MysqlQueryRunner_1 = require("./MysqlQueryRunner");
|
|
8
|
+
const DateUtils_1 = require("../../util/DateUtils");
|
|
9
|
+
const PlatformTools_1 = require("../../platform/PlatformTools");
|
|
10
|
+
const RdbmsSchemaBuilder_1 = require("../../schema-builder/RdbmsSchemaBuilder");
|
|
11
|
+
const OrmUtils_1 = require("../../util/OrmUtils");
|
|
12
|
+
const ApplyValueTransformers_1 = require("../../util/ApplyValueTransformers");
|
|
13
|
+
const error_1 = require("../../error");
|
|
14
|
+
const VersionUtils_1 = require("../../util/VersionUtils");
|
|
15
|
+
const InstanceChecker_1 = require("../../util/InstanceChecker");
|
|
17
16
|
/**
|
|
18
17
|
* Organizes communication with MySQL DBMS.
|
|
19
18
|
*/
|
|
20
|
-
|
|
19
|
+
class MysqlDriver {
|
|
20
|
+
// -------------------------------------------------------------------------
|
|
21
|
+
// Public Properties
|
|
22
|
+
// -------------------------------------------------------------------------
|
|
23
|
+
/**
|
|
24
|
+
* Connection used by driver.
|
|
25
|
+
*/
|
|
26
|
+
connection;
|
|
27
|
+
/**
|
|
28
|
+
* Mysql underlying library.
|
|
29
|
+
*/
|
|
30
|
+
mysql;
|
|
31
|
+
/**
|
|
32
|
+
* Connection pool.
|
|
33
|
+
* Used in non-replication mode.
|
|
34
|
+
*/
|
|
35
|
+
pool;
|
|
36
|
+
/**
|
|
37
|
+
* Pool cluster used in replication mode.
|
|
38
|
+
*/
|
|
39
|
+
poolCluster;
|
|
40
|
+
// -------------------------------------------------------------------------
|
|
41
|
+
// Public Implemented Properties
|
|
42
|
+
// -------------------------------------------------------------------------
|
|
43
|
+
/**
|
|
44
|
+
* Connection options.
|
|
45
|
+
*/
|
|
46
|
+
options;
|
|
47
|
+
/**
|
|
48
|
+
* Version of MySQL. Requires a SQL query to the DB, so it is not always set
|
|
49
|
+
*/
|
|
50
|
+
version;
|
|
51
|
+
/**
|
|
52
|
+
* Master database used to perform all write queries.
|
|
53
|
+
*/
|
|
54
|
+
database;
|
|
55
|
+
/**
|
|
56
|
+
* Indicates if replication is enabled.
|
|
57
|
+
*/
|
|
58
|
+
isReplicated = false;
|
|
59
|
+
/**
|
|
60
|
+
* Indicates if tree tables are supported by this driver.
|
|
61
|
+
*/
|
|
62
|
+
treeSupport = true;
|
|
63
|
+
/**
|
|
64
|
+
* Represent transaction support by this driver
|
|
65
|
+
*/
|
|
66
|
+
transactionSupport = "nested";
|
|
67
|
+
/**
|
|
68
|
+
* Gets list of supported column data types by a driver.
|
|
69
|
+
*
|
|
70
|
+
* @see https://www.tutorialspoint.com/mysql/mysql-data-types.htm
|
|
71
|
+
* @see https://dev.mysql.com/doc/refman/8.0/en/data-types.html
|
|
72
|
+
*/
|
|
73
|
+
supportedDataTypes = [
|
|
74
|
+
// numeric types
|
|
75
|
+
"bit",
|
|
76
|
+
"int",
|
|
77
|
+
"integer", // synonym for int
|
|
78
|
+
"tinyint",
|
|
79
|
+
"smallint",
|
|
80
|
+
"mediumint",
|
|
81
|
+
"bigint",
|
|
82
|
+
"float",
|
|
83
|
+
"double",
|
|
84
|
+
"double precision", // synonym for double
|
|
85
|
+
"real", // synonym for double
|
|
86
|
+
"decimal",
|
|
87
|
+
"dec", // synonym for decimal
|
|
88
|
+
"numeric", // synonym for decimal
|
|
89
|
+
"fixed", // synonym for decimal
|
|
90
|
+
"bool", // synonym for tinyint
|
|
91
|
+
"boolean", // synonym for tinyint
|
|
92
|
+
// date and time types
|
|
93
|
+
"date",
|
|
94
|
+
"datetime",
|
|
95
|
+
"timestamp",
|
|
96
|
+
"time",
|
|
97
|
+
"year",
|
|
98
|
+
// string types
|
|
99
|
+
"char",
|
|
100
|
+
"nchar", // synonym for national char
|
|
101
|
+
"national char",
|
|
102
|
+
"varchar",
|
|
103
|
+
"nvarchar", // synonym for national varchar
|
|
104
|
+
"national varchar",
|
|
105
|
+
"blob",
|
|
106
|
+
"text",
|
|
107
|
+
"tinyblob",
|
|
108
|
+
"tinytext",
|
|
109
|
+
"mediumblob",
|
|
110
|
+
"mediumtext",
|
|
111
|
+
"longblob",
|
|
112
|
+
"longtext",
|
|
113
|
+
"enum",
|
|
114
|
+
"set",
|
|
115
|
+
"binary",
|
|
116
|
+
"varbinary",
|
|
117
|
+
// json data type
|
|
118
|
+
"json",
|
|
119
|
+
// spatial data types
|
|
120
|
+
"geometry",
|
|
121
|
+
"point",
|
|
122
|
+
"linestring",
|
|
123
|
+
"polygon",
|
|
124
|
+
"multipoint",
|
|
125
|
+
"multilinestring",
|
|
126
|
+
"multipolygon",
|
|
127
|
+
"geometrycollection",
|
|
128
|
+
];
|
|
129
|
+
/**
|
|
130
|
+
* Returns type of upsert supported by driver if any
|
|
131
|
+
*/
|
|
132
|
+
supportedUpsertType = "on-duplicate-key-update";
|
|
133
|
+
/**
|
|
134
|
+
* Gets list of spatial column data types.
|
|
135
|
+
*/
|
|
136
|
+
spatialTypes = [
|
|
137
|
+
"geometry",
|
|
138
|
+
"point",
|
|
139
|
+
"linestring",
|
|
140
|
+
"polygon",
|
|
141
|
+
"multipoint",
|
|
142
|
+
"multilinestring",
|
|
143
|
+
"multipolygon",
|
|
144
|
+
"geometrycollection",
|
|
145
|
+
];
|
|
146
|
+
/**
|
|
147
|
+
* Gets list of column data types that support length by a driver.
|
|
148
|
+
*/
|
|
149
|
+
withLengthColumnTypes = [
|
|
150
|
+
"char",
|
|
151
|
+
"varchar",
|
|
152
|
+
"nvarchar",
|
|
153
|
+
"binary",
|
|
154
|
+
"varbinary",
|
|
155
|
+
];
|
|
156
|
+
/**
|
|
157
|
+
* Gets list of column data types that support length by a driver.
|
|
158
|
+
*/
|
|
159
|
+
withWidthColumnTypes = [
|
|
160
|
+
"bit",
|
|
161
|
+
"tinyint",
|
|
162
|
+
"smallint",
|
|
163
|
+
"mediumint",
|
|
164
|
+
"int",
|
|
165
|
+
"integer",
|
|
166
|
+
"bigint",
|
|
167
|
+
];
|
|
168
|
+
/**
|
|
169
|
+
* Gets list of column data types that support precision by a driver.
|
|
170
|
+
*/
|
|
171
|
+
withPrecisionColumnTypes = [
|
|
172
|
+
"decimal",
|
|
173
|
+
"dec",
|
|
174
|
+
"numeric",
|
|
175
|
+
"fixed",
|
|
176
|
+
"float",
|
|
177
|
+
"double",
|
|
178
|
+
"double precision",
|
|
179
|
+
"real",
|
|
180
|
+
"time",
|
|
181
|
+
"datetime",
|
|
182
|
+
"timestamp",
|
|
183
|
+
];
|
|
184
|
+
/**
|
|
185
|
+
* Gets list of column data types that supports scale by a driver.
|
|
186
|
+
*/
|
|
187
|
+
withScaleColumnTypes = [
|
|
188
|
+
"decimal",
|
|
189
|
+
"dec",
|
|
190
|
+
"numeric",
|
|
191
|
+
"fixed",
|
|
192
|
+
"float",
|
|
193
|
+
"double",
|
|
194
|
+
"double precision",
|
|
195
|
+
"real",
|
|
196
|
+
];
|
|
197
|
+
/**
|
|
198
|
+
* Gets list of column data types that supports UNSIGNED and ZEROFILL attributes.
|
|
199
|
+
*/
|
|
200
|
+
unsignedAndZerofillTypes = [
|
|
201
|
+
"int",
|
|
202
|
+
"integer",
|
|
203
|
+
"smallint",
|
|
204
|
+
"tinyint",
|
|
205
|
+
"mediumint",
|
|
206
|
+
"bigint",
|
|
207
|
+
"decimal",
|
|
208
|
+
"dec",
|
|
209
|
+
"numeric",
|
|
210
|
+
"fixed",
|
|
211
|
+
"float",
|
|
212
|
+
"double",
|
|
213
|
+
"double precision",
|
|
214
|
+
"real",
|
|
215
|
+
];
|
|
216
|
+
/**
|
|
217
|
+
* ORM has special columns and we need to know what database column types should be for those columns.
|
|
218
|
+
* Column types are driver dependant.
|
|
219
|
+
*/
|
|
220
|
+
mappedDataTypes = {
|
|
221
|
+
createDate: "datetime",
|
|
222
|
+
createDatePrecision: 6,
|
|
223
|
+
createDateDefault: "CURRENT_TIMESTAMP(6)",
|
|
224
|
+
updateDate: "datetime",
|
|
225
|
+
updateDatePrecision: 6,
|
|
226
|
+
updateDateDefault: "CURRENT_TIMESTAMP(6)",
|
|
227
|
+
deleteDate: "datetime",
|
|
228
|
+
deleteDatePrecision: 6,
|
|
229
|
+
deleteDateNullable: true,
|
|
230
|
+
version: "int",
|
|
231
|
+
treeLevel: "int",
|
|
232
|
+
migrationId: "int",
|
|
233
|
+
migrationName: "varchar",
|
|
234
|
+
migrationTimestamp: "bigint",
|
|
235
|
+
cacheId: "int",
|
|
236
|
+
cacheIdentifier: "varchar",
|
|
237
|
+
cacheTime: "bigint",
|
|
238
|
+
cacheDuration: "int",
|
|
239
|
+
cacheQuery: "text",
|
|
240
|
+
cacheResult: "text",
|
|
241
|
+
metadataType: "varchar",
|
|
242
|
+
metadataDatabase: "varchar",
|
|
243
|
+
metadataSchema: "varchar",
|
|
244
|
+
metadataTable: "varchar",
|
|
245
|
+
metadataName: "varchar",
|
|
246
|
+
metadataValue: "text",
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Default values of length, precision and scale depends on column data type.
|
|
250
|
+
* Used in the cases when length/precision/scale is not specified by user.
|
|
251
|
+
*/
|
|
252
|
+
dataTypeDefaults = {
|
|
253
|
+
varchar: { length: 255 },
|
|
254
|
+
nvarchar: { length: 255 },
|
|
255
|
+
"national varchar": { length: 255 },
|
|
256
|
+
char: { length: 1 },
|
|
257
|
+
binary: { length: 1 },
|
|
258
|
+
varbinary: { length: 255 },
|
|
259
|
+
decimal: { precision: 10, scale: 0 },
|
|
260
|
+
dec: { precision: 10, scale: 0 },
|
|
261
|
+
numeric: { precision: 10, scale: 0 },
|
|
262
|
+
fixed: { precision: 10, scale: 0 },
|
|
263
|
+
float: { precision: 12 },
|
|
264
|
+
double: { precision: 22 },
|
|
265
|
+
time: { precision: 0 },
|
|
266
|
+
datetime: { precision: 0 },
|
|
267
|
+
timestamp: { precision: 0 },
|
|
268
|
+
bit: { width: 1 },
|
|
269
|
+
int: { width: 11 },
|
|
270
|
+
integer: { width: 11 },
|
|
271
|
+
tinyint: { width: 4 },
|
|
272
|
+
smallint: { width: 6 },
|
|
273
|
+
mediumint: { width: 9 },
|
|
274
|
+
bigint: { width: 20 },
|
|
275
|
+
};
|
|
276
|
+
/**
|
|
277
|
+
* Max length allowed by MySQL for aliases.
|
|
278
|
+
* @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html
|
|
279
|
+
*/
|
|
280
|
+
maxAliasLength = 63;
|
|
281
|
+
cteCapabilities = {
|
|
282
|
+
enabled: false,
|
|
283
|
+
requiresRecursiveHint: true,
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* Supported returning types
|
|
287
|
+
*/
|
|
288
|
+
_isReturningSqlSupported = {
|
|
289
|
+
delete: false,
|
|
290
|
+
insert: false,
|
|
291
|
+
update: false,
|
|
292
|
+
};
|
|
21
293
|
// -------------------------------------------------------------------------
|
|
22
294
|
// Constructor
|
|
23
295
|
// -------------------------------------------------------------------------
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Indicates if replication is enabled.
|
|
27
|
-
*/
|
|
28
|
-
this.isReplicated = false;
|
|
29
|
-
/**
|
|
30
|
-
* Indicates if tree tables are supported by this driver.
|
|
31
|
-
*/
|
|
32
|
-
this.treeSupport = true;
|
|
33
|
-
/**
|
|
34
|
-
* Represent transaction support by this driver
|
|
35
|
-
*/
|
|
36
|
-
this.transactionSupport = "nested";
|
|
37
|
-
/**
|
|
38
|
-
* Gets list of supported column data types by a driver.
|
|
39
|
-
*
|
|
40
|
-
* @see https://www.tutorialspoint.com/mysql/mysql-data-types.htm
|
|
41
|
-
* @see https://dev.mysql.com/doc/refman/8.0/en/data-types.html
|
|
42
|
-
*/
|
|
43
|
-
this.supportedDataTypes = [
|
|
44
|
-
// numeric types
|
|
45
|
-
"bit",
|
|
46
|
-
"int",
|
|
47
|
-
"integer", // synonym for int
|
|
48
|
-
"tinyint",
|
|
49
|
-
"smallint",
|
|
50
|
-
"mediumint",
|
|
51
|
-
"bigint",
|
|
52
|
-
"float",
|
|
53
|
-
"double",
|
|
54
|
-
"double precision", // synonym for double
|
|
55
|
-
"real", // synonym for double
|
|
56
|
-
"decimal",
|
|
57
|
-
"dec", // synonym for decimal
|
|
58
|
-
"numeric", // synonym for decimal
|
|
59
|
-
"fixed", // synonym for decimal
|
|
60
|
-
"bool", // synonym for tinyint
|
|
61
|
-
"boolean", // synonym for tinyint
|
|
62
|
-
// date and time types
|
|
63
|
-
"date",
|
|
64
|
-
"datetime",
|
|
65
|
-
"timestamp",
|
|
66
|
-
"time",
|
|
67
|
-
"year",
|
|
68
|
-
// string types
|
|
69
|
-
"char",
|
|
70
|
-
"nchar", // synonym for national char
|
|
71
|
-
"national char",
|
|
72
|
-
"varchar",
|
|
73
|
-
"nvarchar", // synonym for national varchar
|
|
74
|
-
"national varchar",
|
|
75
|
-
"blob",
|
|
76
|
-
"text",
|
|
77
|
-
"tinyblob",
|
|
78
|
-
"tinytext",
|
|
79
|
-
"mediumblob",
|
|
80
|
-
"mediumtext",
|
|
81
|
-
"longblob",
|
|
82
|
-
"longtext",
|
|
83
|
-
"enum",
|
|
84
|
-
"set",
|
|
85
|
-
"binary",
|
|
86
|
-
"varbinary",
|
|
87
|
-
// json data type
|
|
88
|
-
"json",
|
|
89
|
-
// spatial data types
|
|
90
|
-
"geometry",
|
|
91
|
-
"point",
|
|
92
|
-
"linestring",
|
|
93
|
-
"polygon",
|
|
94
|
-
"multipoint",
|
|
95
|
-
"multilinestring",
|
|
96
|
-
"multipolygon",
|
|
97
|
-
"geometrycollection",
|
|
98
|
-
];
|
|
99
|
-
/**
|
|
100
|
-
* Returns type of upsert supported by driver if any
|
|
101
|
-
*/
|
|
102
|
-
this.supportedUpsertType = "on-duplicate-key-update";
|
|
103
|
-
/**
|
|
104
|
-
* Gets list of spatial column data types.
|
|
105
|
-
*/
|
|
106
|
-
this.spatialTypes = [
|
|
107
|
-
"geometry",
|
|
108
|
-
"point",
|
|
109
|
-
"linestring",
|
|
110
|
-
"polygon",
|
|
111
|
-
"multipoint",
|
|
112
|
-
"multilinestring",
|
|
113
|
-
"multipolygon",
|
|
114
|
-
"geometrycollection",
|
|
115
|
-
];
|
|
116
|
-
/**
|
|
117
|
-
* Gets list of column data types that support length by a driver.
|
|
118
|
-
*/
|
|
119
|
-
this.withLengthColumnTypes = [
|
|
120
|
-
"char",
|
|
121
|
-
"varchar",
|
|
122
|
-
"nvarchar",
|
|
123
|
-
"binary",
|
|
124
|
-
"varbinary",
|
|
125
|
-
];
|
|
126
|
-
/**
|
|
127
|
-
* Gets list of column data types that support length by a driver.
|
|
128
|
-
*/
|
|
129
|
-
this.withWidthColumnTypes = [
|
|
130
|
-
"bit",
|
|
131
|
-
"tinyint",
|
|
132
|
-
"smallint",
|
|
133
|
-
"mediumint",
|
|
134
|
-
"int",
|
|
135
|
-
"integer",
|
|
136
|
-
"bigint",
|
|
137
|
-
];
|
|
138
|
-
/**
|
|
139
|
-
* Gets list of column data types that support precision by a driver.
|
|
140
|
-
*/
|
|
141
|
-
this.withPrecisionColumnTypes = [
|
|
142
|
-
"decimal",
|
|
143
|
-
"dec",
|
|
144
|
-
"numeric",
|
|
145
|
-
"fixed",
|
|
146
|
-
"float",
|
|
147
|
-
"double",
|
|
148
|
-
"double precision",
|
|
149
|
-
"real",
|
|
150
|
-
"time",
|
|
151
|
-
"datetime",
|
|
152
|
-
"timestamp",
|
|
153
|
-
];
|
|
154
|
-
/**
|
|
155
|
-
* Gets list of column data types that supports scale by a driver.
|
|
156
|
-
*/
|
|
157
|
-
this.withScaleColumnTypes = [
|
|
158
|
-
"decimal",
|
|
159
|
-
"dec",
|
|
160
|
-
"numeric",
|
|
161
|
-
"fixed",
|
|
162
|
-
"float",
|
|
163
|
-
"double",
|
|
164
|
-
"double precision",
|
|
165
|
-
"real",
|
|
166
|
-
];
|
|
167
|
-
/**
|
|
168
|
-
* Gets list of column data types that supports UNSIGNED and ZEROFILL attributes.
|
|
169
|
-
*/
|
|
170
|
-
this.unsignedAndZerofillTypes = [
|
|
171
|
-
"int",
|
|
172
|
-
"integer",
|
|
173
|
-
"smallint",
|
|
174
|
-
"tinyint",
|
|
175
|
-
"mediumint",
|
|
176
|
-
"bigint",
|
|
177
|
-
"decimal",
|
|
178
|
-
"dec",
|
|
179
|
-
"numeric",
|
|
180
|
-
"fixed",
|
|
181
|
-
"float",
|
|
182
|
-
"double",
|
|
183
|
-
"double precision",
|
|
184
|
-
"real",
|
|
185
|
-
];
|
|
186
|
-
/**
|
|
187
|
-
* ORM has special columns and we need to know what database column types should be for those columns.
|
|
188
|
-
* Column types are driver dependant.
|
|
189
|
-
*/
|
|
190
|
-
this.mappedDataTypes = {
|
|
191
|
-
createDate: "datetime",
|
|
192
|
-
createDatePrecision: 6,
|
|
193
|
-
createDateDefault: "CURRENT_TIMESTAMP(6)",
|
|
194
|
-
updateDate: "datetime",
|
|
195
|
-
updateDatePrecision: 6,
|
|
196
|
-
updateDateDefault: "CURRENT_TIMESTAMP(6)",
|
|
197
|
-
deleteDate: "datetime",
|
|
198
|
-
deleteDatePrecision: 6,
|
|
199
|
-
deleteDateNullable: true,
|
|
200
|
-
version: "int",
|
|
201
|
-
treeLevel: "int",
|
|
202
|
-
migrationId: "int",
|
|
203
|
-
migrationName: "varchar",
|
|
204
|
-
migrationTimestamp: "bigint",
|
|
205
|
-
cacheId: "int",
|
|
206
|
-
cacheIdentifier: "varchar",
|
|
207
|
-
cacheTime: "bigint",
|
|
208
|
-
cacheDuration: "int",
|
|
209
|
-
cacheQuery: "text",
|
|
210
|
-
cacheResult: "text",
|
|
211
|
-
metadataType: "varchar",
|
|
212
|
-
metadataDatabase: "varchar",
|
|
213
|
-
metadataSchema: "varchar",
|
|
214
|
-
metadataTable: "varchar",
|
|
215
|
-
metadataName: "varchar",
|
|
216
|
-
metadataValue: "text",
|
|
217
|
-
};
|
|
218
|
-
/**
|
|
219
|
-
* Default values of length, precision and scale depends on column data type.
|
|
220
|
-
* Used in the cases when length/precision/scale is not specified by user.
|
|
221
|
-
*/
|
|
222
|
-
this.dataTypeDefaults = {
|
|
223
|
-
varchar: { length: 255 },
|
|
224
|
-
nvarchar: { length: 255 },
|
|
225
|
-
"national varchar": { length: 255 },
|
|
226
|
-
char: { length: 1 },
|
|
227
|
-
binary: { length: 1 },
|
|
228
|
-
varbinary: { length: 255 },
|
|
229
|
-
decimal: { precision: 10, scale: 0 },
|
|
230
|
-
dec: { precision: 10, scale: 0 },
|
|
231
|
-
numeric: { precision: 10, scale: 0 },
|
|
232
|
-
fixed: { precision: 10, scale: 0 },
|
|
233
|
-
float: { precision: 12 },
|
|
234
|
-
double: { precision: 22 },
|
|
235
|
-
time: { precision: 0 },
|
|
236
|
-
datetime: { precision: 0 },
|
|
237
|
-
timestamp: { precision: 0 },
|
|
238
|
-
bit: { width: 1 },
|
|
239
|
-
int: { width: 11 },
|
|
240
|
-
integer: { width: 11 },
|
|
241
|
-
tinyint: { width: 4 },
|
|
242
|
-
smallint: { width: 6 },
|
|
243
|
-
mediumint: { width: 9 },
|
|
244
|
-
bigint: { width: 20 },
|
|
245
|
-
};
|
|
246
|
-
/**
|
|
247
|
-
* Max length allowed by MySQL for aliases.
|
|
248
|
-
* @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html
|
|
249
|
-
*/
|
|
250
|
-
this.maxAliasLength = 63;
|
|
251
|
-
this.cteCapabilities = {
|
|
252
|
-
enabled: false,
|
|
253
|
-
requiresRecursiveHint: true,
|
|
254
|
-
};
|
|
255
|
-
/**
|
|
256
|
-
* Supported returning types
|
|
257
|
-
*/
|
|
258
|
-
this._isReturningSqlSupported = {
|
|
259
|
-
delete: false,
|
|
260
|
-
insert: false,
|
|
261
|
-
update: false,
|
|
262
|
-
};
|
|
296
|
+
constructor(connection) {
|
|
263
297
|
this.connection = connection;
|
|
264
|
-
this.options =
|
|
298
|
+
this.options = {
|
|
299
|
+
legacySpatialSupport: true,
|
|
300
|
+
...connection.options,
|
|
301
|
+
};
|
|
265
302
|
this.isReplicated = this.options.replication ? true : false;
|
|
266
303
|
// load mysql package
|
|
267
304
|
this.loadDependencies();
|
|
@@ -285,136 +322,103 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
285
322
|
/**
|
|
286
323
|
* Performs connection to the database.
|
|
287
324
|
*/
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
switch (_c.label) {
|
|
294
|
-
case 0:
|
|
295
|
-
if (!this.options.replication) return [3 /*break*/, 1];
|
|
296
|
-
this.poolCluster = this.mysql.createPoolCluster(this.options.replication);
|
|
297
|
-
this.options.replication.slaves.forEach(function (slave, index) {
|
|
298
|
-
_this.poolCluster.add("SLAVE" + index, _this.createConnectionOptions(_this.options, slave));
|
|
299
|
-
});
|
|
300
|
-
this.poolCluster.add("MASTER", this.createConnectionOptions(this.options, this.options.replication.master));
|
|
301
|
-
return [3 /*break*/, 3];
|
|
302
|
-
case 1:
|
|
303
|
-
_a = this;
|
|
304
|
-
return [4 /*yield*/, this.createPool(this.createConnectionOptions(this.options, this.options))];
|
|
305
|
-
case 2:
|
|
306
|
-
_a.pool = _c.sent();
|
|
307
|
-
_c.label = 3;
|
|
308
|
-
case 3:
|
|
309
|
-
if (!!this.database) return [3 /*break*/, 7];
|
|
310
|
-
return [4 /*yield*/, this.createQueryRunner("master")];
|
|
311
|
-
case 4:
|
|
312
|
-
queryRunner_1 = _c.sent();
|
|
313
|
-
_b = this;
|
|
314
|
-
return [4 /*yield*/, queryRunner_1.getCurrentDatabase()];
|
|
315
|
-
case 5:
|
|
316
|
-
_b.database = _c.sent();
|
|
317
|
-
return [4 /*yield*/, queryRunner_1.release()];
|
|
318
|
-
case 6:
|
|
319
|
-
_c.sent();
|
|
320
|
-
_c.label = 7;
|
|
321
|
-
case 7:
|
|
322
|
-
queryRunner = this.createQueryRunner("master");
|
|
323
|
-
return [4 /*yield*/, queryRunner.query("SELECT VERSION() AS `version`")];
|
|
324
|
-
case 8:
|
|
325
|
-
result = _c.sent();
|
|
326
|
-
dbVersion = result[0].version;
|
|
327
|
-
this.version = dbVersion;
|
|
328
|
-
return [4 /*yield*/, queryRunner.release()];
|
|
329
|
-
case 9:
|
|
330
|
-
_c.sent();
|
|
331
|
-
if (this.options.type === "mariadb") {
|
|
332
|
-
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.0.5")) {
|
|
333
|
-
this._isReturningSqlSupported.delete = true;
|
|
334
|
-
}
|
|
335
|
-
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.5.0")) {
|
|
336
|
-
this._isReturningSqlSupported.insert = true;
|
|
337
|
-
}
|
|
338
|
-
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.2.0")) {
|
|
339
|
-
this.cteCapabilities.enabled = true;
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
else if (this.options.type === "mysql") {
|
|
343
|
-
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "8.0.0")) {
|
|
344
|
-
this.cteCapabilities.enabled = true;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
return [2 /*return*/];
|
|
348
|
-
}
|
|
325
|
+
async connect() {
|
|
326
|
+
if (this.options.replication) {
|
|
327
|
+
this.poolCluster = this.mysql.createPoolCluster(this.options.replication);
|
|
328
|
+
this.options.replication.slaves.forEach((slave, index) => {
|
|
329
|
+
this.poolCluster.add("SLAVE" + index, this.createConnectionOptions(this.options, slave));
|
|
349
330
|
});
|
|
350
|
-
|
|
351
|
-
|
|
331
|
+
this.poolCluster.add("MASTER", this.createConnectionOptions(this.options, this.options.replication.master));
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
this.pool = await this.createPool(this.createConnectionOptions(this.options, this.options));
|
|
335
|
+
}
|
|
336
|
+
if (!this.database) {
|
|
337
|
+
const queryRunner = await this.createQueryRunner("master");
|
|
338
|
+
this.database = await queryRunner.getCurrentDatabase();
|
|
339
|
+
await queryRunner.release();
|
|
340
|
+
}
|
|
341
|
+
const queryRunner = this.createQueryRunner("master");
|
|
342
|
+
const result = await queryRunner.query(`SELECT VERSION() AS \`version\``);
|
|
343
|
+
const dbVersion = result[0].version;
|
|
344
|
+
this.version = dbVersion;
|
|
345
|
+
await queryRunner.release();
|
|
346
|
+
if (this.options.type === "mariadb") {
|
|
347
|
+
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.0.5")) {
|
|
348
|
+
this._isReturningSqlSupported.delete = true;
|
|
349
|
+
}
|
|
350
|
+
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.5.0")) {
|
|
351
|
+
this._isReturningSqlSupported.insert = true;
|
|
352
|
+
}
|
|
353
|
+
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.2.0")) {
|
|
354
|
+
this.cteCapabilities.enabled = true;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
else if (this.options.type === "mysql") {
|
|
358
|
+
if (VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "8.0.0")) {
|
|
359
|
+
this.cteCapabilities.enabled = true;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
352
363
|
/**
|
|
353
364
|
* Makes any action after connection (e.g. create extensions in Postgres driver).
|
|
354
365
|
*/
|
|
355
|
-
|
|
366
|
+
afterConnect() {
|
|
356
367
|
return Promise.resolve();
|
|
357
|
-
}
|
|
368
|
+
}
|
|
358
369
|
/**
|
|
359
370
|
* Closes connection with the database.
|
|
360
371
|
*/
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
return [2 /*return*/, new Promise(function (ok, fail) {
|
|
369
|
-
_this.poolCluster.end(function (err) { return (err ? fail(err) : ok()); });
|
|
370
|
-
_this.poolCluster = undefined;
|
|
371
|
-
})];
|
|
372
|
-
}
|
|
373
|
-
if (this.pool) {
|
|
374
|
-
return [2 /*return*/, new Promise(function (ok, fail) {
|
|
375
|
-
_this.pool.end(function (err) {
|
|
376
|
-
if (err)
|
|
377
|
-
return fail(err);
|
|
378
|
-
_this.pool = undefined;
|
|
379
|
-
ok();
|
|
380
|
-
});
|
|
381
|
-
})];
|
|
382
|
-
}
|
|
383
|
-
return [2 /*return*/];
|
|
372
|
+
async disconnect() {
|
|
373
|
+
if (!this.poolCluster && !this.pool)
|
|
374
|
+
return Promise.reject(new ConnectionIsNotSetError_1.ConnectionIsNotSetError("mysql"));
|
|
375
|
+
if (this.poolCluster) {
|
|
376
|
+
return new Promise((ok, fail) => {
|
|
377
|
+
this.poolCluster.end((err) => (err ? fail(err) : ok()));
|
|
378
|
+
this.poolCluster = undefined;
|
|
384
379
|
});
|
|
385
|
-
}
|
|
386
|
-
|
|
380
|
+
}
|
|
381
|
+
if (this.pool) {
|
|
382
|
+
return new Promise((ok, fail) => {
|
|
383
|
+
this.pool.end((err) => {
|
|
384
|
+
if (err)
|
|
385
|
+
return fail(err);
|
|
386
|
+
this.pool = undefined;
|
|
387
|
+
ok();
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
}
|
|
387
392
|
/**
|
|
388
393
|
* Creates a schema builder used to build and sync a schema.
|
|
389
394
|
*/
|
|
390
|
-
|
|
395
|
+
createSchemaBuilder() {
|
|
391
396
|
return new RdbmsSchemaBuilder_1.RdbmsSchemaBuilder(this.connection);
|
|
392
|
-
}
|
|
397
|
+
}
|
|
393
398
|
/**
|
|
394
399
|
* Creates a query runner used to execute database queries.
|
|
395
400
|
*/
|
|
396
|
-
|
|
401
|
+
createQueryRunner(mode) {
|
|
397
402
|
return new MysqlQueryRunner_1.MysqlQueryRunner(this, mode);
|
|
398
|
-
}
|
|
403
|
+
}
|
|
399
404
|
/**
|
|
400
405
|
* Replaces parameters in the given sql with special escaping character
|
|
401
406
|
* and an array of parameter names to be passed to a query.
|
|
402
407
|
*/
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
var escapedParameters = Object.keys(nativeParameters).map(function (key) { return nativeParameters[key]; });
|
|
408
|
+
escapeQueryWithParameters(sql, parameters, nativeParameters) {
|
|
409
|
+
const escapedParameters = Object.keys(nativeParameters).map((key) => nativeParameters[key]);
|
|
406
410
|
if (!parameters || !Object.keys(parameters).length)
|
|
407
411
|
return [sql, escapedParameters];
|
|
408
|
-
sql = sql.replace(/:(\.\.\.)?([A-Za-z0-9_.]+)/g,
|
|
412
|
+
sql = sql.replace(/:(\.\.\.)?([A-Za-z0-9_.]+)/g, (full, isArray, key) => {
|
|
409
413
|
if (!parameters.hasOwnProperty(key)) {
|
|
410
414
|
return full;
|
|
411
415
|
}
|
|
412
|
-
|
|
416
|
+
let value = parameters[key];
|
|
413
417
|
if (isArray) {
|
|
414
418
|
return value
|
|
415
|
-
.map(
|
|
419
|
+
.map((v) => {
|
|
416
420
|
escapedParameters.push(v);
|
|
417
|
-
return
|
|
421
|
+
return this.createParameter(key, escapedParameters.length - 1);
|
|
418
422
|
})
|
|
419
423
|
.join(", ");
|
|
420
424
|
}
|
|
@@ -422,35 +426,35 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
422
426
|
return value();
|
|
423
427
|
}
|
|
424
428
|
escapedParameters.push(value);
|
|
425
|
-
return
|
|
429
|
+
return this.createParameter(key, escapedParameters.length - 1);
|
|
426
430
|
}); // todo: make replace only in value statements, otherwise problems
|
|
427
431
|
return [sql, escapedParameters];
|
|
428
|
-
}
|
|
432
|
+
}
|
|
429
433
|
/**
|
|
430
434
|
* Escapes a column name.
|
|
431
435
|
*/
|
|
432
|
-
|
|
436
|
+
escape(columnName) {
|
|
433
437
|
return "`" + columnName + "`";
|
|
434
|
-
}
|
|
438
|
+
}
|
|
435
439
|
/**
|
|
436
440
|
* Build full table name with database name, schema name and table name.
|
|
437
441
|
* E.g. myDB.mySchema.myTable
|
|
438
442
|
*/
|
|
439
|
-
|
|
440
|
-
|
|
443
|
+
buildTableName(tableName, schema, database) {
|
|
444
|
+
let tablePath = [tableName];
|
|
441
445
|
if (database) {
|
|
442
446
|
tablePath.unshift(database);
|
|
443
447
|
}
|
|
444
448
|
return tablePath.join(".");
|
|
445
|
-
}
|
|
449
|
+
}
|
|
446
450
|
/**
|
|
447
451
|
* Parse a target table name or other types and return a normalized table definition.
|
|
448
452
|
*/
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
453
|
+
parseTableName(target) {
|
|
454
|
+
const driverDatabase = this.database;
|
|
455
|
+
const driverSchema = undefined;
|
|
452
456
|
if (InstanceChecker_1.InstanceChecker.isTable(target) || InstanceChecker_1.InstanceChecker.isView(target)) {
|
|
453
|
-
|
|
457
|
+
const parsed = this.parseTableName(target.name);
|
|
454
458
|
return {
|
|
455
459
|
database: target.database || parsed.database || driverDatabase,
|
|
456
460
|
schema: target.schema || parsed.schema || driverSchema,
|
|
@@ -458,7 +462,7 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
458
462
|
};
|
|
459
463
|
}
|
|
460
464
|
if (InstanceChecker_1.InstanceChecker.isTableForeignKey(target)) {
|
|
461
|
-
|
|
465
|
+
const parsed = this.parseTableName(target.referencedTableName);
|
|
462
466
|
return {
|
|
463
467
|
database: target.referencedDatabase ||
|
|
464
468
|
parsed.database ||
|
|
@@ -475,17 +479,17 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
475
479
|
tableName: target.tableName,
|
|
476
480
|
};
|
|
477
481
|
}
|
|
478
|
-
|
|
482
|
+
const parts = target.split(".");
|
|
479
483
|
return {
|
|
480
484
|
database: (parts.length > 1 ? parts[0] : undefined) || driverDatabase,
|
|
481
485
|
schema: driverSchema,
|
|
482
486
|
tableName: parts.length > 1 ? parts[1] : parts[0],
|
|
483
487
|
};
|
|
484
|
-
}
|
|
488
|
+
}
|
|
485
489
|
/**
|
|
486
490
|
* Prepares given value to a value to be persisted, based on its column type and metadata.
|
|
487
491
|
*/
|
|
488
|
-
|
|
492
|
+
preparePersistentValue(value, columnMetadata) {
|
|
489
493
|
if (columnMetadata.transformer)
|
|
490
494
|
value = ApplyValueTransformers_1.ApplyValueTransformers.transformTo(columnMetadata.transformer, value);
|
|
491
495
|
if (value === null || value === undefined)
|
|
@@ -525,11 +529,11 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
525
529
|
value = !isNaN(+value) ? parseInt(value) : value;
|
|
526
530
|
}
|
|
527
531
|
return value;
|
|
528
|
-
}
|
|
532
|
+
}
|
|
529
533
|
/**
|
|
530
534
|
* Prepares given value to a value to be persisted, based on its column type or metadata.
|
|
531
535
|
*/
|
|
532
|
-
|
|
536
|
+
prepareHydratedValue(value, columnMetadata) {
|
|
533
537
|
if (value === null || value === undefined)
|
|
534
538
|
return columnMetadata.transformer
|
|
535
539
|
? ApplyValueTransformers_1.ApplyValueTransformers.transformFrom(columnMetadata.transformer, value)
|
|
@@ -576,11 +580,11 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
576
580
|
if (columnMetadata.transformer)
|
|
577
581
|
value = ApplyValueTransformers_1.ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);
|
|
578
582
|
return value;
|
|
579
|
-
}
|
|
583
|
+
}
|
|
580
584
|
/**
|
|
581
585
|
* Creates a database type from a given column metadata.
|
|
582
586
|
*/
|
|
583
|
-
|
|
587
|
+
normalizeType(column) {
|
|
584
588
|
if (column.type === Number || column.type === "integer") {
|
|
585
589
|
return "int";
|
|
586
590
|
}
|
|
@@ -637,12 +641,12 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
637
641
|
else {
|
|
638
642
|
return column.type || "";
|
|
639
643
|
}
|
|
640
|
-
}
|
|
644
|
+
}
|
|
641
645
|
/**
|
|
642
646
|
* Normalizes "default" value of the column.
|
|
643
647
|
*/
|
|
644
|
-
|
|
645
|
-
|
|
648
|
+
normalizeDefault(columnMetadata) {
|
|
649
|
+
const defaultValue = columnMetadata.default;
|
|
646
650
|
if (defaultValue === null) {
|
|
647
651
|
return undefined;
|
|
648
652
|
}
|
|
@@ -650,40 +654,38 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
650
654
|
columnMetadata.type === "simple-enum" ||
|
|
651
655
|
typeof defaultValue === "string") &&
|
|
652
656
|
defaultValue !== undefined) {
|
|
653
|
-
return
|
|
657
|
+
return `'${defaultValue}'`;
|
|
654
658
|
}
|
|
655
659
|
if (columnMetadata.type === "set" && defaultValue !== undefined) {
|
|
656
|
-
return
|
|
660
|
+
return `'${DateUtils_1.DateUtils.simpleArrayToString(defaultValue)}'`;
|
|
657
661
|
}
|
|
658
662
|
if (typeof defaultValue === "number") {
|
|
659
|
-
return
|
|
663
|
+
return `'${defaultValue.toFixed(columnMetadata.scale)}'`;
|
|
660
664
|
}
|
|
661
665
|
if (typeof defaultValue === "boolean") {
|
|
662
666
|
return defaultValue ? "1" : "0";
|
|
663
667
|
}
|
|
664
668
|
if (typeof defaultValue === "function") {
|
|
665
|
-
|
|
669
|
+
const value = defaultValue();
|
|
666
670
|
return this.normalizeDatetimeFunction(value);
|
|
667
671
|
}
|
|
668
672
|
if (defaultValue === undefined) {
|
|
669
673
|
return undefined;
|
|
670
674
|
}
|
|
671
|
-
return
|
|
672
|
-
}
|
|
675
|
+
return `${defaultValue}`;
|
|
676
|
+
}
|
|
673
677
|
/**
|
|
674
678
|
* Normalizes "isUnique" value of the column.
|
|
675
679
|
*/
|
|
676
|
-
|
|
677
|
-
return column.entityMetadata.indices.some(
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
});
|
|
682
|
-
};
|
|
680
|
+
normalizeIsUnique(column) {
|
|
681
|
+
return column.entityMetadata.indices.some((idx) => idx.isUnique &&
|
|
682
|
+
idx.columns.length === 1 &&
|
|
683
|
+
idx.columns[0] === column);
|
|
684
|
+
}
|
|
683
685
|
/**
|
|
684
686
|
* Returns default column lengths, which is required on column creation.
|
|
685
687
|
*/
|
|
686
|
-
|
|
688
|
+
getColumnLength(column) {
|
|
687
689
|
if (column.length)
|
|
688
690
|
return column.length.toString();
|
|
689
691
|
/**
|
|
@@ -702,83 +704,81 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
702
704
|
default:
|
|
703
705
|
return "";
|
|
704
706
|
}
|
|
705
|
-
}
|
|
707
|
+
}
|
|
706
708
|
/**
|
|
707
709
|
* Creates column type definition including length, precision and scale
|
|
708
710
|
*/
|
|
709
|
-
|
|
710
|
-
|
|
711
|
+
createFullType(column) {
|
|
712
|
+
let type = column.type;
|
|
711
713
|
// used 'getColumnLength()' method, because MySQL requires column length for `varchar`, `nvarchar` and `varbinary` data types
|
|
712
714
|
if (this.getColumnLength(column)) {
|
|
713
|
-
type +=
|
|
715
|
+
type += `(${this.getColumnLength(column)})`;
|
|
714
716
|
}
|
|
715
717
|
else if (column.width) {
|
|
716
|
-
type +=
|
|
718
|
+
type += `(${column.width})`;
|
|
717
719
|
}
|
|
718
720
|
else if (column.precision !== null &&
|
|
719
721
|
column.precision !== undefined &&
|
|
720
722
|
column.scale !== null &&
|
|
721
723
|
column.scale !== undefined) {
|
|
722
|
-
type +=
|
|
724
|
+
type += `(${column.precision},${column.scale})`;
|
|
723
725
|
}
|
|
724
726
|
else if (column.precision !== null &&
|
|
725
727
|
column.precision !== undefined) {
|
|
726
|
-
type +=
|
|
728
|
+
type += `(${column.precision})`;
|
|
727
729
|
}
|
|
728
730
|
if (column.isArray)
|
|
729
731
|
type += " array";
|
|
730
732
|
return type;
|
|
731
|
-
}
|
|
733
|
+
}
|
|
732
734
|
/**
|
|
733
735
|
* Obtains a new database connection to a master server.
|
|
734
736
|
* Used for replication.
|
|
735
737
|
* If replication is not setup then returns default connection's database connection.
|
|
736
738
|
*/
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
_this.poolCluster.getConnection("MASTER", function (err, dbConnection) {
|
|
739
|
+
obtainMasterConnection() {
|
|
740
|
+
return new Promise((ok, fail) => {
|
|
741
|
+
if (this.poolCluster) {
|
|
742
|
+
this.poolCluster.getConnection("MASTER", (err, dbConnection) => {
|
|
742
743
|
err
|
|
743
744
|
? fail(err)
|
|
744
|
-
: ok(
|
|
745
|
+
: ok(this.prepareDbConnection(dbConnection));
|
|
745
746
|
});
|
|
746
747
|
}
|
|
747
|
-
else if (
|
|
748
|
-
|
|
749
|
-
err ? fail(err) : ok(
|
|
748
|
+
else if (this.pool) {
|
|
749
|
+
this.pool.getConnection((err, dbConnection) => {
|
|
750
|
+
err ? fail(err) : ok(this.prepareDbConnection(dbConnection));
|
|
750
751
|
});
|
|
751
752
|
}
|
|
752
753
|
else {
|
|
753
|
-
fail(new error_1.TypeORMError(
|
|
754
|
+
fail(new error_1.TypeORMError(`Connection is not established with mysql database`));
|
|
754
755
|
}
|
|
755
756
|
});
|
|
756
|
-
}
|
|
757
|
+
}
|
|
757
758
|
/**
|
|
758
759
|
* Obtains a new database connection to a slave server.
|
|
759
760
|
* Used for replication.
|
|
760
761
|
* If replication is not setup then returns master (default) connection's database connection.
|
|
761
762
|
*/
|
|
762
|
-
|
|
763
|
-
var _this = this;
|
|
763
|
+
obtainSlaveConnection() {
|
|
764
764
|
if (!this.poolCluster)
|
|
765
765
|
return this.obtainMasterConnection();
|
|
766
|
-
return new Promise(
|
|
767
|
-
|
|
768
|
-
err ? fail(err) : ok(
|
|
766
|
+
return new Promise((ok, fail) => {
|
|
767
|
+
this.poolCluster.getConnection("SLAVE*", (err, dbConnection) => {
|
|
768
|
+
err ? fail(err) : ok(this.prepareDbConnection(dbConnection));
|
|
769
769
|
});
|
|
770
770
|
});
|
|
771
|
-
}
|
|
771
|
+
}
|
|
772
772
|
/**
|
|
773
773
|
* Creates generated map of values generated or returned by database after INSERT query.
|
|
774
774
|
*/
|
|
775
|
-
|
|
775
|
+
createGeneratedMap(metadata, insertResult, entityIndex) {
|
|
776
776
|
if (!insertResult) {
|
|
777
777
|
return undefined;
|
|
778
778
|
}
|
|
779
779
|
if (insertResult.insertId === undefined) {
|
|
780
|
-
return Object.keys(insertResult).reduce(
|
|
781
|
-
|
|
780
|
+
return Object.keys(insertResult).reduce((map, key) => {
|
|
781
|
+
const column = metadata.findColumnWithDatabaseName(key);
|
|
782
782
|
if (column) {
|
|
783
783
|
OrmUtils_1.OrmUtils.mergeDeep(map, column.createValueMap(insertResult[key]));
|
|
784
784
|
// OrmUtils.mergeDeep(map, column.createValueMap(this.prepareHydratedValue(insertResult[key], column))); // TODO: probably should be like there, but fails on enums, fix later
|
|
@@ -786,8 +786,8 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
786
786
|
return map;
|
|
787
787
|
}, {});
|
|
788
788
|
}
|
|
789
|
-
|
|
790
|
-
|
|
789
|
+
const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {
|
|
790
|
+
let value;
|
|
791
791
|
if (generatedColumn.generationStrategy === "increment" &&
|
|
792
792
|
insertResult.insertId) {
|
|
793
793
|
// NOTE: When multiple rows is inserted by a single INSERT statement,
|
|
@@ -800,20 +800,19 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
800
800
|
return OrmUtils_1.OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));
|
|
801
801
|
}, {});
|
|
802
802
|
return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;
|
|
803
|
-
}
|
|
803
|
+
}
|
|
804
804
|
/**
|
|
805
805
|
* Differentiate columns of this table and columns from the given column metadatas columns
|
|
806
806
|
* and returns only changed.
|
|
807
807
|
*/
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
var tableColumn = tableColumns.find(function (c) { return c.name === columnMetadata.databaseName; });
|
|
808
|
+
findChangedColumns(tableColumns, columnMetadatas) {
|
|
809
|
+
return columnMetadatas.filter((columnMetadata) => {
|
|
810
|
+
const tableColumn = tableColumns.find((c) => c.name === columnMetadata.databaseName);
|
|
812
811
|
if (!tableColumn)
|
|
813
812
|
return false; // we don't need new columns, we only need exist and changed
|
|
814
|
-
|
|
815
|
-
tableColumn.type !==
|
|
816
|
-
tableColumn.length !==
|
|
813
|
+
const isColumnChanged = tableColumn.name !== columnMetadata.databaseName ||
|
|
814
|
+
tableColumn.type !== this.normalizeType(columnMetadata) ||
|
|
815
|
+
tableColumn.length !== this.getColumnLength(columnMetadata) ||
|
|
817
816
|
tableColumn.width !== columnMetadata.width ||
|
|
818
817
|
(columnMetadata.precision !== undefined &&
|
|
819
818
|
tableColumn.precision !== columnMetadata.precision) ||
|
|
@@ -824,17 +823,17 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
824
823
|
tableColumn.asExpression !== columnMetadata.asExpression ||
|
|
825
824
|
tableColumn.generatedType !== columnMetadata.generatedType ||
|
|
826
825
|
tableColumn.comment !==
|
|
827
|
-
|
|
828
|
-
!
|
|
826
|
+
this.escapeComment(columnMetadata.comment) ||
|
|
827
|
+
!this.compareDefaultValues(this.normalizeDefault(columnMetadata), tableColumn.default) ||
|
|
829
828
|
(tableColumn.enum &&
|
|
830
829
|
columnMetadata.enum &&
|
|
831
|
-
!OrmUtils_1.OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(
|
|
830
|
+
!OrmUtils_1.OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map((val) => val + ""))) ||
|
|
832
831
|
tableColumn.onUpdate !==
|
|
833
|
-
|
|
832
|
+
this.normalizeDatetimeFunction(columnMetadata.onUpdate) ||
|
|
834
833
|
tableColumn.isPrimary !== columnMetadata.isPrimary ||
|
|
835
|
-
!
|
|
834
|
+
!this.compareNullableValues(columnMetadata, tableColumn) ||
|
|
836
835
|
tableColumn.isUnique !==
|
|
837
|
-
|
|
836
|
+
this.normalizeIsUnique(columnMetadata) ||
|
|
838
837
|
(columnMetadata.generationStrategy !== "uuid" &&
|
|
839
838
|
tableColumn.isGenerated !== columnMetadata.isGenerated);
|
|
840
839
|
// DEBUG SECTION
|
|
@@ -927,46 +926,45 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
927
926
|
// }
|
|
928
927
|
return isColumnChanged;
|
|
929
928
|
});
|
|
930
|
-
}
|
|
929
|
+
}
|
|
931
930
|
/**
|
|
932
931
|
* Returns true if driver supports RETURNING / OUTPUT statement.
|
|
933
932
|
*/
|
|
934
|
-
|
|
933
|
+
isReturningSqlSupported(returningType) {
|
|
935
934
|
return this._isReturningSqlSupported[returningType];
|
|
936
|
-
}
|
|
935
|
+
}
|
|
937
936
|
/**
|
|
938
937
|
* Returns true if driver supports uuid values generation on its own.
|
|
939
938
|
*/
|
|
940
|
-
|
|
939
|
+
isUUIDGenerationSupported() {
|
|
941
940
|
return false;
|
|
942
|
-
}
|
|
941
|
+
}
|
|
943
942
|
/**
|
|
944
943
|
* Returns true if driver supports fulltext indices.
|
|
945
944
|
*/
|
|
946
|
-
|
|
945
|
+
isFullTextColumnTypeSupported() {
|
|
947
946
|
return true;
|
|
948
|
-
}
|
|
947
|
+
}
|
|
949
948
|
/**
|
|
950
949
|
* Creates an escaped parameter.
|
|
951
950
|
*/
|
|
952
|
-
|
|
951
|
+
createParameter(parameterName, index) {
|
|
953
952
|
return "?";
|
|
954
|
-
}
|
|
953
|
+
}
|
|
955
954
|
// -------------------------------------------------------------------------
|
|
956
955
|
// Protected Methods
|
|
957
956
|
// -------------------------------------------------------------------------
|
|
958
957
|
/**
|
|
959
958
|
* Loads all driver dependencies.
|
|
960
959
|
*/
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
var fallbackConnectorPackage = connectorPackage === "mysql"
|
|
960
|
+
loadDependencies() {
|
|
961
|
+
const connectorPackage = this.options.connectorPackage ?? "mysql";
|
|
962
|
+
const fallbackConnectorPackage = connectorPackage === "mysql"
|
|
965
963
|
? "mysql2"
|
|
966
964
|
: "mysql";
|
|
967
965
|
try {
|
|
968
966
|
// try to load first supported package
|
|
969
|
-
|
|
967
|
+
const mysql = this.options.driver || PlatformTools_1.PlatformTools.load(connectorPackage);
|
|
970
968
|
this.mysql = mysql;
|
|
971
969
|
/*
|
|
972
970
|
* Some frameworks (such as Jest) may mess up Node's require cache and provide garbage for the 'mysql' module
|
|
@@ -976,7 +974,7 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
976
974
|
* @see https://github.com/typeorm/typeorm/issues/1373
|
|
977
975
|
*/
|
|
978
976
|
if (Object.keys(this.mysql).length === 0) {
|
|
979
|
-
throw new error_1.TypeORMError(
|
|
977
|
+
throw new error_1.TypeORMError(`'${connectorPackage}' was found but it is empty. Falling back to '${fallbackConnectorPackage}'.`);
|
|
980
978
|
}
|
|
981
979
|
}
|
|
982
980
|
catch (e) {
|
|
@@ -987,11 +985,11 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
987
985
|
throw new DriverPackageNotInstalledError_1.DriverPackageNotInstalledError("Mysql", connectorPackage);
|
|
988
986
|
}
|
|
989
987
|
}
|
|
990
|
-
}
|
|
988
|
+
}
|
|
991
989
|
/**
|
|
992
990
|
* Creates a new connection pool for a given database credentials.
|
|
993
991
|
*/
|
|
994
|
-
|
|
992
|
+
createConnectionOptions(options, credentials) {
|
|
995
993
|
credentials = Object.assign({}, credentials, DriverUtils_1.DriverUtils.buildDriverOptions(credentials)); // todo: do it better way
|
|
996
994
|
// build connection options for the driver
|
|
997
995
|
return Object.assign({}, {
|
|
@@ -1021,45 +1019,43 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
1021
1019
|
}, options.acquireTimeout === undefined
|
|
1022
1020
|
? {}
|
|
1023
1021
|
: { acquireTimeout: options.acquireTimeout }, { connectionLimit: options.poolSize }, options.extra || {});
|
|
1024
|
-
}
|
|
1022
|
+
}
|
|
1025
1023
|
/**
|
|
1026
1024
|
* Creates a new connection pool for a given database credentials.
|
|
1027
1025
|
*/
|
|
1028
|
-
|
|
1026
|
+
createPool(connectionOptions) {
|
|
1029
1027
|
// create a connection pool
|
|
1030
|
-
|
|
1028
|
+
const pool = this.mysql.createPool(connectionOptions);
|
|
1031
1029
|
// make sure connection is working fine
|
|
1032
|
-
return new Promise(
|
|
1030
|
+
return new Promise((ok, fail) => {
|
|
1033
1031
|
// (issue #610) we make first connection to database to make sure if connection credentials are wrong
|
|
1034
1032
|
// we give error before calling any other method that creates actual query runner
|
|
1035
|
-
pool.getConnection(
|
|
1033
|
+
pool.getConnection((err, connection) => {
|
|
1036
1034
|
if (err)
|
|
1037
|
-
return pool.end(
|
|
1035
|
+
return pool.end(() => fail(err));
|
|
1038
1036
|
connection.release();
|
|
1039
1037
|
ok(pool);
|
|
1040
1038
|
});
|
|
1041
1039
|
});
|
|
1042
|
-
}
|
|
1040
|
+
}
|
|
1043
1041
|
/**
|
|
1044
1042
|
* Attaches all required base handlers to a database connection, such as the unhandled error handler.
|
|
1045
1043
|
*/
|
|
1046
|
-
|
|
1047
|
-
|
|
1044
|
+
prepareDbConnection(connection) {
|
|
1045
|
+
const { logger } = this.connection;
|
|
1048
1046
|
/*
|
|
1049
1047
|
* Attaching an error handler to connection errors is essential, as, otherwise, errors raised will go unhandled and
|
|
1050
1048
|
* cause the hosting app to crash.
|
|
1051
1049
|
*/
|
|
1052
1050
|
if (connection.listeners("error").length === 0) {
|
|
1053
|
-
connection.on("error",
|
|
1054
|
-
return logger.log("warn", "MySQL connection raised an error. ".concat(error));
|
|
1055
|
-
});
|
|
1051
|
+
connection.on("error", (error) => logger.log("warn", `MySQL connection raised an error. ${error}`));
|
|
1056
1052
|
}
|
|
1057
1053
|
return connection;
|
|
1058
|
-
}
|
|
1054
|
+
}
|
|
1059
1055
|
/**
|
|
1060
1056
|
* Checks if "DEFAULT" values in the column metadata and in the database are equal.
|
|
1061
1057
|
*/
|
|
1062
|
-
|
|
1058
|
+
compareDefaultValues(columnMetadataValue, databaseValue) {
|
|
1063
1059
|
if (typeof columnMetadataValue === "string" &&
|
|
1064
1060
|
typeof databaseValue === "string") {
|
|
1065
1061
|
// we need to cut out "'" because in mysql we can understand returned value is a string or a function
|
|
@@ -1068,54 +1064,53 @@ var MysqlDriver = /** @class */ (function () {
|
|
|
1068
1064
|
databaseValue = databaseValue.replace(/^'+|'+$/g, "");
|
|
1069
1065
|
}
|
|
1070
1066
|
return columnMetadataValue === databaseValue;
|
|
1071
|
-
}
|
|
1072
|
-
|
|
1067
|
+
}
|
|
1068
|
+
compareNullableValues(columnMetadata, tableColumn) {
|
|
1073
1069
|
// MariaDB does not support NULL/NOT NULL expressions for generated columns
|
|
1074
|
-
|
|
1070
|
+
const isMariaDb = this.options.type === "mariadb";
|
|
1075
1071
|
if (isMariaDb && columnMetadata.generatedType) {
|
|
1076
1072
|
return true;
|
|
1077
1073
|
}
|
|
1078
1074
|
return columnMetadata.isNullable === tableColumn.isNullable;
|
|
1079
|
-
}
|
|
1075
|
+
}
|
|
1080
1076
|
/**
|
|
1081
1077
|
* If parameter is a datetime function, e.g. "CURRENT_TIMESTAMP", normalizes it.
|
|
1082
1078
|
* Otherwise returns original input.
|
|
1083
1079
|
*/
|
|
1084
|
-
|
|
1080
|
+
normalizeDatetimeFunction(value) {
|
|
1085
1081
|
if (!value)
|
|
1086
1082
|
return value;
|
|
1087
1083
|
// check if input is datetime function
|
|
1088
|
-
|
|
1084
|
+
const isDatetimeFunction = value.toUpperCase().indexOf("CURRENT_TIMESTAMP") !== -1 ||
|
|
1089
1085
|
value.toUpperCase().indexOf("NOW") !== -1;
|
|
1090
1086
|
if (isDatetimeFunction) {
|
|
1091
1087
|
// extract precision, e.g. "(3)"
|
|
1092
|
-
|
|
1088
|
+
const precision = value.match(/\(\d+\)/);
|
|
1093
1089
|
if (this.options.type === "mariadb") {
|
|
1094
1090
|
return precision
|
|
1095
|
-
?
|
|
1091
|
+
? `CURRENT_TIMESTAMP${precision[0]}`
|
|
1096
1092
|
: "CURRENT_TIMESTAMP()";
|
|
1097
1093
|
}
|
|
1098
1094
|
else {
|
|
1099
1095
|
return precision
|
|
1100
|
-
?
|
|
1096
|
+
? `CURRENT_TIMESTAMP${precision[0]}`
|
|
1101
1097
|
: "CURRENT_TIMESTAMP";
|
|
1102
1098
|
}
|
|
1103
1099
|
}
|
|
1104
1100
|
else {
|
|
1105
1101
|
return value;
|
|
1106
1102
|
}
|
|
1107
|
-
}
|
|
1103
|
+
}
|
|
1108
1104
|
/**
|
|
1109
1105
|
* Escapes a given comment.
|
|
1110
1106
|
*/
|
|
1111
|
-
|
|
1107
|
+
escapeComment(comment) {
|
|
1112
1108
|
if (!comment)
|
|
1113
1109
|
return comment;
|
|
1114
1110
|
comment = comment.replace(/\u0000/g, ""); // Null bytes aren't allowed in comments
|
|
1115
1111
|
return comment;
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
}());
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1119
1114
|
exports.MysqlDriver = MysqlDriver;
|
|
1120
1115
|
//#endregion
|
|
1121
1116
|
//# sourceMappingURL=MysqlDriver.js.map
|