typeorm 0.2.42-dev.f3e2b0e → 0.2.43-dev.a5493fb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -0
- package/browser/cache/RedisQueryResultCache.js +40 -35
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/common/DeepPartial.d.ts +3 -3
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/common/RelationType.d.ts +14 -0
- package/browser/common/RelationType.js +3 -0
- package/browser/common/RelationType.js.map +1 -0
- package/browser/connection/BaseConnectionOptions.d.ts +5 -0
- package/browser/connection/BaseConnectionOptions.js.map +1 -1
- package/browser/connection/Connection.d.ts +7 -3
- package/browser/connection/Connection.js +80 -55
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
- package/browser/connection/ConnectionMetadataBuilder.js +54 -22
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js +36 -29
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/decorator/Unique.d.ts +5 -4
- package/browser/decorator/Unique.js +7 -3
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/listeners/AfterRecover.d.ts +4 -0
- package/browser/decorator/listeners/AfterRecover.js +16 -0
- package/browser/decorator/listeners/AfterRecover.js.map +1 -0
- package/browser/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/browser/decorator/listeners/AfterSoftRemove.js +16 -0
- package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/browser/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/browser/decorator/listeners/BeforeRecover.js +16 -0
- package/browser/decorator/listeners/BeforeRecover.js.map +1 -0
- package/browser/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/browser/decorator/listeners/BeforeSoftRemove.js +16 -0
- package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/browser/decorator/options/ColumnOptions.d.ts +4 -0
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
- package/browser/decorator/options/RelationOptions.d.ts +1 -1
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/UniqueOptions.d.ts +10 -0
- package/browser/decorator/options/UniqueOptions.js +3 -0
- package/browser/decorator/options/UniqueOptions.js.map +1 -0
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +14 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +94 -9
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +10 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +64 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +8 -0
- package/browser/driver/capacitor/CapacitorQueryRunner.js +30 -0
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.d.ts +8 -0
- package/browser/driver/cordova/CordovaQueryRunner.js +30 -0
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.d.ts +8 -0
- package/browser/driver/expo/ExpoQueryRunner.js +30 -0
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +8 -0
- package/browser/driver/mongodb/MongoQueryRunner.js +20 -0
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +8 -0
- package/browser/driver/nativescript/NativescriptQueryRunner.js +30 -0
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +52 -19
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +8 -0
- package/browser/driver/react-native/ReactNativeQueryRunner.js +30 -0
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +1 -1
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.d.ts +13 -0
- package/browser/driver/sqlite/SqliteDriver.js +95 -11
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.d.ts +8 -0
- package/browser/driver/sqlite/SqliteQueryRunner.js +30 -0
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +13 -0
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +25 -2
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +11 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +119 -58
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.d.ts +8 -0
- package/browser/driver/sqljs/SqljsQueryRunner.js +30 -0
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.d.ts +2 -2
- package/browser/entity-manager/EntityManager.js +2 -12
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +2 -0
- package/browser/entity-manager/MongoEntityManager.js +37 -5
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +6 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +4 -1
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
- package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +6 -0
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +4 -0
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/operator/Like.d.ts +1 -1
- package/browser/find-options/operator/Like.js +1 -1
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +1 -1
- package/browser/find-options/operator/Not.js +1 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/globals.js +34 -7
- package/browser/globals.js.map +1 -1
- package/browser/index.d.ts +6 -0
- package/browser/index.js +6 -0
- package/browser/index.js.map +1 -1
- package/browser/metadata/ColumnMetadata.d.ts +4 -0
- package/browser/metadata/ColumnMetadata.js +2 -0
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +16 -0
- package/browser/metadata/EntityMetadata.js +16 -0
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +1 -1
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.d.ts +5 -0
- package/browser/metadata/UniqueMetadata.js +1 -0
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata/types/EventListenerTypes.d.ts +5 -1
- package/browser/metadata/types/EventListenerTypes.js +4 -0
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +4 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +2 -1
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +38 -26
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/persistence/SubjectExecutor.d.ts +4 -2
- package/browser/persistence/SubjectExecutor.js +105 -13
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/platform/PlatformTools.d.ts +1 -0
- package/browser/platform/PlatformTools.js +5 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +4 -2
- package/browser/query-builder/DeleteQueryBuilder.js +4 -2
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +12 -3
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/NotBrackets.d.ts +7 -0
- package/browser/query-builder/NotBrackets.js +16 -0
- package/browser/query-builder/NotBrackets.js.map +1 -0
- package/browser/query-builder/QueryBuilder.d.ts +3 -2
- package/browser/query-builder/QueryBuilder.js +2 -1
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationLoader.js +11 -6
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
- package/browser/query-builder/RelationQueryBuilder.js +1 -1
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +10 -1
- package/browser/query-builder/SelectQueryBuilder.js +28 -21
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +45 -31
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.d.ts +4 -2
- package/browser/query-builder/UpdateQueryBuilder.js +11 -6
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
- package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +9 -9
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +13 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +94 -50
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +10 -2
- package/browser/query-runner/BaseQueryRunner.js +23 -3
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +8 -0
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.d.ts +2 -2
- package/browser/repository/AbstractRepository.js +2 -2
- package/browser/repository/AbstractRepository.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +1 -1
- package/browser/repository/BaseEntity.js +1 -1
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/Repository.d.ts +1 -1
- package/browser/repository/Repository.js +1 -1
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/TreeRepository.js +3 -2
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js +37 -31
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableColumnOptions.d.ts +4 -0
- package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
- package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.d.ts +4 -0
- package/browser/schema-builder/table/TableColumn.js +2 -0
- package/browser/schema-builder/table/TableColumn.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.d.ts +5 -0
- package/browser/schema-builder/table/TableUnique.js +5 -2
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/util/TableUtils.js +1 -0
- package/browser/schema-builder/util/TableUtils.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +40 -0
- package/browser/subscriber/Broadcaster.js +191 -31
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +18 -0
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/RecoverEvent.d.ts +6 -0
- package/browser/subscriber/event/RecoverEvent.js +3 -0
- package/browser/subscriber/event/RecoverEvent.js.map +1 -0
- package/browser/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/browser/subscriber/event/SoftRemoveEvent.js +3 -0
- package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +55 -31
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.d.ts +1 -0
- package/browser/util/ImportUtils.js +90 -0
- package/browser/util/ImportUtils.js.map +1 -0
- package/browser/util/PathUtils.d.ts +10 -0
- package/browser/util/PathUtils.js +28 -0
- package/browser/util/PathUtils.js.map +1 -0
- package/browser/util/RandomGenerator.d.ts +0 -4
- package/browser/util/RandomGenerator.js +0 -9
- package/browser/util/RandomGenerator.js.map +1 -1
- package/cache/RedisQueryResultCache.js +39 -34
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/commands/CacheClearCommand.js +3 -3
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +4 -0
- package/commands/CommandUtils.js +10 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +2 -2
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +9 -7
- package/commands/InitCommand.js +74 -45
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +2 -0
- package/commands/MigrationCreateCommand.js +9 -3
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +2 -0
- package/commands/MigrationGenerateCommand.js +9 -3
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +2 -3
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +2 -3
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +5 -7
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +1 -1
- package/commands/QueryCommand.js +2 -3
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +2 -2
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +2 -2
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +2 -2
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +3 -3
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/common/DeepPartial.d.ts +3 -3
- package/common/DeepPartial.js.map +1 -1
- package/common/RelationType.d.ts +14 -0
- package/common/RelationType.js +4 -0
- package/common/RelationType.js.map +1 -0
- package/connection/BaseConnectionOptions.d.ts +5 -0
- package/connection/BaseConnectionOptions.js.map +1 -1
- package/connection/Connection.d.ts +7 -3
- package/connection/Connection.js +80 -55
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.d.ts +3 -3
- package/connection/ConnectionMetadataBuilder.js +53 -21
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.js +35 -28
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/decorator/Unique.d.ts +5 -4
- package/decorator/Unique.js +7 -3
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/listeners/AfterRecover.d.ts +4 -0
- package/decorator/listeners/AfterRecover.js +20 -0
- package/decorator/listeners/AfterRecover.js.map +1 -0
- package/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/decorator/listeners/AfterSoftRemove.js +20 -0
- package/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/decorator/listeners/BeforeRecover.js +20 -0
- package/decorator/listeners/BeforeRecover.js.map +1 -0
- package/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/decorator/listeners/BeforeSoftRemove.js +20 -0
- package/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/decorator/options/ColumnOptions.d.ts +4 -0
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
- package/decorator/options/RelationOptions.d.ts +1 -1
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/options/UniqueOptions.d.ts +10 -0
- package/decorator/options/UniqueOptions.js +4 -0
- package/decorator/options/UniqueOptions.js.map +1 -0
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +14 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +93 -8
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +10 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +63 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.d.ts +8 -0
- package/driver/capacitor/CapacitorQueryRunner.js +30 -0
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.d.ts +8 -0
- package/driver/cordova/CordovaQueryRunner.js +30 -0
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.d.ts +8 -0
- package/driver/expo/ExpoQueryRunner.js +30 -0
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +8 -0
- package/driver/mongodb/MongoQueryRunner.js +20 -0
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +1 -1
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.d.ts +8 -0
- package/driver/nativescript/NativescriptQueryRunner.js +30 -0
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +1 -1
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +52 -19
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.d.ts +8 -0
- package/driver/react-native/ReactNativeQueryRunner.js +30 -0
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +1 -1
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.d.ts +13 -0
- package/driver/sqlite/SqliteDriver.js +94 -10
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.d.ts +8 -0
- package/driver/sqlite/SqliteQueryRunner.js +30 -0
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +13 -0
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +25 -2
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +11 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +119 -58
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.d.ts +8 -0
- package/driver/sqljs/SqljsQueryRunner.js +30 -0
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +2 -2
- package/entity-manager/EntityManager.js +2 -12
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +2 -0
- package/entity-manager/MongoEntityManager.js +37 -5
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +6 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +4 -1
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
- package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +6 -0
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOptionsUtils.js +4 -0
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/operator/Like.d.ts +1 -1
- package/find-options/operator/Like.js +1 -1
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/Not.d.ts +1 -1
- package/find-options/operator/Not.js +1 -1
- package/find-options/operator/Not.js.map +1 -1
- package/globals.js +33 -6
- package/globals.js.map +1 -1
- package/index.d.ts +6 -0
- package/index.js +8 -1
- package/index.js.map +1 -1
- package/index.mjs +360 -0
- package/metadata/ColumnMetadata.d.ts +4 -0
- package/metadata/ColumnMetadata.js +2 -0
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +16 -0
- package/metadata/EntityMetadata.js +16 -0
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +1 -1
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.d.ts +5 -0
- package/metadata/UniqueMetadata.js +1 -0
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/EventListenerTypes.d.ts +5 -1
- package/metadata/types/EventListenerTypes.js +4 -0
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
- package/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +4 -0
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +2 -1
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/migration/MigrationExecutor.js +38 -26
- package/migration/MigrationExecutor.js.map +1 -1
- package/package.json +1 -1
- package/persistence/SubjectExecutor.d.ts +4 -2
- package/persistence/SubjectExecutor.js +105 -13
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.d.ts +1 -0
- package/platform/PlatformTools.js +5 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +4 -2
- package/query-builder/DeleteQueryBuilder.js +4 -2
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +1 -1
- package/query-builder/InsertQueryBuilder.js +12 -3
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/NotBrackets.d.ts +7 -0
- package/query-builder/NotBrackets.js +19 -0
- package/query-builder/NotBrackets.js.map +1 -0
- package/query-builder/QueryBuilder.d.ts +3 -2
- package/query-builder/QueryBuilder.js +2 -1
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/RelationLoader.js +11 -6
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.d.ts +1 -1
- package/query-builder/RelationQueryBuilder.js +1 -1
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +10 -1
- package/query-builder/SelectQueryBuilder.js +28 -21
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +45 -31
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.d.ts +4 -2
- package/query-builder/UpdateQueryBuilder.js +11 -6
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/WhereExpressionBuilder.d.ts +3 -1
- package/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js +9 -9
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +13 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +94 -50
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +10 -2
- package/query-runner/BaseQueryRunner.js +23 -3
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +8 -0
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/AbstractRepository.d.ts +2 -2
- package/repository/AbstractRepository.js +2 -2
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +1 -1
- package/repository/BaseEntity.js +1 -1
- package/repository/BaseEntity.js.map +1 -1
- package/repository/Repository.d.ts +1 -1
- package/repository/Repository.js +1 -1
- package/repository/Repository.js.map +1 -1
- package/repository/TreeRepository.js +3 -2
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js +37 -31
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableColumnOptions.d.ts +4 -0
- package/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
- package/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/schema-builder/table/TableColumn.d.ts +4 -0
- package/schema-builder/table/TableColumn.js +2 -0
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableUnique.d.ts +5 -0
- package/schema-builder/table/TableUnique.js +5 -2
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.js +1 -0
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +40 -0
- package/subscriber/Broadcaster.js +191 -31
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +18 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/RecoverEvent.d.ts +6 -0
- package/subscriber/event/RecoverEvent.js +4 -0
- package/subscriber/event/RecoverEvent.js.map +1 -0
- package/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/subscriber/event/SoftRemoveEvent.js +4 -0
- package/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/typeorm-class-transformer-shim.js +20 -0
- package/typeorm-model-shim.js +20 -0
- package/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/util/DirectoryExportedClassesLoader.js +54 -31
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.d.ts +1 -0
- package/util/ImportUtils.js +94 -0
- package/util/ImportUtils.js.map +1 -0
- package/util/PathUtils.d.ts +10 -0
- package/util/PathUtils.js +34 -0
- package/util/PathUtils.js.map +1 -0
- package/util/RandomGenerator.d.ts +0 -4
- package/util/RandomGenerator.js +0 -9
- package/util/RandomGenerator.js.map +1 -1
|
@@ -251,8 +251,10 @@ export declare abstract class AbstractSqliteQueryRunner extends BaseQueryRunner
|
|
|
251
251
|
/**
|
|
252
252
|
* Removes all tables from the currently connected database.
|
|
253
253
|
*/
|
|
254
|
-
clearDatabase(): Promise<void>;
|
|
254
|
+
clearDatabase(database?: string): Promise<void>;
|
|
255
255
|
protected loadViews(viewNames?: string[]): Promise<View[]>;
|
|
256
|
+
protected loadTableRecords(tablePath: string, tableOrIndex: "table" | "index"): Promise<any>;
|
|
257
|
+
protected loadPragmaRecords(tablePath: string, pragma: string): Promise<any>;
|
|
256
258
|
/**
|
|
257
259
|
* Loads all tables (with given names) from the database and creates a Table from them.
|
|
258
260
|
*/
|
|
@@ -288,4 +290,12 @@ export declare abstract class AbstractSqliteQueryRunner extends BaseQueryRunner
|
|
|
288
290
|
*/
|
|
289
291
|
protected buildCreateColumnSql(column: TableColumn, skipPrimary?: boolean): string;
|
|
290
292
|
protected recreateTable(newTable: Table, oldTable: Table, migrateData?: boolean): Promise<void>;
|
|
293
|
+
/**
|
|
294
|
+
* tablePath e.g. "myDB.myTable", "myTable"
|
|
295
|
+
*/
|
|
296
|
+
protected splitTablePath(tablePath: string): [string | undefined, string];
|
|
297
|
+
/**
|
|
298
|
+
* Escapes given table or view path. Tolerates leading/trailing dots
|
|
299
|
+
*/
|
|
300
|
+
protected escapePath(target: Table | View | string, disableEscape?: boolean): string;
|
|
291
301
|
}
|
|
@@ -230,7 +230,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
230
230
|
switch (_a.label) {
|
|
231
231
|
case 0:
|
|
232
232
|
tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;
|
|
233
|
-
sql = "PRAGMA table_info(
|
|
233
|
+
sql = "PRAGMA table_info(" + this.escapePath(tableName) + ")";
|
|
234
234
|
return [4 /*yield*/, this.query(sql)];
|
|
235
235
|
case 1:
|
|
236
236
|
columns = _a.sent();
|
|
@@ -440,8 +440,8 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
440
440
|
oldTable = _a;
|
|
441
441
|
newTable = oldTable.clone();
|
|
442
442
|
newTable.name = newTableName;
|
|
443
|
-
up = new Query("ALTER TABLE
|
|
444
|
-
down = new Query("ALTER TABLE
|
|
443
|
+
up = new Query("ALTER TABLE " + this.escapePath(oldTable.name) + " RENAME TO " + this.escapePath(newTableName));
|
|
444
|
+
down = new Query("ALTER TABLE " + this.escapePath(newTableName) + " RENAME TO " + this.escapePath(oldTable.name));
|
|
445
445
|
return [4 /*yield*/, this.executeQueries(up, down)];
|
|
446
446
|
case 4:
|
|
447
447
|
_b.sent();
|
|
@@ -1195,7 +1195,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1195
1195
|
table = _a;
|
|
1196
1196
|
index = indexOrName instanceof TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
|
|
1197
1197
|
if (!index)
|
|
1198
|
-
throw new TypeORMError("Supplied index was not found in table " + table.name);
|
|
1198
|
+
throw new TypeORMError("Supplied index " + indexOrName + " was not found in table " + table.name);
|
|
1199
1199
|
up = this.dropIndexSql(index);
|
|
1200
1200
|
down = this.createIndexSql(table, index);
|
|
1201
1201
|
return [4 /*yield*/, this.executeQueries(up, down)];
|
|
@@ -1234,7 +1234,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1234
1234
|
return __awaiter(this, void 0, void 0, function () {
|
|
1235
1235
|
return __generator(this, function (_a) {
|
|
1236
1236
|
switch (_a.label) {
|
|
1237
|
-
case 0: return [4 /*yield*/, this.query("DELETE FROM
|
|
1237
|
+
case 0: return [4 /*yield*/, this.query("DELETE FROM " + this.escapePath(tableName))];
|
|
1238
1238
|
case 1:
|
|
1239
1239
|
_a.sent();
|
|
1240
1240
|
return [2 /*return*/];
|
|
@@ -1245,13 +1245,18 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1245
1245
|
/**
|
|
1246
1246
|
* Removes all tables from the currently connected database.
|
|
1247
1247
|
*/
|
|
1248
|
-
AbstractSqliteQueryRunner.prototype.clearDatabase = function () {
|
|
1248
|
+
AbstractSqliteQueryRunner.prototype.clearDatabase = function (database) {
|
|
1249
1249
|
return __awaiter(this, void 0, void 0, function () {
|
|
1250
|
-
var selectViewDropsQuery, dropViewQueries, selectTableDropsQuery, dropTableQueries, error_1, rollbackError_1;
|
|
1250
|
+
var dbPath, selectViewDropsQuery, dropViewQueries, selectTableDropsQuery, dropTableQueries, error_1, rollbackError_1;
|
|
1251
1251
|
var _this = this;
|
|
1252
1252
|
return __generator(this, function (_a) {
|
|
1253
1253
|
switch (_a.label) {
|
|
1254
|
-
case 0:
|
|
1254
|
+
case 0:
|
|
1255
|
+
dbPath = undefined;
|
|
1256
|
+
if (database && this.driver.getAttachedDatabaseHandleByRelativePath(database)) {
|
|
1257
|
+
dbPath = this.driver.getAttachedDatabaseHandleByRelativePath(database);
|
|
1258
|
+
}
|
|
1259
|
+
return [4 /*yield*/, this.query("PRAGMA foreign_keys = OFF;")];
|
|
1255
1260
|
case 1:
|
|
1256
1261
|
_a.sent();
|
|
1257
1262
|
return [4 /*yield*/, this.startTransaction()];
|
|
@@ -1260,14 +1265,14 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1260
1265
|
_a.label = 3;
|
|
1261
1266
|
case 3:
|
|
1262
1267
|
_a.trys.push([3, 9, 14, 16]);
|
|
1263
|
-
selectViewDropsQuery = "SELECT 'DROP VIEW \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'view'";
|
|
1268
|
+
selectViewDropsQuery = dbPath ? "SELECT 'DROP VIEW \"" + dbPath + "\".\"' || name || '\";' as query FROM \"" + dbPath + "\".\"sqlite_master\" WHERE \"type\" = 'view'" : "SELECT 'DROP VIEW \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'view'";
|
|
1264
1269
|
return [4 /*yield*/, this.query(selectViewDropsQuery)];
|
|
1265
1270
|
case 4:
|
|
1266
1271
|
dropViewQueries = _a.sent();
|
|
1267
1272
|
return [4 /*yield*/, Promise.all(dropViewQueries.map(function (q) { return _this.query(q["query"]); }))];
|
|
1268
1273
|
case 5:
|
|
1269
1274
|
_a.sent();
|
|
1270
|
-
selectTableDropsQuery = "SELECT 'DROP TABLE \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'table' AND \"name\" != 'sqlite_sequence'";
|
|
1275
|
+
selectTableDropsQuery = dbPath ? "SELECT 'DROP TABLE \"" + dbPath + "\".\"' || name || '\";' as query FROM \"" + dbPath + "\".\"sqlite_master\" WHERE \"type\" = 'table' AND \"name\" != 'sqlite_sequence'" : "SELECT 'DROP TABLE \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'table' AND \"name\" != 'sqlite_sequence'";
|
|
1271
1276
|
return [4 /*yield*/, this.query(selectTableDropsQuery)];
|
|
1272
1277
|
case 6:
|
|
1273
1278
|
dropTableQueries = _a.sent();
|
|
@@ -1334,66 +1339,97 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1334
1339
|
});
|
|
1335
1340
|
});
|
|
1336
1341
|
};
|
|
1342
|
+
AbstractSqliteQueryRunner.prototype.loadTableRecords = function (tablePath, tableOrIndex) {
|
|
1343
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1344
|
+
var database, _a, schema, tableName, res;
|
|
1345
|
+
return __generator(this, function (_b) {
|
|
1346
|
+
switch (_b.label) {
|
|
1347
|
+
case 0:
|
|
1348
|
+
database = undefined;
|
|
1349
|
+
_a = __read(this.splitTablePath(tablePath), 2), schema = _a[0], tableName = _a[1];
|
|
1350
|
+
if (schema && this.driver.getAttachedDatabasePathRelativeByHandle(schema)) {
|
|
1351
|
+
database = this.driver.getAttachedDatabasePathRelativeByHandle(schema);
|
|
1352
|
+
}
|
|
1353
|
+
return [4 /*yield*/, this.query("SELECT " + (database ? "'" + database + "'" : null) + " as database, " + (schema ? "'" + schema + "'" : null) + " as schema, * FROM " + (schema ? "\"" + schema + "\"." : "") + this.escapePath("sqlite_master") + " WHERE \"type\" = '" + tableOrIndex + "' AND \"" + (tableOrIndex === "table" ? "name" : "tbl_name") + "\" IN ('" + tableName + "')")];
|
|
1354
|
+
case 1:
|
|
1355
|
+
res = _b.sent();
|
|
1356
|
+
return [2 /*return*/, res];
|
|
1357
|
+
}
|
|
1358
|
+
});
|
|
1359
|
+
});
|
|
1360
|
+
};
|
|
1361
|
+
AbstractSqliteQueryRunner.prototype.loadPragmaRecords = function (tablePath, pragma) {
|
|
1362
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1363
|
+
var _a, tableName, res;
|
|
1364
|
+
return __generator(this, function (_b) {
|
|
1365
|
+
switch (_b.label) {
|
|
1366
|
+
case 0:
|
|
1367
|
+
_a = __read(this.splitTablePath(tablePath), 2), tableName = _a[1];
|
|
1368
|
+
return [4 /*yield*/, this.query("PRAGMA " + pragma + "(\"" + tableName + "\")")];
|
|
1369
|
+
case 1:
|
|
1370
|
+
res = _b.sent();
|
|
1371
|
+
return [2 /*return*/, res];
|
|
1372
|
+
}
|
|
1373
|
+
});
|
|
1374
|
+
});
|
|
1375
|
+
};
|
|
1337
1376
|
/**
|
|
1338
1377
|
* Loads all tables (with given names) from the database and creates a Table from them.
|
|
1339
1378
|
*/
|
|
1340
1379
|
AbstractSqliteQueryRunner.prototype.loadTables = function (tableNames) {
|
|
1341
1380
|
return __awaiter(this, void 0, void 0, function () {
|
|
1342
|
-
var dbTables, tablesSql, _a, _b, _c, _d,
|
|
1381
|
+
var dbTables, dbIndicesDef, tablesSql, _a, _b, _c, _d, tableNamesString;
|
|
1343
1382
|
var _this = this;
|
|
1344
|
-
return __generator(this, function (
|
|
1345
|
-
switch (
|
|
1383
|
+
return __generator(this, function (_e) {
|
|
1384
|
+
switch (_e.label) {
|
|
1346
1385
|
case 0:
|
|
1347
1386
|
// if no tables given then no need to proceed
|
|
1348
1387
|
if (tableNames && tableNames.length === 0) {
|
|
1349
1388
|
return [2 /*return*/, []];
|
|
1350
1389
|
}
|
|
1351
1390
|
dbTables = [];
|
|
1352
|
-
if (!!tableNames) return [3 /*break*/,
|
|
1391
|
+
if (!!tableNames) return [3 /*break*/, 3];
|
|
1353
1392
|
tablesSql = "SELECT * FROM \"sqlite_master\" WHERE \"type\" = 'table'";
|
|
1354
1393
|
_b = (_a = dbTables.push).apply;
|
|
1355
1394
|
_c = [dbTables];
|
|
1356
1395
|
_d = [[]];
|
|
1357
1396
|
return [4 /*yield*/, this.query(tablesSql)];
|
|
1358
1397
|
case 1:
|
|
1359
|
-
_b.apply(_a, _c.concat([__spreadArray.apply(void 0, _d.concat([__read.apply(void 0, [
|
|
1360
|
-
return [3 /*break*/, 4];
|
|
1361
|
-
case 2:
|
|
1362
|
-
tableNamesString_1 = tableNames.map(function (tableName) { return "'" + tableName + "'"; }).join(", ");
|
|
1363
|
-
tablesSql = "SELECT * FROM \"sqlite_master\" WHERE \"type\" = 'table' AND \"name\" IN (" + tableNamesString_1 + ")";
|
|
1364
|
-
_f = (_e = dbTables.push).apply;
|
|
1365
|
-
_g = [dbTables];
|
|
1366
|
-
_h = [[]];
|
|
1367
|
-
return [4 /*yield*/, this.query(tablesSql)];
|
|
1368
|
-
case 3:
|
|
1369
|
-
_f.apply(_e, _g.concat([__spreadArray.apply(void 0, _h.concat([__read.apply(void 0, [_j.sent()]), false]))]));
|
|
1370
|
-
_j.label = 4;
|
|
1371
|
-
case 4:
|
|
1372
|
-
// if tables were not found in the db, no need to proceed
|
|
1373
|
-
if (dbTables.length === 0) {
|
|
1374
|
-
return [2 /*return*/, []];
|
|
1375
|
-
}
|
|
1398
|
+
_b.apply(_a, _c.concat([__spreadArray.apply(void 0, _d.concat([__read.apply(void 0, [_e.sent()]), false]))]));
|
|
1376
1399
|
tableNamesString = dbTables.map(function (_a) {
|
|
1377
1400
|
var name = _a.name;
|
|
1378
1401
|
return "'" + name + "'";
|
|
1379
1402
|
}).join(", ");
|
|
1380
1403
|
return [4 /*yield*/, this.query("SELECT * FROM \"sqlite_master\" WHERE \"type\" = 'index' AND \"tbl_name\" IN (" + tableNamesString + ")")];
|
|
1404
|
+
case 2:
|
|
1405
|
+
dbIndicesDef = _e.sent();
|
|
1406
|
+
return [3 /*break*/, 6];
|
|
1407
|
+
case 3: return [4 /*yield*/, Promise.all(tableNames.map(function (tableName) { return _this.loadTableRecords(tableName, "table"); }))];
|
|
1408
|
+
case 4:
|
|
1409
|
+
dbTables = (_e.sent()).reduce(function (acc, res) { return (__spreadArray(__spreadArray([], __read(acc), false), __read(res), false)); }, []).filter(Boolean);
|
|
1410
|
+
return [4 /*yield*/, Promise.all((tableNames !== null && tableNames !== void 0 ? tableNames : []).map(function (tableName) { return _this.loadTableRecords(tableName, "index"); }))];
|
|
1381
1411
|
case 5:
|
|
1382
|
-
dbIndicesDef =
|
|
1412
|
+
dbIndicesDef = (_e.sent()).reduce(function (acc, res) { return (__spreadArray(__spreadArray([], __read(acc), false), __read(res), false)); }, []).filter(Boolean);
|
|
1413
|
+
_e.label = 6;
|
|
1414
|
+
case 6:
|
|
1415
|
+
// if tables were not found in the db, no need to proceed
|
|
1416
|
+
if (dbTables.length === 0) {
|
|
1417
|
+
return [2 /*return*/, []];
|
|
1418
|
+
}
|
|
1383
1419
|
// create table schemas for loaded tables
|
|
1384
1420
|
return [2 /*return*/, Promise.all(dbTables.map(function (dbTable) { return __awaiter(_this, void 0, void 0, function () {
|
|
1385
|
-
var table, sql, _a, dbColumns, dbIndices, dbForeignKeys, autoIncrementColumnName, tableSql, autoIncrementIndex, comma, bracket, tableForeignKeyConstraints, uniqueRegexResult, uniqueMappings, uniqueRegex, tableUniquePromises, _b, result, regexp, indicesPromises, indices;
|
|
1421
|
+
var tablePath, table, sql, _a, dbColumns, dbIndices, dbForeignKeys, autoIncrementColumnName, tableSql, autoIncrementIndex, comma, bracket, tableForeignKeyConstraints, uniqueRegexResult, uniqueMappings, uniqueRegex, tableUniquePromises, _b, result, regexp, indicesPromises, indices;
|
|
1386
1422
|
var _this = this;
|
|
1387
1423
|
return __generator(this, function (_c) {
|
|
1388
1424
|
switch (_c.label) {
|
|
1389
1425
|
case 0:
|
|
1390
|
-
|
|
1391
|
-
table
|
|
1426
|
+
tablePath = dbTable['database'] && this.driver.getAttachedDatabaseHandleByRelativePath(dbTable['database']) ? this.driver.getAttachedDatabaseHandleByRelativePath(dbTable['database']) + "." + dbTable['name'] : dbTable['name'];
|
|
1427
|
+
table = new Table({ name: tablePath });
|
|
1392
1428
|
sql = dbTable["sql"];
|
|
1393
1429
|
return [4 /*yield*/, Promise.all([
|
|
1394
|
-
this.
|
|
1395
|
-
this.
|
|
1396
|
-
this.
|
|
1430
|
+
this.loadPragmaRecords(tablePath, "table_info"),
|
|
1431
|
+
this.loadPragmaRecords(tablePath, "index_list"),
|
|
1432
|
+
this.loadPragmaRecords(tablePath, "foreign_key_list"),
|
|
1397
1433
|
])];
|
|
1398
1434
|
case 1:
|
|
1399
1435
|
_a = __read.apply(void 0, [_c.sent(), 3]), dbColumns = _a[0], dbIndices = _a[1], dbForeignKeys = _a[2];
|
|
@@ -1431,7 +1467,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1431
1467
|
}
|
|
1432
1468
|
if (tableColumn.type === "varchar") {
|
|
1433
1469
|
// Check if this is an enum
|
|
1434
|
-
var enumMatch = sql.match(new RegExp("\"(" + tableColumn.name + ")\" varchar CHECK\\s*\\(\\s
|
|
1470
|
+
var enumMatch = sql.match(new RegExp("\"(" + tableColumn.name + ")\" varchar CHECK\\s*\\(\\s*\"\\1\"\\s+IN\\s*\\(('[^']+'(?:\\s*,\\s*'[^']+')+)\\s*\\)\\s*\\)"));
|
|
1435
1471
|
if (enumMatch) {
|
|
1436
1472
|
// This is an enum
|
|
1437
1473
|
tableColumn.enum = enumMatch[2].substr(1, enumMatch[2].length - 2).split("','");
|
|
@@ -1537,7 +1573,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1537
1573
|
.map(function (dbIndex) { return dbIndex["name"]; })
|
|
1538
1574
|
.filter(function (value, index, self) { return self.indexOf(value) === index; }) // unqiue
|
|
1539
1575
|
.map(function (dbIndexName) { return __awaiter(_this, void 0, void 0, function () {
|
|
1540
|
-
var indexDef, condition, dbIndex, indexInfos, indexColumns, isUnique;
|
|
1576
|
+
var indexDef, condition, dbIndex, indexInfos, indexColumns, dbIndexPath, isUnique;
|
|
1541
1577
|
return __generator(this, function (_a) {
|
|
1542
1578
|
switch (_a.label) {
|
|
1543
1579
|
case 0:
|
|
@@ -1550,10 +1586,11 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1550
1586
|
indexColumns = indexInfos
|
|
1551
1587
|
.sort(function (indexInfo1, indexInfo2) { return parseInt(indexInfo1["seqno"]) - parseInt(indexInfo2["seqno"]); })
|
|
1552
1588
|
.map(function (indexInfo) { return indexInfo["name"]; });
|
|
1589
|
+
dbIndexPath = "" + (dbTable["database"] ? dbTable["database"] + "." : '') + dbIndex["name"];
|
|
1553
1590
|
isUnique = dbIndex["unique"] === "1" || dbIndex["unique"] === 1;
|
|
1554
1591
|
return [2 /*return*/, new TableIndex({
|
|
1555
1592
|
table: table,
|
|
1556
|
-
name:
|
|
1593
|
+
name: dbIndexPath,
|
|
1557
1594
|
columnNames: indexColumns,
|
|
1558
1595
|
isUnique: isUnique,
|
|
1559
1596
|
where: condition ? condition[1] : undefined
|
|
@@ -1584,7 +1621,8 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1584
1621
|
if (skipPrimary && hasAutoIncrement)
|
|
1585
1622
|
throw new TypeORMError("Sqlite does not support AUTOINCREMENT on composite primary key");
|
|
1586
1623
|
var columnDefinitions = table.columns.map(function (column) { return _this.buildCreateColumnSql(column, skipPrimary); }).join(", ");
|
|
1587
|
-
var
|
|
1624
|
+
var _a = __read(this.splitTablePath(table.name), 1), database = _a[0];
|
|
1625
|
+
var sql = "CREATE TABLE " + this.escapePath(table.name) + " (" + columnDefinitions;
|
|
1588
1626
|
// need for `addColumn()` method, because it recreates table.
|
|
1589
1627
|
table.columns
|
|
1590
1628
|
.filter(function (column) { return column.isUnique; })
|
|
@@ -1612,12 +1650,20 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1612
1650
|
sql += ", " + checksSql;
|
|
1613
1651
|
}
|
|
1614
1652
|
if (table.foreignKeys.length > 0 && createForeignKeys) {
|
|
1615
|
-
var foreignKeysSql = table.foreignKeys.
|
|
1653
|
+
var foreignKeysSql = table.foreignKeys.filter(function (fk) {
|
|
1654
|
+
var _a = __read(_this.splitTablePath(fk.referencedTableName), 1), referencedDatabase = _a[0];
|
|
1655
|
+
if (referencedDatabase !== database) {
|
|
1656
|
+
return false;
|
|
1657
|
+
}
|
|
1658
|
+
return true;
|
|
1659
|
+
})
|
|
1660
|
+
.map(function (fk) {
|
|
1661
|
+
var _a = __read(_this.splitTablePath(fk.referencedTableName), 2), referencedTable = _a[1];
|
|
1616
1662
|
var columnNames = fk.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
|
|
1617
1663
|
if (!fk.name)
|
|
1618
1664
|
fk.name = _this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, _this.getTablePath(fk), fk.referencedColumnNames);
|
|
1619
1665
|
var referencedColumnNames = fk.referencedColumnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
|
|
1620
|
-
var constraint = "CONSTRAINT \"" + fk.name + "\" FOREIGN KEY (" + columnNames + ") REFERENCES \"" +
|
|
1666
|
+
var constraint = "CONSTRAINT \"" + fk.name + "\" FOREIGN KEY (" + columnNames + ") REFERENCES \"" + referencedTable + "\" (" + referencedColumnNames + ")";
|
|
1621
1667
|
if (fk.onDelete)
|
|
1622
1668
|
constraint += " ON DELETE " + fk.onDelete;
|
|
1623
1669
|
if (fk.onUpdate)
|
|
@@ -1642,7 +1688,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1642
1688
|
*/
|
|
1643
1689
|
AbstractSqliteQueryRunner.prototype.dropTableSql = function (tableOrName, ifExist) {
|
|
1644
1690
|
var tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;
|
|
1645
|
-
var query = ifExist ? "DROP TABLE IF EXISTS
|
|
1691
|
+
var query = ifExist ? "DROP TABLE IF EXISTS " + this.escapePath(tableName) : "DROP TABLE " + this.escapePath(tableName);
|
|
1646
1692
|
return new Query(query);
|
|
1647
1693
|
};
|
|
1648
1694
|
AbstractSqliteQueryRunner.prototype.createViewSql = function (view) {
|
|
@@ -1680,14 +1726,15 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1680
1726
|
*/
|
|
1681
1727
|
AbstractSqliteQueryRunner.prototype.createIndexSql = function (table, index) {
|
|
1682
1728
|
var columns = index.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
|
|
1683
|
-
|
|
1729
|
+
var _a = __read(this.splitTablePath(table.name), 2), database = _a[0], tableName = _a[1];
|
|
1730
|
+
return new Query("CREATE " + (index.isUnique ? "UNIQUE " : "") + "INDEX " + (database ? "\"" + database + "\"." : "") + this.escapePath(index.name) + " ON \"" + tableName + "\" (" + columns + ") " + (index.where ? "WHERE " + index.where : ""));
|
|
1684
1731
|
};
|
|
1685
1732
|
/**
|
|
1686
1733
|
* Builds drop index sql.
|
|
1687
1734
|
*/
|
|
1688
1735
|
AbstractSqliteQueryRunner.prototype.dropIndexSql = function (indexOrName) {
|
|
1689
1736
|
var indexName = indexOrName instanceof TableIndex ? indexOrName.name : indexOrName;
|
|
1690
|
-
return new Query("DROP INDEX
|
|
1737
|
+
return new Query("DROP INDEX " + this.escapePath(indexName));
|
|
1691
1738
|
};
|
|
1692
1739
|
/**
|
|
1693
1740
|
* Builds a query for create column.
|
|
@@ -1701,7 +1748,7 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1701
1748
|
c += " " + this.connection.driver.createFullType(column);
|
|
1702
1749
|
}
|
|
1703
1750
|
if (column.enum)
|
|
1704
|
-
c += " CHECK( " + column.name + " IN (" + column.enum.map(function (val) { return "'" + val + "'"; }).join(",") + ") )";
|
|
1751
|
+
c += " CHECK( \"" + column.name + "\" IN (" + column.enum.map(function (val) { return "'" + val + "'"; }).join(",") + ") )";
|
|
1705
1752
|
if (column.isPrimary && !skipPrimary)
|
|
1706
1753
|
c += " PRIMARY KEY";
|
|
1707
1754
|
if (column.isGenerated === true && column.generationStrategy === "increment") // don't use skipPrimary here since updates can update already exist primary without auto inc.
|
|
@@ -1717,10 +1764,10 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1717
1764
|
AbstractSqliteQueryRunner.prototype.recreateTable = function (newTable, oldTable, migrateData) {
|
|
1718
1765
|
if (migrateData === void 0) { migrateData = true; }
|
|
1719
1766
|
return __awaiter(this, void 0, void 0, function () {
|
|
1720
|
-
var upQueries, downQueries, newColumnNames, oldColumnNames;
|
|
1767
|
+
var upQueries, downQueries, _a, databaseNew, tableNameNew, _b, tableNameOld, newColumnNames, oldColumnNames;
|
|
1721
1768
|
var _this = this;
|
|
1722
|
-
return __generator(this, function (
|
|
1723
|
-
switch (
|
|
1769
|
+
return __generator(this, function (_c) {
|
|
1770
|
+
switch (_c.label) {
|
|
1724
1771
|
case 0:
|
|
1725
1772
|
upQueries = [];
|
|
1726
1773
|
downQueries = [];
|
|
@@ -1729,8 +1776,9 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1729
1776
|
upQueries.push(_this.dropIndexSql(index));
|
|
1730
1777
|
downQueries.push(_this.createIndexSql(oldTable, index));
|
|
1731
1778
|
});
|
|
1732
|
-
|
|
1733
|
-
|
|
1779
|
+
_a = __read(this.splitTablePath(newTable.name), 2), databaseNew = _a[0], tableNameNew = _a[1];
|
|
1780
|
+
_b = __read(this.splitTablePath(oldTable.name), 2), tableNameOld = _b[1];
|
|
1781
|
+
newTable.name = tableNameNew = (databaseNew ? databaseNew + "." : "") + "temporary_" + tableNameNew;
|
|
1734
1782
|
// create new table
|
|
1735
1783
|
upQueries.push(this.createTableSql(newTable, true));
|
|
1736
1784
|
downQueries.push(this.dropTableSql(newTable));
|
|
@@ -1748,15 +1796,15 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1748
1796
|
return newTable.columns.find(function (c) { return c.name === column.name; });
|
|
1749
1797
|
}).map(function (column) { return "\"" + column.name + "\""; }).join(", ");
|
|
1750
1798
|
}
|
|
1751
|
-
upQueries.push(new Query("INSERT INTO
|
|
1752
|
-
downQueries.push(new Query("INSERT INTO
|
|
1799
|
+
upQueries.push(new Query("INSERT INTO " + this.escapePath(newTable.name) + "(" + newColumnNames + ") SELECT " + oldColumnNames + " FROM " + this.escapePath(oldTable.name)));
|
|
1800
|
+
downQueries.push(new Query("INSERT INTO " + this.escapePath(oldTable.name) + "(" + oldColumnNames + ") SELECT " + newColumnNames + " FROM " + this.escapePath(newTable.name)));
|
|
1753
1801
|
}
|
|
1754
1802
|
// drop old table
|
|
1755
1803
|
upQueries.push(this.dropTableSql(oldTable));
|
|
1756
1804
|
downQueries.push(this.createTableSql(oldTable, true));
|
|
1757
1805
|
// rename old table
|
|
1758
|
-
upQueries.push(new Query("ALTER TABLE
|
|
1759
|
-
downQueries.push(new Query("ALTER TABLE
|
|
1806
|
+
upQueries.push(new Query("ALTER TABLE " + this.escapePath(newTable.name) + " RENAME TO " + this.escapePath(tableNameOld)));
|
|
1807
|
+
downQueries.push(new Query("ALTER TABLE " + this.escapePath(oldTable.name) + " RENAME TO " + this.escapePath(tableNameNew)));
|
|
1760
1808
|
newTable.name = oldTable.name;
|
|
1761
1809
|
// recreate table indices
|
|
1762
1810
|
newTable.indices.forEach(function (index) {
|
|
@@ -1768,13 +1816,26 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1768
1816
|
});
|
|
1769
1817
|
return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
|
|
1770
1818
|
case 1:
|
|
1771
|
-
|
|
1819
|
+
_c.sent();
|
|
1772
1820
|
this.replaceCachedTable(oldTable, newTable);
|
|
1773
1821
|
return [2 /*return*/];
|
|
1774
1822
|
}
|
|
1775
1823
|
});
|
|
1776
1824
|
});
|
|
1777
1825
|
};
|
|
1826
|
+
/**
|
|
1827
|
+
* tablePath e.g. "myDB.myTable", "myTable"
|
|
1828
|
+
*/
|
|
1829
|
+
AbstractSqliteQueryRunner.prototype.splitTablePath = function (tablePath) {
|
|
1830
|
+
return ((tablePath.indexOf(".") !== -1) ? tablePath.split(".") : [undefined, tablePath]);
|
|
1831
|
+
};
|
|
1832
|
+
/**
|
|
1833
|
+
* Escapes given table or view path. Tolerates leading/trailing dots
|
|
1834
|
+
*/
|
|
1835
|
+
AbstractSqliteQueryRunner.prototype.escapePath = function (target, disableEscape) {
|
|
1836
|
+
var tableName = target instanceof Table || target instanceof View ? target.name : target;
|
|
1837
|
+
return tableName.replace(/^\.+|\.+$/g, "").split(".").map(function (i) { return disableEscape ? i : "\"" + i + "\""; }).join(".");
|
|
1838
|
+
};
|
|
1778
1839
|
return AbstractSqliteQueryRunner;
|
|
1779
1840
|
}(BaseQueryRunner));
|
|
1780
1841
|
export { AbstractSqliteQueryRunner };
|