taon-typeorm 21.0.12 → 21.0.18
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/package.json +1 -1
- package/browser-prod/README.md +24 -0
- package/browser-prod/fesm2022/taon-typeorm-browser.mjs +30417 -0
- package/browser-prod/fesm2022/taon-typeorm-browser.mjs.map +1 -0
- package/browser-prod/types/taon-typeorm-browser.d.ts +12402 -0
- package/lib/build-info._auto-generated_.d.ts +5 -1
- package/lib/build-info._auto-generated_.js +6 -2
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/env/env.angular-node-app.d.ts +30 -29
- package/lib/env/env.angular-node-app.js +32 -31
- package/lib/env/env.angular-node-app.js.map +1 -1
- package/lib/env/env.docs-webapp.d.ts +30 -29
- package/lib/env/env.docs-webapp.js +32 -31
- package/lib/env/env.docs-webapp.js.map +1 -1
- package/lib/env/env.electron-app.d.ts +30 -29
- package/lib/env/env.electron-app.js +32 -31
- package/lib/env/env.electron-app.js.map +1 -1
- package/lib/env/env.mobile-app.d.ts +30 -29
- package/lib/env/env.mobile-app.js +32 -31
- package/lib/env/env.mobile-app.js.map +1 -1
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +30 -29
- package/lib/env/env.npm-lib-and-cli-tool.js +32 -31
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
- package/lib/env/env.vscode-plugin.d.ts +30 -29
- package/lib/env/env.vscode-plugin.js +32 -31
- package/lib/env/env.vscode-plugin.js.map +1 -1
- package/lib/index._auto-generated_.js +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +30 -0
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +64 -0
- package/lib-prod/env/env.angular-node-app.js +71 -0
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +64 -0
- package/lib-prod/env/env.docs-webapp.js +71 -0
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +64 -0
- package/lib-prod/env/env.electron-app.js +71 -0
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +64 -0
- package/lib-prod/env/env.mobile-app.js +71 -0
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +71 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
- package/lib-prod/env/env.vscode-plugin.js +71 -0
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +23 -0
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +0 -0
- package/lib-prod/index._auto-generated_.js +6 -0
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +1 -0
- package/lib-prod/index.js +18 -0
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/typeorm/cache/DbQueryResultCache.d.ts +52 -0
- package/lib-prod/typeorm/cache/DbQueryResultCache.js +278 -0
- package/lib-prod/typeorm/cache/DbQueryResultCache.js.map +1 -0
- package/lib-prod/typeorm/cache/QueryResultCache.d.ts +39 -0
- package/lib-prod/typeorm/cache/QueryResultCache.js +3 -0
- package/lib-prod/typeorm/cache/QueryResultCache.js.map +1 -0
- package/lib-prod/typeorm/cache/QueryResultCacheFactory.d.ts +13 -0
- package/lib-prod/typeorm/cache/QueryResultCacheFactory.js +42 -0
- package/lib-prod/typeorm/cache/QueryResultCacheFactory.js.map +1 -0
- package/lib-prod/typeorm/cache/QueryResultCacheOptions.d.ts +26 -0
- package/lib-prod/typeorm/cache/QueryResultCacheOptions.js +3 -0
- package/lib-prod/typeorm/cache/QueryResultCacheOptions.js.map +1 -0
- package/lib-prod/typeorm/cache/RedisQueryResultCache.d.ts +65 -0
- package/lib-prod/typeorm/cache/RedisQueryResultCache.js +212 -0
- package/lib-prod/typeorm/cache/RedisQueryResultCache.js.map +1 -0
- package/lib-prod/typeorm/cli-ts-node-commonjs.d.ts +2 -0
- package/lib-prod/typeorm/cli-ts-node-commonjs.js +8 -0
- package/lib-prod/typeorm/cli-ts-node-commonjs.js.map +1 -0
- package/lib-prod/typeorm/cli-ts-node-esm.d.ts +2 -0
- package/lib-prod/typeorm/cli-ts-node-esm.js +24 -0
- package/lib-prod/typeorm/cli-ts-node-esm.js.map +1 -0
- package/lib-prod/typeorm/cli.d.ts +2 -0
- package/lib-prod/typeorm/cli.js +43 -0
- package/lib-prod/typeorm/cli.js.map +1 -0
- package/lib-prod/typeorm/commands/CacheClearCommand.d.ts +12 -0
- package/lib-prod/typeorm/commands/CacheClearCommand.js +51 -0
- package/lib-prod/typeorm/commands/CacheClearCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/CommandUtils.d.ts +24 -0
- package/lib-prod/typeorm/commands/CommandUtils.js +87 -0
- package/lib-prod/typeorm/commands/CommandUtils.js.map +1 -0
- package/lib-prod/typeorm/commands/EntityCreateCommand.d.ts +13 -0
- package/lib-prod/typeorm/commands/EntityCreateCommand.js +50 -0
- package/lib-prod/typeorm/commands/EntityCreateCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/InitCommand.d.ts +69 -0
- package/lib-prod/typeorm/commands/InitCommand.js +617 -0
- package/lib-prod/typeorm/commands/InitCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/MigrationCreateCommand.d.ts +22 -0
- package/lib-prod/typeorm/commands/MigrationCreateCommand.js +88 -0
- package/lib-prod/typeorm/commands/MigrationCreateCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/MigrationGenerateCommand.d.ts +38 -0
- package/lib-prod/typeorm/commands/MigrationGenerateCommand.js +206 -0
- package/lib-prod/typeorm/commands/MigrationGenerateCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/MigrationRevertCommand.d.ts +16 -0
- package/lib-prod/typeorm/commands/MigrationRevertCommand.js +75 -0
- package/lib-prod/typeorm/commands/MigrationRevertCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/MigrationRunCommand.d.ts +16 -0
- package/lib-prod/typeorm/commands/MigrationRunCommand.js +79 -0
- package/lib-prod/typeorm/commands/MigrationRunCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/MigrationShowCommand.d.ts +12 -0
- package/lib-prod/typeorm/commands/MigrationShowCommand.js +46 -0
- package/lib-prod/typeorm/commands/MigrationShowCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/QueryCommand.d.ts +14 -0
- package/lib-prod/typeorm/commands/QueryCommand.js +66 -0
- package/lib-prod/typeorm/commands/QueryCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/SchemaDropCommand.d.ts +12 -0
- package/lib-prod/typeorm/commands/SchemaDropCommand.js +47 -0
- package/lib-prod/typeorm/commands/SchemaDropCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/SchemaLogCommand.d.ts +12 -0
- package/lib-prod/typeorm/commands/SchemaLogCommand.js +71 -0
- package/lib-prod/typeorm/commands/SchemaLogCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/SchemaSyncCommand.d.ts +12 -0
- package/lib-prod/typeorm/commands/SchemaSyncCommand.js +47 -0
- package/lib-prod/typeorm/commands/SchemaSyncCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/SubscriberCreateCommand.d.ts +13 -0
- package/lib-prod/typeorm/commands/SubscriberCreateCommand.js +50 -0
- package/lib-prod/typeorm/commands/SubscriberCreateCommand.js.map +1 -0
- package/lib-prod/typeorm/commands/VersionCommand.d.ts +10 -0
- package/lib-prod/typeorm/commands/VersionCommand.js +56 -0
- package/lib-prod/typeorm/commands/VersionCommand.js.map +1 -0
- package/lib-prod/typeorm/common/DeepPartial.d.ts +6 -0
- package/lib-prod/typeorm/common/DeepPartial.js +3 -0
- package/lib-prod/typeorm/common/DeepPartial.js.map +1 -0
- package/lib-prod/typeorm/common/EntityTarget.d.ts +9 -0
- package/lib-prod/typeorm/common/EntityTarget.js +3 -0
- package/lib-prod/typeorm/common/EntityTarget.js.map +1 -0
- package/lib-prod/typeorm/common/MixedList.d.ts +8 -0
- package/lib-prod/typeorm/common/MixedList.js +3 -0
- package/lib-prod/typeorm/common/MixedList.js.map +1 -0
- package/lib-prod/typeorm/common/NonNever.d.ts +6 -0
- package/lib-prod/typeorm/common/NonNever.js +3 -0
- package/lib-prod/typeorm/common/NonNever.js.map +1 -0
- package/lib-prod/typeorm/common/ObjectLiteral.d.ts +6 -0
- package/lib-prod/typeorm/common/ObjectLiteral.js +3 -0
- package/lib-prod/typeorm/common/ObjectLiteral.js.map +1 -0
- package/lib-prod/typeorm/common/ObjectType.d.ts +6 -0
- package/lib-prod/typeorm/common/ObjectType.js +3 -0
- package/lib-prod/typeorm/common/ObjectType.js.map +1 -0
- package/lib-prod/typeorm/common/RelationType.d.ts +14 -0
- package/lib-prod/typeorm/common/RelationType.js +3 -0
- package/lib-prod/typeorm/common/RelationType.js.map +1 -0
- package/lib-prod/typeorm/connection/BaseConnectionOptions.d.ts +7 -0
- package/lib-prod/typeorm/connection/BaseConnectionOptions.js +3 -0
- package/lib-prod/typeorm/connection/BaseConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/connection/Connection.d.ts +10 -0
- package/lib-prod/typeorm/connection/Connection.js +15 -0
- package/lib-prod/typeorm/connection/Connection.js.map +1 -0
- package/lib-prod/typeorm/connection/ConnectionManager.d.ts +33 -0
- package/lib-prod/typeorm/connection/ConnectionManager.js +63 -0
- package/lib-prod/typeorm/connection/ConnectionManager.js.map +1 -0
- package/lib-prod/typeorm/connection/ConnectionMetadataBuilder.d.ts +24 -0
- package/lib-prod/typeorm/connection/ConnectionMetadataBuilder.js +74 -0
- package/lib-prod/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -0
- package/lib-prod/typeorm/connection/ConnectionOptions.d.ts +9 -0
- package/lib-prod/typeorm/connection/ConnectionOptions.js +3 -0
- package/lib-prod/typeorm/connection/ConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/connection/ConnectionOptionsReader.d.ts +64 -0
- package/lib-prod/typeorm/connection/ConnectionOptionsReader.js +227 -0
- package/lib-prod/typeorm/connection/ConnectionOptionsReader.js.map +1 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsEnvReader.d.ts +30 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js +110 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsXmlReader.d.ts +16 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js +69 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsYmlReader.d.ts +12 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js +31 -0
- package/lib-prod/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -0
- package/lib-prod/typeorm/constants.d.ts +1 -0
- package/lib-prod/typeorm/constants.js +6 -0
- package/lib-prod/typeorm/constants.js.map +1 -0
- package/lib-prod/typeorm/container.d.ts +39 -0
- package/lib-prod/typeorm/container.js +57 -0
- package/lib-prod/typeorm/container.js.map +1 -0
- package/lib-prod/typeorm/data-source/BaseDataSourceOptions.d.ts +171 -0
- package/lib-prod/typeorm/data-source/BaseDataSourceOptions.js +3 -0
- package/lib-prod/typeorm/data-source/BaseDataSourceOptions.js.map +1 -0
- package/lib-prod/typeorm/data-source/DataSource.d.ts +260 -0
- package/lib-prod/typeorm/data-source/DataSource.js +528 -0
- package/lib-prod/typeorm/data-source/DataSource.js.map +1 -0
- package/lib-prod/typeorm/data-source/DataSourceOptions.d.ts +22 -0
- package/lib-prod/typeorm/data-source/DataSourceOptions.js +4 -0
- package/lib-prod/typeorm/data-source/DataSourceOptions.js.map +1 -0
- package/lib-prod/typeorm/data-source/index.d.ts +2 -0
- package/lib-prod/typeorm/data-source/index.js +19 -0
- package/lib-prod/typeorm/data-source/index.js.map +1 -0
- package/lib-prod/typeorm/decorator/Check.d.ts +12 -0
- package/lib-prod/typeorm/decorator/Check.js +26 -0
- package/lib-prod/typeorm/decorator/Check.js.map +1 -0
- package/lib-prod/typeorm/decorator/EntityRepository.d.ts +9 -0
- package/lib-prod/typeorm/decorator/EntityRepository.js +20 -0
- package/lib-prod/typeorm/decorator/EntityRepository.js.map +1 -0
- package/lib-prod/typeorm/decorator/Exclusion.d.ts +12 -0
- package/lib-prod/typeorm/decorator/Exclusion.js +26 -0
- package/lib-prod/typeorm/decorator/Exclusion.js.map +1 -0
- package/lib-prod/typeorm/decorator/Generated.d.ts +10 -0
- package/lib-prod/typeorm/decorator/Generated.js +23 -0
- package/lib-prod/typeorm/decorator/Generated.js.map +1 -0
- package/lib-prod/typeorm/decorator/Index.d.ts +49 -0
- package/lib-prod/typeorm/decorator/Index.js +54 -0
- package/lib-prod/typeorm/decorator/Index.js.map +1 -0
- package/lib-prod/typeorm/decorator/Unique.d.ts +21 -0
- package/lib-prod/typeorm/decorator/Unique.js +49 -0
- package/lib-prod/typeorm/decorator/Unique.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/Column.d.ts +74 -0
- package/lib-prod/typeorm/decorator/columns/Column.js +77 -0
- package/lib-prod/typeorm/decorator/columns/Column.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/CreateDateColumn.d.ts +7 -0
- package/lib-prod/typeorm/decorator/columns/CreateDateColumn.js +20 -0
- package/lib-prod/typeorm/decorator/columns/CreateDateColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/DeleteDateColumn.d.ts +6 -0
- package/lib-prod/typeorm/decorator/columns/DeleteDateColumn.js +19 -0
- package/lib-prod/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/ObjectIdColumn.d.ts +6 -0
- package/lib-prod/typeorm/decorator/columns/ObjectIdColumn.js +26 -0
- package/lib-prod/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/PrimaryColumn.d.ts +21 -0
- package/lib-prod/typeorm/decorator/columns/PrimaryColumn.js +62 -0
- package/lib-prod/typeorm/decorator/columns/PrimaryColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/PrimaryGeneratedColumn.d.ts +24 -0
- package/lib-prod/typeorm/decorator/columns/PrimaryGeneratedColumn.js +58 -0
- package/lib-prod/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/UpdateDateColumn.d.ts +6 -0
- package/lib-prod/typeorm/decorator/columns/UpdateDateColumn.js +19 -0
- package/lib-prod/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/VersionColumn.d.ts +7 -0
- package/lib-prod/typeorm/decorator/columns/VersionColumn.js +20 -0
- package/lib-prod/typeorm/decorator/columns/VersionColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/ViewColumn.d.ts +5 -0
- package/lib-prod/typeorm/decorator/columns/ViewColumn.js +18 -0
- package/lib-prod/typeorm/decorator/columns/ViewColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/columns/VirtualColumn.d.ts +10 -0
- package/lib-prod/typeorm/decorator/columns/VirtualColumn.js +48 -0
- package/lib-prod/typeorm/decorator/columns/VirtualColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/entity/ChildEntity.d.ts +4 -0
- package/lib-prod/typeorm/decorator/entity/ChildEntity.js +24 -0
- package/lib-prod/typeorm/decorator/entity/ChildEntity.js.map +1 -0
- package/lib-prod/typeorm/decorator/entity/Entity.d.ts +11 -0
- package/lib-prod/typeorm/decorator/entity/Entity.js +30 -0
- package/lib-prod/typeorm/decorator/entity/Entity.js.map +1 -0
- package/lib-prod/typeorm/decorator/entity/TableInheritance.d.ts +8 -0
- package/lib-prod/typeorm/decorator/entity/TableInheritance.js +21 -0
- package/lib-prod/typeorm/decorator/entity/TableInheritance.js.map +1 -0
- package/lib-prod/typeorm/decorator/entity-view/ViewEntity.d.ts +11 -0
- package/lib-prod/typeorm/decorator/entity-view/ViewEntity.js +31 -0
- package/lib-prod/typeorm/decorator/entity-view/ViewEntity.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/AfterInsert.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/AfterInsert.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/AfterInsert.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/AfterLoad.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/AfterLoad.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/AfterLoad.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/AfterRecover.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/AfterRecover.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/AfterRecover.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/AfterRemove.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/AfterRemove.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/AfterRemove.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/AfterSoftRemove.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/AfterUpdate.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/AfterUpdate.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/AfterUpdate.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeInsert.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeInsert.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeInsert.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeRecover.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeRecover.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeRemove.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeRemove.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeRemove.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeSoftRemove.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeUpdate.d.ts +4 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeUpdate.js +18 -0
- package/lib-prod/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -0
- package/lib-prod/typeorm/decorator/listeners/EventSubscriber.d.ts +5 -0
- package/lib-prod/typeorm/decorator/listeners/EventSubscriber.js +16 -0
- package/lib-prod/typeorm/decorator/listeners/EventSubscriber.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnCommonOptions.d.ts +57 -0
- package/lib-prod/typeorm/decorator/options/ColumnCommonOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnEmbeddedOptions.d.ts +16 -0
- package/lib-prod/typeorm/decorator/options/ColumnEmbeddedOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnEnumOptions.d.ts +13 -0
- package/lib-prod/typeorm/decorator/options/ColumnEnumOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnHstoreOptions.d.ts +10 -0
- package/lib-prod/typeorm/decorator/options/ColumnHstoreOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnNumericOptions.d.ts +24 -0
- package/lib-prod/typeorm/decorator/options/ColumnNumericOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnOptions.d.ts +158 -0
- package/lib-prod/typeorm/decorator/options/ColumnOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnWithLengthOptions.d.ts +10 -0
- package/lib-prod/typeorm/decorator/options/ColumnWithLengthOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ColumnWithWidthOptions.d.ts +19 -0
- package/lib-prod/typeorm/decorator/options/ColumnWithWidthOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/EntityOptions.d.ts +42 -0
- package/lib-prod/typeorm/decorator/options/EntityOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/EntityOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/IndexOptions.d.ts +52 -0
- package/lib-prod/typeorm/decorator/options/IndexOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/IndexOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/JoinColumnOptions.d.ts +17 -0
- package/lib-prod/typeorm/decorator/options/JoinColumnOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/JoinColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/JoinTableMultipleColumnsOptions.d.ts +29 -0
- package/lib-prod/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/JoinTableOptions.d.ts +29 -0
- package/lib-prod/typeorm/decorator/options/JoinTableOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/JoinTableOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +26 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +31 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.d.ts +17 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/RelationOptions.d.ts +64 -0
- package/lib-prod/typeorm/decorator/options/RelationOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/RelationOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/SpatialColumnOptions.d.ts +15 -0
- package/lib-prod/typeorm/decorator/options/SpatialColumnOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/TransactionOptions.d.ts +5 -0
- package/lib-prod/typeorm/decorator/options/TransactionOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/TransactionOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/UniqueOptions.d.ts +10 -0
- package/lib-prod/typeorm/decorator/options/UniqueOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/UniqueOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ValueTransformer.d.ts +13 -0
- package/lib-prod/typeorm/decorator/options/ValueTransformer.js +3 -0
- package/lib-prod/typeorm/decorator/options/ValueTransformer.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ViewColumnOptions.d.ts +15 -0
- package/lib-prod/typeorm/decorator/options/ViewColumnOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ViewColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/ViewEntityOptions.d.ts +39 -0
- package/lib-prod/typeorm/decorator/options/ViewEntityOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/ViewEntityOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/options/VirtualColumnOptions.d.ts +27 -0
- package/lib-prod/typeorm/decorator/options/VirtualColumnOptions.js +3 -0
- package/lib-prod/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/JoinColumn.d.ts +19 -0
- package/lib-prod/typeorm/decorator/relations/JoinColumn.js +26 -0
- package/lib-prod/typeorm/decorator/relations/JoinColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/JoinTable.d.ts +17 -0
- package/lib-prod/typeorm/decorator/relations/JoinTable.js +32 -0
- package/lib-prod/typeorm/decorator/relations/JoinTable.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/ManyToMany.d.ts +14 -0
- package/lib-prod/typeorm/decorator/relations/ManyToMany.js +45 -0
- package/lib-prod/typeorm/decorator/relations/ManyToMany.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/ManyToOne.d.ts +14 -0
- package/lib-prod/typeorm/decorator/relations/ManyToOne.js +45 -0
- package/lib-prod/typeorm/decorator/relations/ManyToOne.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/OneToMany.d.ts +8 -0
- package/lib-prod/typeorm/decorator/relations/OneToMany.js +36 -0
- package/lib-prod/typeorm/decorator/relations/OneToMany.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/OneToOne.d.ts +12 -0
- package/lib-prod/typeorm/decorator/relations/OneToOne.js +44 -0
- package/lib-prod/typeorm/decorator/relations/OneToOne.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/RelationCount.d.ts +7 -0
- package/lib-prod/typeorm/decorator/relations/RelationCount.js +21 -0
- package/lib-prod/typeorm/decorator/relations/RelationCount.js.map +1 -0
- package/lib-prod/typeorm/decorator/relations/RelationId.d.ts +7 -0
- package/lib-prod/typeorm/decorator/relations/RelationId.js +21 -0
- package/lib-prod/typeorm/decorator/relations/RelationId.js.map +1 -0
- package/lib-prod/typeorm/decorator/tree/Tree.d.ts +9 -0
- package/lib-prod/typeorm/decorator/tree/Tree.js +20 -0
- package/lib-prod/typeorm/decorator/tree/Tree.js.map +1 -0
- package/lib-prod/typeorm/decorator/tree/TreeChildren.d.ts +7 -0
- package/lib-prod/typeorm/decorator/tree/TreeChildren.js +39 -0
- package/lib-prod/typeorm/decorator/tree/TreeChildren.js.map +1 -0
- package/lib-prod/typeorm/decorator/tree/TreeLevelColumn.d.ts +4 -0
- package/lib-prod/typeorm/decorator/tree/TreeLevelColumn.js +18 -0
- package/lib-prod/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -0
- package/lib-prod/typeorm/decorator/tree/TreeParent.d.ts +8 -0
- package/lib-prod/typeorm/decorator/tree/TreeParent.js +38 -0
- package/lib-prod/typeorm/decorator/tree/TreeParent.js.map +1 -0
- package/lib-prod/typeorm/driver/Driver.d.ts +207 -0
- package/lib-prod/typeorm/driver/Driver.js +3 -0
- package/lib-prod/typeorm/driver/Driver.js.map +1 -0
- package/lib-prod/typeorm/driver/DriverFactory.d.ts +11 -0
- package/lib-prod/typeorm/driver/DriverFactory.js +116 -0
- package/lib-prod/typeorm/driver/DriverFactory.js.map +1 -0
- package/lib-prod/typeorm/driver/DriverUtils.d.ts +61 -0
- package/lib-prod/typeorm/driver/DriverUtils.js +227 -0
- package/lib-prod/typeorm/driver/DriverUtils.js.map +1 -0
- package/lib-prod/typeorm/driver/Query.d.ts +9 -0
- package/lib-prod/typeorm/driver/Query.js +17 -0
- package/lib-prod/typeorm/driver/Query.js.map +1 -0
- package/lib-prod/typeorm/driver/SqlInMemory.d.ts +8 -0
- package/lib-prod/typeorm/driver/SqlInMemory.js +12 -0
- package/lib-prod/typeorm/driver/SqlInMemory.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnection.d.ts +13 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js +19 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +35 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +35 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +4 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlDriver.d.ts +250 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +880 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +327 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1702 -0
- package/lib-prod/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +35 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresDriver.d.ts +70 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +107 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +48 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +139 -0
- package/lib-prod/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +60 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3Driver.d.ts +59 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +155 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +32 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +130 -0
- package/lib-prod/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorConnectionOptions.d.ts +31 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorDriver.d.ts +27 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorDriver.js +83 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorQueryRunner.d.ts +33 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorQueryRunner.js +97 -0
- package/lib-prod/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +34 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +3 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachConnectionOptions.d.ts +44 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachDriver.d.ts +261 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachDriver.js +796 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachQueryRunner.d.ts +358 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachQueryRunner.js +2144 -0
- package/lib-prod/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/cordova/CordovaConnectionOptions.d.ts +24 -0
- package/lib-prod/typeorm/driver/cordova/CordovaConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/cordova/CordovaDriver.d.ts +25 -0
- package/lib-prod/typeorm/driver/cordova/CordovaDriver.js +80 -0
- package/lib-prod/typeorm/driver/cordova/CordovaDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/cordova/CordovaQueryRunner.d.ts +80 -0
- package/lib-prod/typeorm/driver/cordova/CordovaQueryRunner.js +161 -0
- package/lib-prod/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/expo/ExpoConnectionOptions.d.ts +19 -0
- package/lib-prod/typeorm/driver/expo/ExpoConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/expo/ExpoDriver.d.ts +21 -0
- package/lib-prod/typeorm/driver/expo/ExpoDriver.js +80 -0
- package/lib-prod/typeorm/driver/expo/ExpoDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/expo/ExpoQueryRunner.d.ts +57 -0
- package/lib-prod/typeorm/driver/expo/ExpoQueryRunner.js +165 -0
- package/lib-prod/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/mongodb/MongoConnectionOptions.d.ts +278 -0
- package/lib-prod/typeorm/driver/mongodb/MongoConnectionOptions.js +4 -0
- package/lib-prod/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/mongodb/MongoDriver.d.ts +224 -0
- package/lib-prod/typeorm/driver/mongodb/MongoDriver.js +452 -0
- package/lib-prod/typeorm/driver/mongodb/MongoDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/mongodb/MongoQueryRunner.d.ts +548 -0
- package/lib-prod/typeorm/driver/mongodb/MongoQueryRunner.js +747 -0
- package/lib-prod/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/mongodb/typings.d.ts +5350 -0
- package/lib-prod/typeorm/driver/mongodb/typings.js +4 -0
- package/lib-prod/typeorm/driver/mongodb/typings.js.map +1 -0
- package/lib-prod/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +39 -0
- package/lib-prod/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js +4 -0
- package/lib-prod/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/mysql/MysqlConnectionOptions.d.ts +126 -0
- package/lib-prod/typeorm/driver/mysql/MysqlConnectionOptions.js +4 -0
- package/lib-prod/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/mysql/MysqlDriver.d.ts +262 -0
- package/lib-prod/typeorm/driver/mysql/MysqlDriver.js +1116 -0
- package/lib-prod/typeorm/driver/mysql/MysqlDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/mysql/MysqlQueryRunner.d.ts +328 -0
- package/lib-prod/typeorm/driver/mysql/MysqlQueryRunner.js +2109 -0
- package/lib-prod/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptConnectionOptions.d.ts +45 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptDriver.d.ts +44 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptDriver.js +105 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptQueryRunner.d.ts +29 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptQueryRunner.js +91 -0
- package/lib-prod/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/oracle/OracleConnectionCredentialsOptions.d.ts +41 -0
- package/lib-prod/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js +4 -0
- package/lib-prod/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/oracle/OracleConnectionOptions.d.ts +37 -0
- package/lib-prod/typeorm/driver/oracle/OracleConnectionOptions.js +4 -0
- package/lib-prod/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/oracle/OracleDriver.d.ts +240 -0
- package/lib-prod/typeorm/driver/oracle/OracleDriver.js +856 -0
- package/lib-prod/typeorm/driver/oracle/OracleDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/oracle/OracleQueryRunner.d.ts +333 -0
- package/lib-prod/typeorm/driver/oracle/OracleQueryRunner.js +1844 -0
- package/lib-prod/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +34 -0
- package/lib-prod/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js +4 -0
- package/lib-prod/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/postgres/PostgresConnectionOptions.d.ts +67 -0
- package/lib-prod/typeorm/driver/postgres/PostgresConnectionOptions.js +4 -0
- package/lib-prod/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/postgres/PostgresDriver.d.ts +290 -0
- package/lib-prod/typeorm/driver/postgres/PostgresDriver.js +1286 -0
- package/lib-prod/typeorm/driver/postgres/PostgresDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/postgres/PostgresQueryRunner.d.ts +398 -0
- package/lib-prod/typeorm/driver/postgres/PostgresQueryRunner.js +2612 -0
- package/lib-prod/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeConnectionOptions.d.ts +24 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeDriver.d.ts +25 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeDriver.js +84 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeQueryRunner.d.ts +29 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeQueryRunner.js +91 -0
- package/lib-prod/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
- package/lib-prod/typeorm/driver/sap/SapConnectionCredentialsOptions.js +3 -0
- package/lib-prod/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/sap/SapConnectionOptions.d.ts +60 -0
- package/lib-prod/typeorm/driver/sap/SapConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/sap/SapConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/sap/SapDriver.d.ts +216 -0
- package/lib-prod/typeorm/driver/sap/SapDriver.js +681 -0
- package/lib-prod/typeorm/driver/sap/SapDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/sap/SapQueryRunner.d.ts +348 -0
- package/lib-prod/typeorm/driver/sap/SapQueryRunner.js +2031 -0
- package/lib-prod/typeorm/driver/sap/SapQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
- package/lib-prod/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
- package/lib-prod/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/spanner/SpannerConnectionOptions.d.ts +121 -0
- package/lib-prod/typeorm/driver/spanner/SpannerConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/spanner/SpannerDriver.d.ts +241 -0
- package/lib-prod/typeorm/driver/spanner/SpannerDriver.js +641 -0
- package/lib-prod/typeorm/driver/spanner/SpannerDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/spanner/SpannerQueryRunner.d.ts +349 -0
- package/lib-prod/typeorm/driver/spanner/SpannerQueryRunner.js +1466 -0
- package/lib-prod/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteConnectionOptions.d.ts +42 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteDriver.d.ts +59 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteDriver.js +159 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteQueryRunner.d.ts +27 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteQueryRunner.js +108 -0
- package/lib-prod/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +237 -0
- package/lib-prod/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +713 -0
- package/lib-prod/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +301 -0
- package/lib-prod/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1505 -0
- package/lib-prod/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsConnectionOptions.d.ts +46 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsConnectionOptions.js +3 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsDriver.d.ts +67 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsDriver.js +292 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsQueryRunner.d.ts +35 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsQueryRunner.js +116 -0
- package/lib-prod/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/MssqlParameter.d.ts +44 -0
- package/lib-prod/typeorm/driver/sqlserver/MssqlParameter.js +26 -0
- package/lib-prod/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +49 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +4 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerConnectionOptions.d.ts +237 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerConnectionOptions.js +4 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerDriver.d.ts +253 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerDriver.js +921 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerQueryRunner.d.ts +356 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerQueryRunner.js +2442 -0
- package/lib-prod/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
- package/lib-prod/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/lib-prod/typeorm/driver/types/ColumnTypes.d.ts +25 -0
- package/lib-prod/typeorm/driver/types/ColumnTypes.js +3 -0
- package/lib-prod/typeorm/driver/types/ColumnTypes.js.map +1 -0
- package/lib-prod/typeorm/driver/types/CteCapabilities.d.ts +18 -0
- package/lib-prod/typeorm/driver/types/CteCapabilities.js +3 -0
- package/lib-prod/typeorm/driver/types/CteCapabilities.js.map +1 -0
- package/lib-prod/typeorm/driver/types/DataTypeDefaults.d.ts +8 -0
- package/lib-prod/typeorm/driver/types/DataTypeDefaults.js +3 -0
- package/lib-prod/typeorm/driver/types/DataTypeDefaults.js.map +1 -0
- package/lib-prod/typeorm/driver/types/DatabaseType.d.ts +4 -0
- package/lib-prod/typeorm/driver/types/DatabaseType.js +3 -0
- package/lib-prod/typeorm/driver/types/DatabaseType.js.map +1 -0
- package/lib-prod/typeorm/driver/types/IsolationLevel.d.ts +1 -0
- package/lib-prod/typeorm/driver/types/IsolationLevel.js +3 -0
- package/lib-prod/typeorm/driver/types/IsolationLevel.js.map +1 -0
- package/lib-prod/typeorm/driver/types/MappedColumnTypes.d.ts +112 -0
- package/lib-prod/typeorm/driver/types/MappedColumnTypes.js +3 -0
- package/lib-prod/typeorm/driver/types/MappedColumnTypes.js.map +1 -0
- package/lib-prod/typeorm/driver/types/MetadataTableType.d.ts +5 -0
- package/lib-prod/typeorm/driver/types/MetadataTableType.js +10 -0
- package/lib-prod/typeorm/driver/types/MetadataTableType.js.map +1 -0
- package/lib-prod/typeorm/driver/types/ReplicationMode.d.ts +1 -0
- package/lib-prod/typeorm/driver/types/ReplicationMode.js +3 -0
- package/lib-prod/typeorm/driver/types/ReplicationMode.js.map +1 -0
- package/lib-prod/typeorm/driver/types/UpsertType.d.ts +1 -0
- package/lib-prod/typeorm/driver/types/UpsertType.js +3 -0
- package/lib-prod/typeorm/driver/types/UpsertType.js.map +1 -0
- package/lib-prod/typeorm/entity-manager/EntityManager.d.ts +357 -0
- package/lib-prod/typeorm/entity-manager/EntityManager.js +791 -0
- package/lib-prod/typeorm/entity-manager/EntityManager.js.map +1 -0
- package/lib-prod/typeorm/entity-manager/EntityManagerFactory.d.ts +12 -0
- package/lib-prod/typeorm/entity-manager/EntityManagerFactory.js +27 -0
- package/lib-prod/typeorm/entity-manager/EntityManagerFactory.js.map +1 -0
- package/lib-prod/typeorm/entity-manager/MongoEntityManager.d.ts +300 -0
- package/lib-prod/typeorm/entity-manager/MongoEntityManager.js +733 -0
- package/lib-prod/typeorm/entity-manager/MongoEntityManager.js.map +1 -0
- package/lib-prod/typeorm/entity-manager/SqljsEntityManager.d.ts +26 -0
- package/lib-prod/typeorm/entity-manager/SqljsEntityManager.js +44 -0
- package/lib-prod/typeorm/entity-manager/SqljsEntityManager.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchema.d.ts +9 -0
- package/lib-prod/typeorm/entity-schema/EntitySchema.js +15 -0
- package/lib-prod/typeorm/entity-schema/EntitySchema.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaCheckOptions.d.ts +10 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaCheckOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaColumnOptions.d.ts +174 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaColumnOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +22 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaEmbeddedError.js +17 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaExclusionOptions.d.ts +10 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaExclusionOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaIndexOptions.d.ts +53 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaIndexOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaOptions.d.ts +103 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaOptions.js +90 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaRelationIdOptions.d.ts +15 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaRelationIdOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaRelationOptions.d.ts +95 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaRelationOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaTransformer.d.ts +13 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaTransformer.js +284 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaUniqueOptions.d.ts +17 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaUniqueOptions.js +3 -0
- package/lib-prod/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -0
- package/lib-prod/typeorm/error/AlreadyHasActiveConnectionError.d.ts +7 -0
- package/lib-prod/typeorm/error/AlreadyHasActiveConnectionError.js +15 -0
- package/lib-prod/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotAttachTreeChildrenEntityError.d.ts +7 -0
- package/lib-prod/typeorm/error/CannotAttachTreeChildrenEntityError.js +15 -0
- package/lib-prod/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotConnectAlreadyConnectedError.d.ts +7 -0
- package/lib-prod/typeorm/error/CannotConnectAlreadyConnectedError.js +14 -0
- package/lib-prod/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotCreateEntityIdMapError.d.ts +9 -0
- package/lib-prod/typeorm/error/CannotCreateEntityIdMapError.js +20 -0
- package/lib-prod/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotDetermineEntityError.d.ts +7 -0
- package/lib-prod/typeorm/error/CannotDetermineEntityError.js +15 -0
- package/lib-prod/typeorm/error/CannotDetermineEntityError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotExecuteNotConnectedError.d.ts +7 -0
- package/lib-prod/typeorm/error/CannotExecuteNotConnectedError.js +14 -0
- package/lib-prod/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotGetEntityManagerNotConnectedError.d.ts +7 -0
- package/lib-prod/typeorm/error/CannotGetEntityManagerNotConnectedError.js +14 -0
- package/lib-prod/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -0
- package/lib-prod/typeorm/error/CannotReflectMethodParameterTypeError.d.ts +8 -0
- package/lib-prod/typeorm/error/CannotReflectMethodParameterTypeError.js +17 -0
- package/lib-prod/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -0
- package/lib-prod/typeorm/error/CircularRelationsError.d.ts +7 -0
- package/lib-prod/typeorm/error/CircularRelationsError.js +15 -0
- package/lib-prod/typeorm/error/CircularRelationsError.js.map +1 -0
- package/lib-prod/typeorm/error/ColumnTypeUndefinedError.d.ts +8 -0
- package/lib-prod/typeorm/error/ColumnTypeUndefinedError.js +18 -0
- package/lib-prod/typeorm/error/ColumnTypeUndefinedError.js.map +1 -0
- package/lib-prod/typeorm/error/ConnectionIsNotSetError.d.ts +7 -0
- package/lib-prod/typeorm/error/ConnectionIsNotSetError.js +14 -0
- package/lib-prod/typeorm/error/ConnectionIsNotSetError.js.map +1 -0
- package/lib-prod/typeorm/error/ConnectionNotFoundError.d.ts +7 -0
- package/lib-prod/typeorm/error/ConnectionNotFoundError.js +14 -0
- package/lib-prod/typeorm/error/ConnectionNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/CustomRepositoryCannotInheritRepositoryError.d.ts +7 -0
- package/lib-prod/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js +17 -0
- package/lib-prod/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -0
- package/lib-prod/typeorm/error/CustomRepositoryDoesNotHaveEntityError.d.ts +7 -0
- package/lib-prod/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js +17 -0
- package/lib-prod/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -0
- package/lib-prod/typeorm/error/CustomRepositoryNotFoundError.d.ts +7 -0
- package/lib-prod/typeorm/error/CustomRepositoryNotFoundError.js +17 -0
- package/lib-prod/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/DataTypeNotSupportedError.d.ts +7 -0
- package/lib-prod/typeorm/error/DataTypeNotSupportedError.js +13 -0
- package/lib-prod/typeorm/error/DataTypeNotSupportedError.js.map +1 -0
- package/lib-prod/typeorm/error/DriverOptionNotSetError.d.ts +7 -0
- package/lib-prod/typeorm/error/DriverOptionNotSetError.js +15 -0
- package/lib-prod/typeorm/error/DriverOptionNotSetError.js.map +1 -0
- package/lib-prod/typeorm/error/DriverPackageNotInstalledError.d.ts +7 -0
- package/lib-prod/typeorm/error/DriverPackageNotInstalledError.js +15 -0
- package/lib-prod/typeorm/error/DriverPackageNotInstalledError.js.map +1 -0
- package/lib-prod/typeorm/error/EntityMetadataNotFoundError.d.ts +6 -0
- package/lib-prod/typeorm/error/EntityMetadataNotFoundError.js +28 -0
- package/lib-prod/typeorm/error/EntityMetadataNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/EntityNotFoundError.d.ts +10 -0
- package/lib-prod/typeorm/error/EntityNotFoundError.js +39 -0
- package/lib-prod/typeorm/error/EntityNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/EntityPropertyNotFoundError.d.ts +8 -0
- package/lib-prod/typeorm/error/EntityPropertyNotFoundError.js +16 -0
- package/lib-prod/typeorm/error/EntityPropertyNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/FindRelationsNotFoundError.d.ts +7 -0
- package/lib-prod/typeorm/error/FindRelationsNotFoundError.js +22 -0
- package/lib-prod/typeorm/error/FindRelationsNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/ForbiddenTransactionModeOverrideError.d.ts +8 -0
- package/lib-prod/typeorm/error/ForbiddenTransactionModeOverrideError.js +15 -0
- package/lib-prod/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -0
- package/lib-prod/typeorm/error/InitializedRelationError.d.ts +11 -0
- package/lib-prod/typeorm/error/InitializedRelationError.js +19 -0
- package/lib-prod/typeorm/error/InitializedRelationError.js.map +1 -0
- package/lib-prod/typeorm/error/InsertValuesMissingError.d.ts +7 -0
- package/lib-prod/typeorm/error/InsertValuesMissingError.js +15 -0
- package/lib-prod/typeorm/error/InsertValuesMissingError.js.map +1 -0
- package/lib-prod/typeorm/error/LimitOnUpdateNotSupportedError.d.ts +7 -0
- package/lib-prod/typeorm/error/LimitOnUpdateNotSupportedError.js +14 -0
- package/lib-prod/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -0
- package/lib-prod/typeorm/error/LockNotSupportedOnGivenDriverError.d.ts +7 -0
- package/lib-prod/typeorm/error/LockNotSupportedOnGivenDriverError.js +14 -0
- package/lib-prod/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -0
- package/lib-prod/typeorm/error/MetadataAlreadyExistsError.d.ts +4 -0
- package/lib-prod/typeorm/error/MetadataAlreadyExistsError.js +17 -0
- package/lib-prod/typeorm/error/MetadataAlreadyExistsError.js.map +1 -0
- package/lib-prod/typeorm/error/MetadataWithSuchNameAlreadyExistsError.d.ts +4 -0
- package/lib-prod/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +15 -0
- package/lib-prod/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -0
- package/lib-prod/typeorm/error/MissingDeleteDateColumnError.d.ts +5 -0
- package/lib-prod/typeorm/error/MissingDeleteDateColumnError.js +11 -0
- package/lib-prod/typeorm/error/MissingDeleteDateColumnError.js.map +1 -0
- package/lib-prod/typeorm/error/MissingDriverError.d.ts +7 -0
- package/lib-prod/typeorm/error/MissingDriverError.js +15 -0
- package/lib-prod/typeorm/error/MissingDriverError.js.map +1 -0
- package/lib-prod/typeorm/error/MissingJoinColumnError.d.ts +6 -0
- package/lib-prod/typeorm/error/MissingJoinColumnError.js +22 -0
- package/lib-prod/typeorm/error/MissingJoinColumnError.js.map +1 -0
- package/lib-prod/typeorm/error/MissingJoinTableError.d.ts +6 -0
- package/lib-prod/typeorm/error/MissingJoinTableError.js +22 -0
- package/lib-prod/typeorm/error/MissingJoinTableError.js.map +1 -0
- package/lib-prod/typeorm/error/MissingPrimaryColumnError.d.ts +5 -0
- package/lib-prod/typeorm/error/MissingPrimaryColumnError.js +12 -0
- package/lib-prod/typeorm/error/MissingPrimaryColumnError.js.map +1 -0
- package/lib-prod/typeorm/error/MustBeEntityError.d.ts +7 -0
- package/lib-prod/typeorm/error/MustBeEntityError.js +14 -0
- package/lib-prod/typeorm/error/MustBeEntityError.js.map +1 -0
- package/lib-prod/typeorm/error/NamingStrategyNotFoundError.d.ts +7 -0
- package/lib-prod/typeorm/error/NamingStrategyNotFoundError.js +20 -0
- package/lib-prod/typeorm/error/NamingStrategyNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/NestedSetMultipleRootError.d.ts +4 -0
- package/lib-prod/typeorm/error/NestedSetMultipleRootError.js +11 -0
- package/lib-prod/typeorm/error/NestedSetMultipleRootError.js.map +1 -0
- package/lib-prod/typeorm/error/NoConnectionForRepositoryError.d.ts +7 -0
- package/lib-prod/typeorm/error/NoConnectionForRepositoryError.js +15 -0
- package/lib-prod/typeorm/error/NoConnectionForRepositoryError.js.map +1 -0
- package/lib-prod/typeorm/error/NoConnectionOptionError.d.ts +7 -0
- package/lib-prod/typeorm/error/NoConnectionOptionError.js +15 -0
- package/lib-prod/typeorm/error/NoConnectionOptionError.js.map +1 -0
- package/lib-prod/typeorm/error/NoNeedToReleaseEntityManagerError.d.ts +7 -0
- package/lib-prod/typeorm/error/NoNeedToReleaseEntityManagerError.js +16 -0
- package/lib-prod/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -0
- package/lib-prod/typeorm/error/NoVersionOrUpdateDateColumnError.d.ts +7 -0
- package/lib-prod/typeorm/error/NoVersionOrUpdateDateColumnError.js +14 -0
- package/lib-prod/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -0
- package/lib-prod/typeorm/error/OffsetWithoutLimitNotSupportedError.d.ts +7 -0
- package/lib-prod/typeorm/error/OffsetWithoutLimitNotSupportedError.js +16 -0
- package/lib-prod/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -0
- package/lib-prod/typeorm/error/OptimisticLockCanNotBeUsedError.d.ts +7 -0
- package/lib-prod/typeorm/error/OptimisticLockCanNotBeUsedError.js +14 -0
- package/lib-prod/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -0
- package/lib-prod/typeorm/error/OptimisticLockVersionMismatchError.d.ts +7 -0
- package/lib-prod/typeorm/error/OptimisticLockVersionMismatchError.js +14 -0
- package/lib-prod/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -0
- package/lib-prod/typeorm/error/PersistedEntityNotFoundError.d.ts +7 -0
- package/lib-prod/typeorm/error/PersistedEntityNotFoundError.js +14 -0
- package/lib-prod/typeorm/error/PersistedEntityNotFoundError.js.map +1 -0
- package/lib-prod/typeorm/error/PessimisticLockTransactionRequiredError.d.ts +7 -0
- package/lib-prod/typeorm/error/PessimisticLockTransactionRequiredError.js +14 -0
- package/lib-prod/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -0
- package/lib-prod/typeorm/error/PrimaryColumnCannotBeNullableError.d.ts +4 -0
- package/lib-prod/typeorm/error/PrimaryColumnCannotBeNullableError.js +12 -0
- package/lib-prod/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -0
- package/lib-prod/typeorm/error/QueryFailedError.d.ts +10 -0
- package/lib-prod/typeorm/error/QueryFailedError.js +32 -0
- package/lib-prod/typeorm/error/QueryFailedError.js.map +1 -0
- package/lib-prod/typeorm/error/QueryRunnerAlreadyReleasedError.d.ts +4 -0
- package/lib-prod/typeorm/error/QueryRunnerAlreadyReleasedError.js +11 -0
- package/lib-prod/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -0
- package/lib-prod/typeorm/error/QueryRunnerProviderAlreadyReleasedError.d.ts +7 -0
- package/lib-prod/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +15 -0
- package/lib-prod/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -0
- package/lib-prod/typeorm/error/RepositoryNotTreeError.d.ts +8 -0
- package/lib-prod/typeorm/error/RepositoryNotTreeError.js +31 -0
- package/lib-prod/typeorm/error/RepositoryNotTreeError.js.map +1 -0
- package/lib-prod/typeorm/error/ReturningStatementNotSupportedError.d.ts +8 -0
- package/lib-prod/typeorm/error/ReturningStatementNotSupportedError.js +15 -0
- package/lib-prod/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -0
- package/lib-prod/typeorm/error/SubjectRemovedAndUpdatedError.d.ts +8 -0
- package/lib-prod/typeorm/error/SubjectRemovedAndUpdatedError.js +15 -0
- package/lib-prod/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -0
- package/lib-prod/typeorm/error/SubjectWithoutIdentifierError.d.ts +10 -0
- package/lib-prod/typeorm/error/SubjectWithoutIdentifierError.js +16 -0
- package/lib-prod/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -0
- package/lib-prod/typeorm/error/TransactionAlreadyStartedError.d.ts +7 -0
- package/lib-prod/typeorm/error/TransactionAlreadyStartedError.js +14 -0
- package/lib-prod/typeorm/error/TransactionAlreadyStartedError.js.map +1 -0
- package/lib-prod/typeorm/error/TransactionNotStartedError.d.ts +7 -0
- package/lib-prod/typeorm/error/TransactionNotStartedError.js +14 -0
- package/lib-prod/typeorm/error/TransactionNotStartedError.js.map +1 -0
- package/lib-prod/typeorm/error/TreeRepositoryNotSupportedError.d.ts +5 -0
- package/lib-prod/typeorm/error/TreeRepositoryNotSupportedError.js +11 -0
- package/lib-prod/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -0
- package/lib-prod/typeorm/error/TypeORMError.d.ts +4 -0
- package/lib-prod/typeorm/error/TypeORMError.js +22 -0
- package/lib-prod/typeorm/error/TypeORMError.js.map +1 -0
- package/lib-prod/typeorm/error/UpdateValuesMissingError.d.ts +4 -0
- package/lib-prod/typeorm/error/UpdateValuesMissingError.js +11 -0
- package/lib-prod/typeorm/error/UpdateValuesMissingError.js.map +1 -0
- package/lib-prod/typeorm/error/UsingJoinColumnIsNotAllowedError.d.ts +6 -0
- package/lib-prod/typeorm/error/UsingJoinColumnIsNotAllowedError.js +12 -0
- package/lib-prod/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -0
- package/lib-prod/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +6 -0
- package/lib-prod/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +13 -0
- package/lib-prod/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -0
- package/lib-prod/typeorm/error/UsingJoinTableIsNotAllowedError.d.ts +6 -0
- package/lib-prod/typeorm/error/UsingJoinTableIsNotAllowedError.js +13 -0
- package/lib-prod/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -0
- package/lib-prod/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +6 -0
- package/lib-prod/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +13 -0
- package/lib-prod/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -0
- package/lib-prod/typeorm/error/index.d.ts +61 -0
- package/lib-prod/typeorm/error/index.js +78 -0
- package/lib-prod/typeorm/error/index.js.map +1 -0
- package/lib-prod/typeorm/find-options/EqualOperator.d.ts +5 -0
- package/lib-prod/typeorm/find-options/EqualOperator.js +12 -0
- package/lib-prod/typeorm/find-options/EqualOperator.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindManyOptions.d.ts +14 -0
- package/lib-prod/typeorm/find-options/FindManyOptions.js +3 -0
- package/lib-prod/typeorm/find-options/FindManyOptions.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOneOptions.d.ts +88 -0
- package/lib-prod/typeorm/find-options/FindOneOptions.js +3 -0
- package/lib-prod/typeorm/find-options/FindOneOptions.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOperator.d.ts +65 -0
- package/lib-prod/typeorm/find-options/FindOperator.js +109 -0
- package/lib-prod/typeorm/find-options/FindOperator.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOperatorType.d.ts +4 -0
- package/lib-prod/typeorm/find-options/FindOperatorType.js +3 -0
- package/lib-prod/typeorm/find-options/FindOperatorType.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOptionsOrder.d.ts +18 -0
- package/lib-prod/typeorm/find-options/FindOptionsOrder.js +3 -0
- package/lib-prod/typeorm/find-options/FindOptionsOrder.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOptionsRelations.d.ts +18 -0
- package/lib-prod/typeorm/find-options/FindOptionsRelations.js +3 -0
- package/lib-prod/typeorm/find-options/FindOptionsRelations.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOptionsSelect.d.ts +18 -0
- package/lib-prod/typeorm/find-options/FindOptionsSelect.js +3 -0
- package/lib-prod/typeorm/find-options/FindOptionsSelect.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOptionsUtils.d.ts +190 -0
- package/lib-prod/typeorm/find-options/FindOptionsUtils.js +319 -0
- package/lib-prod/typeorm/find-options/FindOptionsUtils.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindOptionsWhere.d.ts +13 -0
- package/lib-prod/typeorm/find-options/FindOptionsWhere.js +3 -0
- package/lib-prod/typeorm/find-options/FindOptionsWhere.js.map +1 -0
- package/lib-prod/typeorm/find-options/FindTreeOptions.d.ts +13 -0
- package/lib-prod/typeorm/find-options/FindTreeOptions.js +3 -0
- package/lib-prod/typeorm/find-options/FindTreeOptions.js.map +1 -0
- package/lib-prod/typeorm/find-options/JoinOptions.d.ts +76 -0
- package/lib-prod/typeorm/find-options/JoinOptions.js +3 -0
- package/lib-prod/typeorm/find-options/JoinOptions.js.map +1 -0
- package/lib-prod/typeorm/find-options/OrderByCondition.d.ts +17 -0
- package/lib-prod/typeorm/find-options/OrderByCondition.js +3 -0
- package/lib-prod/typeorm/find-options/OrderByCondition.js.map +1 -0
- package/lib-prod/typeorm/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
- package/lib-prod/typeorm/find-options/mongodb/MongoFindManyOptions.js +3 -0
- package/lib-prod/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
- package/lib-prod/typeorm/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
- package/lib-prod/typeorm/find-options/mongodb/MongoFindOneOptions.js +3 -0
- package/lib-prod/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/And.d.ts +2 -0
- package/lib-prod/typeorm/find-options/operator/And.js +8 -0
- package/lib-prod/typeorm/find-options/operator/And.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/Any.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/Any.js +12 -0
- package/lib-prod/typeorm/find-options/operator/Any.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/ArrayContainedBy.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/ArrayContainedBy.js +12 -0
- package/lib-prod/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/ArrayContains.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/ArrayContains.js +12 -0
- package/lib-prod/typeorm/find-options/operator/ArrayContains.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/ArrayOverlap.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/ArrayOverlap.js +12 -0
- package/lib-prod/typeorm/find-options/operator/ArrayOverlap.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/Between.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/Between.js +12 -0
- package/lib-prod/typeorm/find-options/operator/Between.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/Equal.d.ts +11 -0
- package/lib-prod/typeorm/find-options/operator/Equal.js +16 -0
- package/lib-prod/typeorm/find-options/operator/Equal.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/ILike.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/ILike.js +12 -0
- package/lib-prod/typeorm/find-options/operator/ILike.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/In.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/In.js +12 -0
- package/lib-prod/typeorm/find-options/operator/In.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/IsNull.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/IsNull.js +12 -0
- package/lib-prod/typeorm/find-options/operator/IsNull.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/LessThan.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/LessThan.js +12 -0
- package/lib-prod/typeorm/find-options/operator/LessThan.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/LessThanOrEqual.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/LessThanOrEqual.js +12 -0
- package/lib-prod/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/Like.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/Like.js +12 -0
- package/lib-prod/typeorm/find-options/operator/Like.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/MoreThan.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/MoreThan.js +12 -0
- package/lib-prod/typeorm/find-options/operator/MoreThan.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/MoreThanOrEqual.d.ts +6 -0
- package/lib-prod/typeorm/find-options/operator/MoreThanOrEqual.js +12 -0
- package/lib-prod/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/Not.d.ts +7 -0
- package/lib-prod/typeorm/find-options/operator/Not.js +13 -0
- package/lib-prod/typeorm/find-options/operator/Not.js.map +1 -0
- package/lib-prod/typeorm/find-options/operator/Raw.d.ts +18 -0
- package/lib-prod/typeorm/find-options/operator/Raw.js +11 -0
- package/lib-prod/typeorm/find-options/operator/Raw.js.map +1 -0
- package/lib-prod/typeorm/globals.d.ts +118 -0
- package/lib-prod/typeorm/globals.js +185 -0
- package/lib-prod/typeorm/globals.js.map +1 -0
- package/lib-prod/typeorm/index.d.ts +173 -0
- package/lib-prod/typeorm/index.js +211 -0
- package/lib-prod/typeorm/index.js.map +1 -0
- package/lib-prod/typeorm/logger/AdvancedConsoleLogger.d.ts +41 -0
- package/lib-prod/typeorm/logger/AdvancedConsoleLogger.js +122 -0
- package/lib-prod/typeorm/logger/AdvancedConsoleLogger.js.map +1 -0
- package/lib-prod/typeorm/logger/DebugLogger.d.ts +40 -0
- package/lib-prod/typeorm/logger/DebugLogger.js +94 -0
- package/lib-prod/typeorm/logger/DebugLogger.js.map +1 -0
- package/lib-prod/typeorm/logger/FileLogger.d.ts +46 -0
- package/lib-prod/typeorm/logger/FileLogger.js +137 -0
- package/lib-prod/typeorm/logger/FileLogger.js.map +1 -0
- package/lib-prod/typeorm/logger/Logger.d.ts +31 -0
- package/lib-prod/typeorm/logger/Logger.js +3 -0
- package/lib-prod/typeorm/logger/Logger.js.map +1 -0
- package/lib-prod/typeorm/logger/LoggerFactory.d.ts +11 -0
- package/lib-prod/typeorm/logger/LoggerFactory.js +39 -0
- package/lib-prod/typeorm/logger/LoggerFactory.js.map +1 -0
- package/lib-prod/typeorm/logger/LoggerOptions.d.ts +13 -0
- package/lib-prod/typeorm/logger/LoggerOptions.js +3 -0
- package/lib-prod/typeorm/logger/LoggerOptions.js.map +1 -0
- package/lib-prod/typeorm/logger/SimpleConsoleLogger.d.ts +41 -0
- package/lib-prod/typeorm/logger/SimpleConsoleLogger.js +121 -0
- package/lib-prod/typeorm/logger/SimpleConsoleLogger.js.map +1 -0
- package/lib-prod/typeorm/metadata/CheckMetadata.d.ts +39 -0
- package/lib-prod/typeorm/metadata/CheckMetadata.js +59 -0
- package/lib-prod/typeorm/metadata/CheckMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/ColumnMetadata.d.ts +315 -0
- package/lib-prod/typeorm/metadata/ColumnMetadata.js +791 -0
- package/lib-prod/typeorm/metadata/ColumnMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/EmbeddedMetadata.d.ts +165 -0
- package/lib-prod/typeorm/metadata/EmbeddedMetadata.js +260 -0
- package/lib-prod/typeorm/metadata/EmbeddedMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/EntityListenerMetadata.d.ts +48 -0
- package/lib-prod/typeorm/metadata/EntityListenerMetadata.js +88 -0
- package/lib-prod/typeorm/metadata/EntityListenerMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/EntityMetadata.d.ts +561 -0
- package/lib-prod/typeorm/metadata/EntityMetadata.js +829 -0
- package/lib-prod/typeorm/metadata/EntityMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/ExclusionMetadata.d.ts +39 -0
- package/lib-prod/typeorm/metadata/ExclusionMetadata.js +59 -0
- package/lib-prod/typeorm/metadata/ExclusionMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/ForeignKeyMetadata.d.ts +77 -0
- package/lib-prod/typeorm/metadata/ForeignKeyMetadata.js +93 -0
- package/lib-prod/typeorm/metadata/ForeignKeyMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/IndexMetadata.d.ts +111 -0
- package/lib-prod/typeorm/metadata/IndexMetadata.js +196 -0
- package/lib-prod/typeorm/metadata/IndexMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/RelationCountMetadata.d.ts +46 -0
- package/lib-prod/typeorm/metadata/RelationCountMetadata.js +69 -0
- package/lib-prod/typeorm/metadata/RelationCountMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/RelationIdMetadata.d.ts +53 -0
- package/lib-prod/typeorm/metadata/RelationIdMetadata.js +92 -0
- package/lib-prod/typeorm/metadata/RelationIdMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/RelationMetadata.d.ts +290 -0
- package/lib-prod/typeorm/metadata/RelationMetadata.js +534 -0
- package/lib-prod/typeorm/metadata/RelationMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/UniqueMetadata.d.ts +65 -0
- package/lib-prod/typeorm/metadata/UniqueMetadata.js +133 -0
- package/lib-prod/typeorm/metadata/UniqueMetadata.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/lib-prod/typeorm/metadata/types/ClosureTreeOptions.js +3 -0
- package/lib-prod/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/DeferrableType.d.ts +4 -0
- package/lib-prod/typeorm/metadata/types/DeferrableType.js +3 -0
- package/lib-prod/typeorm/metadata/types/DeferrableType.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/EventListenerTypes.d.ts +20 -0
- package/lib-prod/typeorm/metadata/types/EventListenerTypes.js +21 -0
- package/lib-prod/typeorm/metadata/types/EventListenerTypes.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/OnDeleteType.d.ts +4 -0
- package/lib-prod/typeorm/metadata/types/OnDeleteType.js +3 -0
- package/lib-prod/typeorm/metadata/types/OnDeleteType.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/OnUpdateType.d.ts +4 -0
- package/lib-prod/typeorm/metadata/types/OnUpdateType.js +3 -0
- package/lib-prod/typeorm/metadata/types/OnUpdateType.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/PropertyTypeInFunction.d.ts +4 -0
- package/lib-prod/typeorm/metadata/types/PropertyTypeInFunction.js +3 -0
- package/lib-prod/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/RelationTypeInFunction.d.ts +5 -0
- package/lib-prod/typeorm/metadata/types/RelationTypeInFunction.js +3 -0
- package/lib-prod/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/RelationTypes.d.ts +4 -0
- package/lib-prod/typeorm/metadata/types/RelationTypes.js +3 -0
- package/lib-prod/typeorm/metadata/types/RelationTypes.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/TableTypes.d.ts +4 -0
- package/lib-prod/typeorm/metadata/types/TableTypes.js +3 -0
- package/lib-prod/typeorm/metadata/types/TableTypes.js.map +1 -0
- package/lib-prod/typeorm/metadata/types/TreeTypes.d.ts +5 -0
- package/lib-prod/typeorm/metadata/types/TreeTypes.js +3 -0
- package/lib-prod/typeorm/metadata/types/TreeTypes.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/CheckMetadataArgs.d.ts +17 -0
- package/lib-prod/typeorm/metadata-args/CheckMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/ColumnMetadataArgs.d.ts +25 -0
- package/lib-prod/typeorm/metadata-args/ColumnMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/DiscriminatorValueMetadataArgs.d.ts +13 -0
- package/lib-prod/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/EmbeddedMetadataArgs.d.ts +26 -0
- package/lib-prod/typeorm/metadata-args/EmbeddedMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/EntityListenerMetadataArgs.d.ts +18 -0
- package/lib-prod/typeorm/metadata-args/EntityListenerMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/EntityRepositoryMetadataArgs.d.ts +14 -0
- package/lib-prod/typeorm/metadata-args/EntityRepositoryMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/EntitySubscriberMetadataArgs.d.ts +9 -0
- package/lib-prod/typeorm/metadata-args/EntitySubscriberMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/ExclusionMetadataArgs.d.ts +17 -0
- package/lib-prod/typeorm/metadata-args/ExclusionMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/GeneratedMetadataArgs.d.ts +17 -0
- package/lib-prod/typeorm/metadata-args/GeneratedMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/IndexMetadataArgs.d.ts +70 -0
- package/lib-prod/typeorm/metadata-args/IndexMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/InheritanceMetadataArgs.d.ts +18 -0
- package/lib-prod/typeorm/metadata-args/InheritanceMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/JoinColumnMetadataArgs.d.ts +26 -0
- package/lib-prod/typeorm/metadata-args/JoinColumnMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/JoinTableMetadataArgs.d.ts +37 -0
- package/lib-prod/typeorm/metadata-args/JoinTableMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/MetadataArgsStorage.d.ts +108 -0
- package/lib-prod/typeorm/metadata-args/MetadataArgsStorage.js +225 -0
- package/lib-prod/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/NamingStrategyMetadataArgs.d.ts +13 -0
- package/lib-prod/typeorm/metadata-args/NamingStrategyMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/RelationCountMetadataArgs.d.ts +26 -0
- package/lib-prod/typeorm/metadata-args/RelationCountMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/RelationIdMetadataArgs.d.ts +26 -0
- package/lib-prod/typeorm/metadata-args/RelationIdMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/RelationMetadataArgs.d.ts +55 -0
- package/lib-prod/typeorm/metadata-args/RelationMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/TableMetadataArgs.d.ts +61 -0
- package/lib-prod/typeorm/metadata-args/TableMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/TableMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/TransactionEntityMetadataArgs.d.ts +17 -0
- package/lib-prod/typeorm/metadata-args/TransactionEntityMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/TransactionRepositoryMetadataArgs.d.ts +25 -0
- package/lib-prod/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/TreeMetadataArgs.d.ts +19 -0
- package/lib-prod/typeorm/metadata-args/TreeMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/UniqueMetadataArgs.d.ts +24 -0
- package/lib-prod/typeorm/metadata-args/UniqueMetadataArgs.js +3 -0
- package/lib-prod/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -0
- package/lib-prod/typeorm/metadata-args/types/ColumnMode.d.ts +7 -0
- package/lib-prod/typeorm/metadata-args/types/ColumnMode.js +3 -0
- package/lib-prod/typeorm/metadata-args/types/ColumnMode.js.map +1 -0
- package/lib-prod/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +14 -0
- package/lib-prod/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +145 -0
- package/lib-prod/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -0
- package/lib-prod/typeorm/metadata-builder/EntityMetadataBuilder.d.ts +57 -0
- package/lib-prod/typeorm/metadata-builder/EntityMetadataBuilder.js +750 -0
- package/lib-prod/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -0
- package/lib-prod/typeorm/metadata-builder/EntityMetadataValidator.d.ts +23 -0
- package/lib-prod/typeorm/metadata-builder/EntityMetadataValidator.js +245 -0
- package/lib-prod/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -0
- package/lib-prod/typeorm/metadata-builder/JunctionEntityMetadataBuilder.d.ts +26 -0
- package/lib-prod/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +282 -0
- package/lib-prod/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -0
- package/lib-prod/typeorm/metadata-builder/MetadataUtils.d.ts +23 -0
- package/lib-prod/typeorm/metadata-builder/MetadataUtils.js +43 -0
- package/lib-prod/typeorm/metadata-builder/MetadataUtils.js.map +1 -0
- package/lib-prod/typeorm/metadata-builder/RelationJoinColumnBuilder.d.ts +56 -0
- package/lib-prod/typeorm/metadata-builder/RelationJoinColumnBuilder.js +184 -0
- package/lib-prod/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -0
- package/lib-prod/typeorm/migration/Migration.d.ts +24 -0
- package/lib-prod/typeorm/migration/Migration.js +39 -0
- package/lib-prod/typeorm/migration/Migration.js.map +1 -0
- package/lib-prod/typeorm/migration/MigrationExecutor.d.ts +99 -0
- package/lib-prod/typeorm/migration/MigrationExecutor.js +525 -0
- package/lib-prod/typeorm/migration/MigrationExecutor.js.map +1 -0
- package/lib-prod/typeorm/migration/MigrationInterface.d.ts +18 -0
- package/lib-prod/typeorm/migration/MigrationInterface.js +3 -0
- package/lib-prod/typeorm/migration/MigrationInterface.js.map +1 -0
- package/lib-prod/typeorm/naming-strategy/DefaultNamingStrategy.d.ts +49 -0
- package/lib-prod/typeorm/naming-strategy/DefaultNamingStrategy.js +145 -0
- package/lib-prod/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -0
- package/lib-prod/typeorm/naming-strategy/NamingStrategyInterface.d.ts +116 -0
- package/lib-prod/typeorm/naming-strategy/NamingStrategyInterface.js +3 -0
- package/lib-prod/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -0
- package/lib-prod/typeorm/persistence/EntityPersistExecutor.d.ts +21 -0
- package/lib-prod/typeorm/persistence/EntityPersistExecutor.js +182 -0
- package/lib-prod/typeorm/persistence/EntityPersistExecutor.js.map +1 -0
- package/lib-prod/typeorm/persistence/Subject.d.ts +155 -0
- package/lib-prod/typeorm/persistence/Subject.js +275 -0
- package/lib-prod/typeorm/persistence/Subject.js.map +1 -0
- package/lib-prod/typeorm/persistence/SubjectChangeMap.d.ts +23 -0
- package/lib-prod/typeorm/persistence/SubjectChangeMap.js +3 -0
- package/lib-prod/typeorm/persistence/SubjectChangeMap.js.map +1 -0
- package/lib-prod/typeorm/persistence/SubjectChangedColumnsComputer.d.ts +18 -0
- package/lib-prod/typeorm/persistence/SubjectChangedColumnsComputer.js +209 -0
- package/lib-prod/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -0
- package/lib-prod/typeorm/persistence/SubjectDatabaseEntityLoader.d.ts +35 -0
- package/lib-prod/typeorm/persistence/SubjectDatabaseEntityLoader.js +154 -0
- package/lib-prod/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -0
- package/lib-prod/typeorm/persistence/SubjectExecutor.d.ts +118 -0
- package/lib-prod/typeorm/persistence/SubjectExecutor.js +830 -0
- package/lib-prod/typeorm/persistence/SubjectExecutor.js.map +1 -0
- package/lib-prod/typeorm/persistence/SubjectTopoligicalSorter.d.ts +45 -0
- package/lib-prod/typeorm/persistence/SubjectTopoligicalSorter.js +185 -0
- package/lib-prod/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -0
- package/lib-prod/typeorm/persistence/subject-builder/CascadesSubjectBuilder.d.ts +19 -0
- package/lib-prod/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +107 -0
- package/lib-prod/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -0
- package/lib-prod/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +34 -0
- package/lib-prod/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +214 -0
- package/lib-prod/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -0
- package/lib-prod/typeorm/persistence/subject-builder/OneToManySubjectBuilder.d.ts +27 -0
- package/lib-prod/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +181 -0
- package/lib-prod/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -0
- package/lib-prod/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +27 -0
- package/lib-prod/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +155 -0
- package/lib-prod/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -0
- package/lib-prod/typeorm/persistence/tree/ClosureSubjectExecutor.d.ts +26 -0
- package/lib-prod/typeorm/persistence/tree/ClosureSubjectExecutor.js +241 -0
- package/lib-prod/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -0
- package/lib-prod/typeorm/persistence/tree/MaterializedPathSubjectExecutor.d.ts +18 -0
- package/lib-prod/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +110 -0
- package/lib-prod/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -0
- package/lib-prod/typeorm/persistence/tree/NestedSetSubjectExecutor.d.ts +38 -0
- package/lib-prod/typeorm/persistence/tree/NestedSetSubjectExecutor.js +273 -0
- package/lib-prod/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -0
- package/lib-prod/typeorm/platform/PlatformTools.d.ts +67 -0
- package/lib-prod/typeorm/platform/PlatformTools.js +363 -0
- package/lib-prod/typeorm/platform/PlatformTools.js.map +1 -0
- package/lib-prod/typeorm/query-builder/Alias.d.ts +22 -0
- package/lib-prod/typeorm/query-builder/Alias.js +40 -0
- package/lib-prod/typeorm/query-builder/Alias.js.map +1 -0
- package/lib-prod/typeorm/query-builder/Brackets.d.ts +16 -0
- package/lib-prod/typeorm/query-builder/Brackets.js +22 -0
- package/lib-prod/typeorm/query-builder/Brackets.js.map +1 -0
- package/lib-prod/typeorm/query-builder/DeleteQueryBuilder.d.ts +91 -0
- package/lib-prod/typeorm/query-builder/DeleteQueryBuilder.js +210 -0
- package/lib-prod/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/InsertOrUpdateOptions.d.ts +3 -0
- package/lib-prod/typeorm/query-builder/InsertOrUpdateOptions.js +3 -0
- package/lib-prod/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -0
- package/lib-prod/typeorm/query-builder/InsertQueryBuilder.d.ts +117 -0
- package/lib-prod/typeorm/query-builder/InsertQueryBuilder.js +746 -0
- package/lib-prod/typeorm/query-builder/InsertQueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/JoinAttribute.d.ts +83 -0
- package/lib-prod/typeorm/query-builder/JoinAttribute.js +194 -0
- package/lib-prod/typeorm/query-builder/JoinAttribute.js.map +1 -0
- package/lib-prod/typeorm/query-builder/JoinOptions.d.ts +3 -0
- package/lib-prod/typeorm/query-builder/JoinOptions.js +3 -0
- package/lib-prod/typeorm/query-builder/JoinOptions.js.map +1 -0
- package/lib-prod/typeorm/query-builder/NotBrackets.d.ts +8 -0
- package/lib-prod/typeorm/query-builder/NotBrackets.js +13 -0
- package/lib-prod/typeorm/query-builder/NotBrackets.js.map +1 -0
- package/lib-prod/typeorm/query-builder/QueryBuilder.d.ts +267 -0
- package/lib-prod/typeorm/query-builder/QueryBuilder.js +1082 -0
- package/lib-prod/typeorm/query-builder/QueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/QueryBuilderCte.d.ts +17 -0
- package/lib-prod/typeorm/query-builder/QueryBuilderCte.js +3 -0
- package/lib-prod/typeorm/query-builder/QueryBuilderCte.js.map +1 -0
- package/lib-prod/typeorm/query-builder/QueryBuilderUtils.d.ts +10 -0
- package/lib-prod/typeorm/query-builder/QueryBuilderUtils.js +31 -0
- package/lib-prod/typeorm/query-builder/QueryBuilderUtils.js.map +1 -0
- package/lib-prod/typeorm/query-builder/QueryExpressionMap.d.ts +305 -0
- package/lib-prod/typeorm/query-builder/QueryExpressionMap.js +410 -0
- package/lib-prod/typeorm/query-builder/QueryExpressionMap.js.map +1 -0
- package/lib-prod/typeorm/query-builder/QueryPartialEntity.d.ts +15 -0
- package/lib-prod/typeorm/query-builder/QueryPartialEntity.js +3 -0
- package/lib-prod/typeorm/query-builder/QueryPartialEntity.js.map +1 -0
- package/lib-prod/typeorm/query-builder/RelationIdLoader.d.ts +70 -0
- package/lib-prod/typeorm/query-builder/RelationIdLoader.js +501 -0
- package/lib-prod/typeorm/query-builder/RelationIdLoader.js.map +1 -0
- package/lib-prod/typeorm/query-builder/RelationLoader.d.ts +59 -0
- package/lib-prod/typeorm/query-builder/RelationLoader.js +282 -0
- package/lib-prod/typeorm/query-builder/RelationLoader.js.map +1 -0
- package/lib-prod/typeorm/query-builder/RelationQueryBuilder.d.ts +69 -0
- package/lib-prod/typeorm/query-builder/RelationQueryBuilder.js +164 -0
- package/lib-prod/typeorm/query-builder/RelationQueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/RelationRemover.d.ts +16 -0
- package/lib-prod/typeorm/query-builder/RelationRemover.js +144 -0
- package/lib-prod/typeorm/query-builder/RelationRemover.js.map +1 -0
- package/lib-prod/typeorm/query-builder/RelationUpdater.d.ts +16 -0
- package/lib-prod/typeorm/query-builder/RelationUpdater.js +153 -0
- package/lib-prod/typeorm/query-builder/RelationUpdater.js.map +1 -0
- package/lib-prod/typeorm/query-builder/ReturningResultsEntityUpdator.d.ts +30 -0
- package/lib-prod/typeorm/query-builder/ReturningResultsEntityUpdator.js +169 -0
- package/lib-prod/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -0
- package/lib-prod/typeorm/query-builder/SelectQuery.d.ts +5 -0
- package/lib-prod/typeorm/query-builder/SelectQuery.js +3 -0
- package/lib-prod/typeorm/query-builder/SelectQuery.js.map +1 -0
- package/lib-prod/typeorm/query-builder/SelectQueryBuilder.d.ts +669 -0
- package/lib-prod/typeorm/query-builder/SelectQueryBuilder.js +2516 -0
- package/lib-prod/typeorm/query-builder/SelectQueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/SelectQueryBuilderOption.d.ts +1 -0
- package/lib-prod/typeorm/query-builder/SelectQueryBuilderOption.js +3 -0
- package/lib-prod/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -0
- package/lib-prod/typeorm/query-builder/SoftDeleteQueryBuilder.d.ts +138 -0
- package/lib-prod/typeorm/query-builder/SoftDeleteQueryBuilder.js +381 -0
- package/lib-prod/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/UpdateQueryBuilder.d.ts +143 -0
- package/lib-prod/typeorm/query-builder/UpdateQueryBuilder.js +541 -0
- package/lib-prod/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/WhereClause.d.ts +16 -0
- package/lib-prod/typeorm/query-builder/WhereClause.js +3 -0
- package/lib-prod/typeorm/query-builder/WhereClause.js.map +1 -0
- package/lib-prod/typeorm/query-builder/WhereExpressionBuilder.d.ts +126 -0
- package/lib-prod/typeorm/query-builder/WhereExpressionBuilder.js +3 -0
- package/lib-prod/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountAttribute.d.ts +53 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountAttribute.js +96 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountLoadResult.d.ts +8 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountLoadResult.js +3 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountLoader.d.ts +11 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountLoader.js +170 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +7 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +55 -0
- package/lib-prod/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdAttribute.d.ts +64 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdAttribute.js +107 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdLoadResult.d.ts +5 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdLoadResult.js +3 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdLoader.d.ts +11 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdLoader.js +277 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +7 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +55 -0
- package/lib-prod/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -0
- package/lib-prod/typeorm/query-builder/result/DeleteResult.d.ts +16 -0
- package/lib-prod/typeorm/query-builder/result/DeleteResult.js +25 -0
- package/lib-prod/typeorm/query-builder/result/DeleteResult.js.map +1 -0
- package/lib-prod/typeorm/query-builder/result/InsertResult.d.ts +22 -0
- package/lib-prod/typeorm/query-builder/result/InsertResult.js +29 -0
- package/lib-prod/typeorm/query-builder/result/InsertResult.js.map +1 -0
- package/lib-prod/typeorm/query-builder/result/UpdateResult.d.ts +26 -0
- package/lib-prod/typeorm/query-builder/result/UpdateResult.js +35 -0
- package/lib-prod/typeorm/query-builder/result/UpdateResult.js.map +1 -0
- package/lib-prod/typeorm/query-builder/transformer/DocumentToEntityTransformer.d.ts +12 -0
- package/lib-prod/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +189 -0
- package/lib-prod/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -0
- package/lib-prod/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +12 -0
- package/lib-prod/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +115 -0
- package/lib-prod/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -0
- package/lib-prod/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +14 -0
- package/lib-prod/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +88 -0
- package/lib-prod/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -0
- package/lib-prod/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +55 -0
- package/lib-prod/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +424 -0
- package/lib-prod/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -0
- package/lib-prod/typeorm/query-runner/BaseQueryRunner.d.ts +203 -0
- package/lib-prod/typeorm/query-runner/BaseQueryRunner.js +462 -0
- package/lib-prod/typeorm/query-runner/BaseQueryRunner.js.map +1 -0
- package/lib-prod/typeorm/query-runner/QueryLock.d.ts +4 -0
- package/lib-prod/typeorm/query-runner/QueryLock.js +25 -0
- package/lib-prod/typeorm/query-runner/QueryLock.js.map +1 -0
- package/lib-prod/typeorm/query-runner/QueryResult.d.ts +17 -0
- package/lib-prod/typeorm/query-runner/QueryResult.js +22 -0
- package/lib-prod/typeorm/query-runner/QueryResult.js.map +1 -0
- package/lib-prod/typeorm/query-runner/QueryRunner.d.ts +359 -0
- package/lib-prod/typeorm/query-runner/QueryRunner.js +3 -0
- package/lib-prod/typeorm/query-runner/QueryRunner.js.map +1 -0
- package/lib-prod/typeorm/relation-path.d.ts +6 -0
- package/lib-prod/typeorm/relation-path.js +3 -0
- package/lib-prod/typeorm/relation-path.js.map +1 -0
- package/lib-prod/typeorm/repository/AbstractRepository.d.ts +51 -0
- package/lib-prod/typeorm/repository/AbstractRepository.js +98 -0
- package/lib-prod/typeorm/repository/AbstractRepository.js.map +1 -0
- package/lib-prod/typeorm/repository/BaseEntity.d.ts +297 -0
- package/lib-prod/typeorm/repository/BaseEntity.js +298 -0
- package/lib-prod/typeorm/repository/BaseEntity.js.map +1 -0
- package/lib-prod/typeorm/repository/EntityId.d.ts +2 -0
- package/lib-prod/typeorm/repository/EntityId.js +3 -0
- package/lib-prod/typeorm/repository/EntityId.js.map +1 -0
- package/lib-prod/typeorm/repository/FindTreesOptions.d.ts +9 -0
- package/lib-prod/typeorm/repository/FindTreesOptions.js +3 -0
- package/lib-prod/typeorm/repository/FindTreesOptions.js.map +1 -0
- package/lib-prod/typeorm/repository/MongoRepository.d.ts +262 -0
- package/lib-prod/typeorm/repository/MongoRepository.js +336 -0
- package/lib-prod/typeorm/repository/MongoRepository.js.map +1 -0
- package/lib-prod/typeorm/repository/RemoveOptions.d.ts +27 -0
- package/lib-prod/typeorm/repository/RemoveOptions.js +3 -0
- package/lib-prod/typeorm/repository/RemoveOptions.js.map +1 -0
- package/lib-prod/typeorm/repository/Repository.d.ts +291 -0
- package/lib-prod/typeorm/repository/Repository.js +307 -0
- package/lib-prod/typeorm/repository/Repository.js.map +1 -0
- package/lib-prod/typeorm/repository/SaveOptions.d.ts +35 -0
- package/lib-prod/typeorm/repository/SaveOptions.js +3 -0
- package/lib-prod/typeorm/repository/SaveOptions.js.map +1 -0
- package/lib-prod/typeorm/repository/TreeRepository.d.ts +55 -0
- package/lib-prod/typeorm/repository/TreeRepository.js +265 -0
- package/lib-prod/typeorm/repository/TreeRepository.js.map +1 -0
- package/lib-prod/typeorm/repository/UpsertOptions.d.ts +10 -0
- package/lib-prod/typeorm/repository/UpsertOptions.js +3 -0
- package/lib-prod/typeorm/repository/UpsertOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/MongoSchemaBuilder.d.ts +29 -0
- package/lib-prod/typeorm/schema-builder/MongoSchemaBuilder.js +66 -0
- package/lib-prod/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/RdbmsSchemaBuilder.d.ts +144 -0
- package/lib-prod/typeorm/schema-builder/RdbmsSchemaBuilder.js +847 -0
- package/lib-prod/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/SchemaBuilder.d.ts +14 -0
- package/lib-prod/typeorm/schema-builder/SchemaBuilder.js +3 -0
- package/lib-prod/typeorm/schema-builder/SchemaBuilder.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableCheckOptions.d.ts +17 -0
- package/lib-prod/typeorm/schema-builder/options/TableCheckOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableColumnOptions.d.ts +122 -0
- package/lib-prod/typeorm/schema-builder/options/TableColumnOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableExclusionOptions.d.ts +13 -0
- package/lib-prod/typeorm/schema-builder/options/TableExclusionOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableForeignKeyOptions.d.ts +44 -0
- package/lib-prod/typeorm/schema-builder/options/TableForeignKeyOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableIndexOptions.d.ts +44 -0
- package/lib-prod/typeorm/schema-builder/options/TableIndexOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableOptions.d.ts +61 -0
- package/lib-prod/typeorm/schema-builder/options/TableOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/TableUniqueOptions.d.ts +18 -0
- package/lib-prod/typeorm/schema-builder/options/TableUniqueOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/options/ViewOptions.d.ts +26 -0
- package/lib-prod/typeorm/schema-builder/options/ViewOptions.js +3 -0
- package/lib-prod/typeorm/schema-builder/options/ViewOptions.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/Table.d.ts +142 -0
- package/lib-prod/typeorm/schema-builder/table/Table.js +313 -0
- package/lib-prod/typeorm/schema-builder/table/Table.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/TableCheck.d.ts +29 -0
- package/lib-prod/typeorm/schema-builder/table/TableCheck.js +59 -0
- package/lib-prod/typeorm/schema-builder/table/TableCheck.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/TableColumn.d.ts +126 -0
- package/lib-prod/typeorm/schema-builder/table/TableColumn.js +199 -0
- package/lib-prod/typeorm/schema-builder/table/TableColumn.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/TableExclusion.d.ts +25 -0
- package/lib-prod/typeorm/schema-builder/table/TableExclusion.js +53 -0
- package/lib-prod/typeorm/schema-builder/table/TableExclusion.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/TableForeignKey.d.ts +57 -0
- package/lib-prod/typeorm/schema-builder/table/TableForeignKey.js +105 -0
- package/lib-prod/typeorm/schema-builder/table/TableForeignKey.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/TableIndex.d.ts +56 -0
- package/lib-prod/typeorm/schema-builder/table/TableIndex.js +102 -0
- package/lib-prod/typeorm/schema-builder/table/TableIndex.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/table/TableUnique.d.ts +30 -0
- package/lib-prod/typeorm/schema-builder/table/TableUnique.js +61 -0
- package/lib-prod/typeorm/schema-builder/table/TableUnique.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/util/TableUtils.d.ts +6 -0
- package/lib-prod/typeorm/schema-builder/util/TableUtils.js +40 -0
- package/lib-prod/typeorm/schema-builder/util/TableUtils.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/util/ViewUtils.d.ts +7 -0
- package/lib-prod/typeorm/schema-builder/util/ViewUtils.js +26 -0
- package/lib-prod/typeorm/schema-builder/util/ViewUtils.js.map +1 -0
- package/lib-prod/typeorm/schema-builder/view/View.d.ts +37 -0
- package/lib-prod/typeorm/schema-builder/view/View.js +77 -0
- package/lib-prod/typeorm/schema-builder/view/View.js.map +1 -0
- package/lib-prod/typeorm/subscriber/Broadcaster.d.ts +167 -0
- package/lib-prod/typeorm/subscriber/Broadcaster.js +613 -0
- package/lib-prod/typeorm/subscriber/Broadcaster.js.map +1 -0
- package/lib-prod/typeorm/subscriber/BroadcasterResult.d.ts +17 -0
- package/lib-prod/typeorm/subscriber/BroadcasterResult.js +27 -0
- package/lib-prod/typeorm/subscriber/BroadcasterResult.js.map +1 -0
- package/lib-prod/typeorm/subscriber/EntitySubscriberInterface.d.ts +92 -0
- package/lib-prod/typeorm/subscriber/EntitySubscriberInterface.js +3 -0
- package/lib-prod/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/InsertEvent.d.ts +31 -0
- package/lib-prod/typeorm/subscriber/event/InsertEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/InsertEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/LoadEvent.d.ts +31 -0
- package/lib-prod/typeorm/subscriber/event/LoadEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/LoadEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/RecoverEvent.d.ts +6 -0
- package/lib-prod/typeorm/subscriber/event/RecoverEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/RecoverEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/RemoveEvent.d.ts +40 -0
- package/lib-prod/typeorm/subscriber/event/RemoveEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/RemoveEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/lib-prod/typeorm/subscriber/event/SoftRemoveEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/lib-prod/typeorm/subscriber/event/TransactionCommitEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/lib-prod/typeorm/subscriber/event/TransactionRollbackEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/lib-prod/typeorm/subscriber/event/TransactionStartEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/lib-prod/typeorm/subscriber/event/UpdateEvent.d.ts +46 -0
- package/lib-prod/typeorm/subscriber/event/UpdateEvent.js +3 -0
- package/lib-prod/typeorm/subscriber/event/UpdateEvent.js.map +1 -0
- package/lib-prod/typeorm/util/ApplyValueTransformers.d.ts +5 -0
- package/lib-prod/typeorm/util/ApplyValueTransformers.js +24 -0
- package/lib-prod/typeorm/util/ApplyValueTransformers.js.map +1 -0
- package/lib-prod/typeorm/util/DateUtils.d.ts +58 -0
- package/lib-prod/typeorm/util/DateUtils.js +225 -0
- package/lib-prod/typeorm/util/DateUtils.js.map +1 -0
- package/lib-prod/typeorm/util/DepGraph.d.ts +64 -0
- package/lib-prod/typeorm/util/DepGraph.js +227 -0
- package/lib-prod/typeorm/util/DepGraph.js.map +1 -0
- package/lib-prod/typeorm/util/DirectoryExportedClassesLoader.d.ts +9 -0
- package/lib-prod/typeorm/util/DirectoryExportedClassesLoader.js +70 -0
- package/lib-prod/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -0
- package/lib-prod/typeorm/util/ImportUtils.d.ts +1 -0
- package/lib-prod/typeorm/util/ImportUtils.js +82 -0
- package/lib-prod/typeorm/util/ImportUtils.js.map +1 -0
- package/lib-prod/typeorm/util/InstanceChecker.d.ts +63 -0
- package/lib-prod/typeorm/util/InstanceChecker.js +116 -0
- package/lib-prod/typeorm/util/InstanceChecker.js.map +1 -0
- package/lib-prod/typeorm/util/ObjectUtils.d.ts +37 -0
- package/lib-prod/typeorm/util/ObjectUtils.js +40 -0
- package/lib-prod/typeorm/util/ObjectUtils.js.map +1 -0
- package/lib-prod/typeorm/util/OrmUtils.d.ts +52 -0
- package/lib-prod/typeorm/util/OrmUtils.js +347 -0
- package/lib-prod/typeorm/util/OrmUtils.js.map +1 -0
- package/lib-prod/typeorm/util/PathUtils.d.ts +10 -0
- package/lib-prod/typeorm/util/PathUtils.js +38 -0
- package/lib-prod/typeorm/util/PathUtils.js.map +1 -0
- package/lib-prod/typeorm/util/RandomGenerator.d.ts +15 -0
- package/lib-prod/typeorm/util/RandomGenerator.js +153 -0
- package/lib-prod/typeorm/util/RandomGenerator.js.map +1 -0
- package/lib-prod/typeorm/util/StringUtils.d.ts +63 -0
- package/lib-prod/typeorm/util/StringUtils.js +115 -0
- package/lib-prod/typeorm/util/StringUtils.js.map +1 -0
- package/lib-prod/typeorm/util/TreeRepositoryUtils.d.ts +23 -0
- package/lib-prod/typeorm/util/TreeRepositoryUtils.js +59 -0
- package/lib-prod/typeorm/util/TreeRepositoryUtils.js.map +1 -0
- package/lib-prod/typeorm/util/VersionUtils.d.ts +4 -0
- package/lib-prod/typeorm/util/VersionUtils.js +19 -0
- package/lib-prod/typeorm/util/VersionUtils.js.map +1 -0
- package/lib-prod/typeorm/util/escapeRegExp.d.ts +1 -0
- package/lib-prod/typeorm/util/escapeRegExp.js +9 -0
- package/lib-prod/typeorm/util/escapeRegExp.js.map +1 -0
- package/package.json +12 -4
- package/tmp-environment.json +43 -0
- package/websql/package.json +1 -1
- package/websql-prod/README.md +24 -0
- package/websql-prod/fesm2022/taon-typeorm-websql.mjs +30423 -0
- package/websql-prod/fesm2022/taon-typeorm-websql.mjs.map +1 -0
- package/websql-prod/types/taon-typeorm-websql.d.ts +12402 -0
|
@@ -0,0 +1,2109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MysqlQueryRunner = void 0;
|
|
4
|
+
//#region @backend
|
|
5
|
+
const QueryResult_1 = require("../../query-runner/QueryResult");
|
|
6
|
+
const TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
|
|
7
|
+
const TableColumn_1 = require("../../schema-builder/table/TableColumn");
|
|
8
|
+
const Table_1 = require("../../schema-builder/table/Table");
|
|
9
|
+
const TableForeignKey_1 = require("../../schema-builder/table/TableForeignKey");
|
|
10
|
+
const TableIndex_1 = require("../../schema-builder/table/TableIndex");
|
|
11
|
+
const QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
|
|
12
|
+
const View_1 = require("../../schema-builder/view/View");
|
|
13
|
+
const Query_1 = require("../Query");
|
|
14
|
+
const OrmUtils_1 = require("../../util/OrmUtils");
|
|
15
|
+
const QueryFailedError_1 = require("../../error/QueryFailedError");
|
|
16
|
+
const TableUnique_1 = require("../../schema-builder/table/TableUnique");
|
|
17
|
+
const BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
|
|
18
|
+
const Broadcaster_1 = require("../../subscriber/Broadcaster");
|
|
19
|
+
const VersionUtils_1 = require("../../util/VersionUtils");
|
|
20
|
+
const error_1 = require("../../error");
|
|
21
|
+
const MetadataTableType_1 = require("../types/MetadataTableType");
|
|
22
|
+
const InstanceChecker_1 = require("../../util/InstanceChecker");
|
|
23
|
+
/**
|
|
24
|
+
* Runs queries on a single mysql database connection.
|
|
25
|
+
*/
|
|
26
|
+
class MysqlQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
27
|
+
// -------------------------------------------------------------------------
|
|
28
|
+
// Public Implemented Properties
|
|
29
|
+
// -------------------------------------------------------------------------
|
|
30
|
+
/**
|
|
31
|
+
* Database driver used by connection.
|
|
32
|
+
*/
|
|
33
|
+
driver;
|
|
34
|
+
// -------------------------------------------------------------------------
|
|
35
|
+
// Protected Properties
|
|
36
|
+
// -------------------------------------------------------------------------
|
|
37
|
+
/**
|
|
38
|
+
* Promise used to obtain a database connection from a pool for a first time.
|
|
39
|
+
*/
|
|
40
|
+
databaseConnectionPromise;
|
|
41
|
+
// -------------------------------------------------------------------------
|
|
42
|
+
// Constructor
|
|
43
|
+
// -------------------------------------------------------------------------
|
|
44
|
+
constructor(driver, mode) {
|
|
45
|
+
super();
|
|
46
|
+
this.driver = driver;
|
|
47
|
+
this.connection = driver.connection;
|
|
48
|
+
this.broadcaster = new Broadcaster_1.Broadcaster(this);
|
|
49
|
+
this.mode = mode;
|
|
50
|
+
}
|
|
51
|
+
// -------------------------------------------------------------------------
|
|
52
|
+
// Public Methods
|
|
53
|
+
// -------------------------------------------------------------------------
|
|
54
|
+
/**
|
|
55
|
+
* Creates/uses database connection from the connection pool to perform further operations.
|
|
56
|
+
* Returns obtained database connection.
|
|
57
|
+
*/
|
|
58
|
+
connect() {
|
|
59
|
+
if (this.databaseConnection)
|
|
60
|
+
return Promise.resolve(this.databaseConnection);
|
|
61
|
+
if (this.databaseConnectionPromise)
|
|
62
|
+
return this.databaseConnectionPromise;
|
|
63
|
+
if (this.mode === "slave" && this.driver.isReplicated) {
|
|
64
|
+
this.databaseConnectionPromise = this.driver
|
|
65
|
+
.obtainSlaveConnection()
|
|
66
|
+
.then((connection) => {
|
|
67
|
+
this.databaseConnection = connection;
|
|
68
|
+
return this.databaseConnection;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// master
|
|
73
|
+
this.databaseConnectionPromise = this.driver
|
|
74
|
+
.obtainMasterConnection()
|
|
75
|
+
.then((connection) => {
|
|
76
|
+
this.databaseConnection = connection;
|
|
77
|
+
return this.databaseConnection;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return this.databaseConnectionPromise;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Releases used database connection.
|
|
84
|
+
* You cannot use query runner methods once its released.
|
|
85
|
+
*/
|
|
86
|
+
release() {
|
|
87
|
+
this.isReleased = true;
|
|
88
|
+
if (this.databaseConnection)
|
|
89
|
+
this.databaseConnection.release();
|
|
90
|
+
return Promise.resolve();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Starts transaction on the current connection.
|
|
94
|
+
*/
|
|
95
|
+
async startTransaction(isolationLevel) {
|
|
96
|
+
this.isTransactionActive = true;
|
|
97
|
+
try {
|
|
98
|
+
await this.broadcaster.broadcast("BeforeTransactionStart");
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
this.isTransactionActive = false;
|
|
102
|
+
throw err;
|
|
103
|
+
}
|
|
104
|
+
if (this.transactionDepth === 0) {
|
|
105
|
+
if (isolationLevel) {
|
|
106
|
+
await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
|
|
107
|
+
}
|
|
108
|
+
await this.query("START TRANSACTION");
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
112
|
+
}
|
|
113
|
+
this.transactionDepth += 1;
|
|
114
|
+
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Commits transaction.
|
|
118
|
+
* Error will be thrown if transaction was not started.
|
|
119
|
+
*/
|
|
120
|
+
async commitTransaction() {
|
|
121
|
+
if (!this.isTransactionActive)
|
|
122
|
+
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
123
|
+
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
124
|
+
if (this.transactionDepth > 1) {
|
|
125
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
await this.query("COMMIT");
|
|
129
|
+
this.isTransactionActive = false;
|
|
130
|
+
}
|
|
131
|
+
this.transactionDepth -= 1;
|
|
132
|
+
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Rollbacks transaction.
|
|
136
|
+
* Error will be thrown if transaction was not started.
|
|
137
|
+
*/
|
|
138
|
+
async rollbackTransaction() {
|
|
139
|
+
if (!this.isTransactionActive)
|
|
140
|
+
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
141
|
+
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
142
|
+
if (this.transactionDepth > 1) {
|
|
143
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
await this.query("ROLLBACK");
|
|
147
|
+
this.isTransactionActive = false;
|
|
148
|
+
}
|
|
149
|
+
this.transactionDepth -= 1;
|
|
150
|
+
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Executes a raw SQL query.
|
|
154
|
+
*/
|
|
155
|
+
async query(query, parameters, useStructuredResult = false) {
|
|
156
|
+
if (this.isReleased)
|
|
157
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
158
|
+
return new Promise(async (ok, fail) => {
|
|
159
|
+
try {
|
|
160
|
+
const databaseConnection = await this.connect();
|
|
161
|
+
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
162
|
+
const queryStartTime = +new Date();
|
|
163
|
+
databaseConnection.query(query, parameters, (err, raw) => {
|
|
164
|
+
// log slow queries if maxQueryExecution time is set
|
|
165
|
+
const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
|
|
166
|
+
const queryEndTime = +new Date();
|
|
167
|
+
const queryExecutionTime = queryEndTime - queryStartTime;
|
|
168
|
+
if (maxQueryExecutionTime &&
|
|
169
|
+
queryExecutionTime > maxQueryExecutionTime)
|
|
170
|
+
this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
|
|
171
|
+
if (err) {
|
|
172
|
+
this.driver.connection.logger.logQueryError(err, query, parameters, this);
|
|
173
|
+
return fail(new QueryFailedError_1.QueryFailedError(query, parameters, err));
|
|
174
|
+
}
|
|
175
|
+
const result = new QueryResult_1.QueryResult();
|
|
176
|
+
result.raw = raw;
|
|
177
|
+
try {
|
|
178
|
+
result.records = Array.from(raw);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Do nothing.
|
|
182
|
+
}
|
|
183
|
+
if (raw?.hasOwnProperty("affectedRows")) {
|
|
184
|
+
result.affected = raw.affectedRows;
|
|
185
|
+
}
|
|
186
|
+
if (useStructuredResult) {
|
|
187
|
+
ok(result);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
ok(result.raw);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
fail(err);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Returns raw data stream.
|
|
201
|
+
*/
|
|
202
|
+
stream(query, parameters, onEnd, onError) {
|
|
203
|
+
if (this.isReleased)
|
|
204
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
205
|
+
return new Promise(async (ok, fail) => {
|
|
206
|
+
try {
|
|
207
|
+
const databaseConnection = await this.connect();
|
|
208
|
+
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
209
|
+
const databaseQuery = databaseConnection.query(query, parameters);
|
|
210
|
+
if (onEnd)
|
|
211
|
+
databaseQuery.on("end", onEnd);
|
|
212
|
+
if (onError)
|
|
213
|
+
databaseQuery.on("error", onError);
|
|
214
|
+
ok(databaseQuery.stream());
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
fail(err);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Returns all available database names including system databases.
|
|
223
|
+
*/
|
|
224
|
+
async getDatabases() {
|
|
225
|
+
return Promise.resolve([]);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Returns all available schema names including system schemas.
|
|
229
|
+
* If database parameter specified, returns schemas of that database.
|
|
230
|
+
*/
|
|
231
|
+
async getSchemas(database) {
|
|
232
|
+
throw new error_1.TypeORMError(`MySql driver does not support table schemas`);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Checks if database with the given name exist.
|
|
236
|
+
*/
|
|
237
|
+
async hasDatabase(database) {
|
|
238
|
+
const result = await this.query(`SELECT * FROM \`INFORMATION_SCHEMA\`.\`SCHEMATA\` WHERE \`SCHEMA_NAME\` = '${database}'`);
|
|
239
|
+
return result.length ? true : false;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Loads currently using database
|
|
243
|
+
*/
|
|
244
|
+
async getCurrentDatabase() {
|
|
245
|
+
const query = await this.query(`SELECT DATABASE() AS \`db_name\``);
|
|
246
|
+
return query[0]["db_name"];
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Checks if schema with the given name exist.
|
|
250
|
+
*/
|
|
251
|
+
async hasSchema(schema) {
|
|
252
|
+
throw new error_1.TypeORMError(`MySql driver does not support table schemas`);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Loads currently using database schema
|
|
256
|
+
*/
|
|
257
|
+
async getCurrentSchema() {
|
|
258
|
+
const query = await this.query(`SELECT SCHEMA() AS \`schema_name\``);
|
|
259
|
+
return query[0]["schema_name"];
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Checks if table with the given name exist in the database.
|
|
263
|
+
*/
|
|
264
|
+
async hasTable(tableOrName) {
|
|
265
|
+
const parsedTableName = this.driver.parseTableName(tableOrName);
|
|
266
|
+
const sql = `SELECT * FROM \`INFORMATION_SCHEMA\`.\`COLUMNS\` WHERE \`TABLE_SCHEMA\` = '${parsedTableName.database}' AND \`TABLE_NAME\` = '${parsedTableName.tableName}'`;
|
|
267
|
+
const result = await this.query(sql);
|
|
268
|
+
return result.length ? true : false;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Checks if column with the given name exist in the given table.
|
|
272
|
+
*/
|
|
273
|
+
async hasColumn(tableOrName, column) {
|
|
274
|
+
const parsedTableName = this.driver.parseTableName(tableOrName);
|
|
275
|
+
const columnName = InstanceChecker_1.InstanceChecker.isTableColumn(column)
|
|
276
|
+
? column.name
|
|
277
|
+
: column;
|
|
278
|
+
const sql = `SELECT * FROM \`INFORMATION_SCHEMA\`.\`COLUMNS\` WHERE \`TABLE_SCHEMA\` = '${parsedTableName.database}' AND \`TABLE_NAME\` = '${parsedTableName.tableName}' AND \`COLUMN_NAME\` = '${columnName}'`;
|
|
279
|
+
const result = await this.query(sql);
|
|
280
|
+
return result.length ? true : false;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Creates a new database.
|
|
284
|
+
*/
|
|
285
|
+
async createDatabase(database, ifNotExist) {
|
|
286
|
+
const up = ifNotExist
|
|
287
|
+
? `CREATE DATABASE IF NOT EXISTS \`${database}\``
|
|
288
|
+
: `CREATE DATABASE \`${database}\``;
|
|
289
|
+
const down = `DROP DATABASE \`${database}\``;
|
|
290
|
+
await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Drops database.
|
|
294
|
+
*/
|
|
295
|
+
async dropDatabase(database, ifExist) {
|
|
296
|
+
const up = ifExist
|
|
297
|
+
? `DROP DATABASE IF EXISTS \`${database}\``
|
|
298
|
+
: `DROP DATABASE \`${database}\``;
|
|
299
|
+
const down = `CREATE DATABASE \`${database}\``;
|
|
300
|
+
await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Creates a new table schema.
|
|
304
|
+
*/
|
|
305
|
+
async createSchema(schemaPath, ifNotExist) {
|
|
306
|
+
throw new error_1.TypeORMError(`Schema create queries are not supported by MySql driver.`);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Drops table schema.
|
|
310
|
+
*/
|
|
311
|
+
async dropSchema(schemaPath, ifExist) {
|
|
312
|
+
throw new error_1.TypeORMError(`Schema drop queries are not supported by MySql driver.`);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Creates a new table.
|
|
316
|
+
*/
|
|
317
|
+
async createTable(table, ifNotExist = false, createForeignKeys = true) {
|
|
318
|
+
if (ifNotExist) {
|
|
319
|
+
const isTableExist = await this.hasTable(table);
|
|
320
|
+
if (isTableExist)
|
|
321
|
+
return Promise.resolve();
|
|
322
|
+
}
|
|
323
|
+
const upQueries = [];
|
|
324
|
+
const downQueries = [];
|
|
325
|
+
upQueries.push(this.createTableSql(table, createForeignKeys));
|
|
326
|
+
downQueries.push(this.dropTableSql(table));
|
|
327
|
+
// we must first drop indices, than drop foreign keys, because drop queries runs in reversed order
|
|
328
|
+
// and foreign keys will be dropped first as indices. This order is very important, because we can't drop index
|
|
329
|
+
// if it related to the foreign key.
|
|
330
|
+
// createTable does not need separate method to create indices, because it create indices in the same query with table creation.
|
|
331
|
+
table.indices.forEach((index) => downQueries.push(this.dropIndexSql(table, index)));
|
|
332
|
+
// if createForeignKeys is true, we must drop created foreign keys in down query.
|
|
333
|
+
// createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
|
|
334
|
+
if (createForeignKeys)
|
|
335
|
+
table.foreignKeys.forEach((foreignKey) => downQueries.push(this.dropForeignKeySql(table, foreignKey)));
|
|
336
|
+
// if table has column with generated type, we must add the expression to the metadata table
|
|
337
|
+
const generatedColumns = table.columns.filter((column) => column.generatedType && column.asExpression);
|
|
338
|
+
for (const column of generatedColumns) {
|
|
339
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
340
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
341
|
+
schema: currentDatabase,
|
|
342
|
+
table: table.name,
|
|
343
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
344
|
+
name: column.name,
|
|
345
|
+
value: column.asExpression,
|
|
346
|
+
});
|
|
347
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
348
|
+
schema: currentDatabase,
|
|
349
|
+
table: table.name,
|
|
350
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
351
|
+
name: column.name,
|
|
352
|
+
});
|
|
353
|
+
upQueries.push(insertQuery);
|
|
354
|
+
downQueries.push(deleteQuery);
|
|
355
|
+
}
|
|
356
|
+
return this.executeQueries(upQueries, downQueries);
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Drop the table.
|
|
360
|
+
*/
|
|
361
|
+
async dropTable(target, ifExist, dropForeignKeys = true) {
|
|
362
|
+
// It needs because if table does not exist and dropForeignKeys or dropIndices is true, we don't need
|
|
363
|
+
// to perform drop queries for foreign keys and indices.
|
|
364
|
+
if (ifExist) {
|
|
365
|
+
const isTableExist = await this.hasTable(target);
|
|
366
|
+
if (!isTableExist)
|
|
367
|
+
return Promise.resolve();
|
|
368
|
+
}
|
|
369
|
+
// if dropTable called with dropForeignKeys = true, we must create foreign keys in down query.
|
|
370
|
+
const createForeignKeys = dropForeignKeys;
|
|
371
|
+
const tablePath = this.getTablePath(target);
|
|
372
|
+
const table = await this.getCachedTable(tablePath);
|
|
373
|
+
const upQueries = [];
|
|
374
|
+
const downQueries = [];
|
|
375
|
+
if (dropForeignKeys)
|
|
376
|
+
table.foreignKeys.forEach((foreignKey) => upQueries.push(this.dropForeignKeySql(table, foreignKey)));
|
|
377
|
+
table.indices.forEach((index) => upQueries.push(this.dropIndexSql(table, index)));
|
|
378
|
+
upQueries.push(this.dropTableSql(table));
|
|
379
|
+
downQueries.push(this.createTableSql(table, createForeignKeys));
|
|
380
|
+
// if table had columns with generated type, we must remove the expression from the metadata table
|
|
381
|
+
const generatedColumns = table.columns.filter((column) => column.generatedType && column.asExpression);
|
|
382
|
+
for (const column of generatedColumns) {
|
|
383
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
384
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
385
|
+
schema: currentDatabase,
|
|
386
|
+
table: table.name,
|
|
387
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
388
|
+
name: column.name,
|
|
389
|
+
});
|
|
390
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
391
|
+
schema: currentDatabase,
|
|
392
|
+
table: table.name,
|
|
393
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
394
|
+
name: column.name,
|
|
395
|
+
value: column.asExpression,
|
|
396
|
+
});
|
|
397
|
+
upQueries.push(deleteQuery);
|
|
398
|
+
downQueries.push(insertQuery);
|
|
399
|
+
}
|
|
400
|
+
await this.executeQueries(upQueries, downQueries);
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Creates a new view.
|
|
404
|
+
*/
|
|
405
|
+
async createView(view, syncWithMetadata = false) {
|
|
406
|
+
const upQueries = [];
|
|
407
|
+
const downQueries = [];
|
|
408
|
+
upQueries.push(this.createViewSql(view));
|
|
409
|
+
if (syncWithMetadata)
|
|
410
|
+
upQueries.push(await this.insertViewDefinitionSql(view));
|
|
411
|
+
downQueries.push(this.dropViewSql(view));
|
|
412
|
+
if (syncWithMetadata)
|
|
413
|
+
downQueries.push(await this.deleteViewDefinitionSql(view));
|
|
414
|
+
await this.executeQueries(upQueries, downQueries);
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Drops the view.
|
|
418
|
+
*/
|
|
419
|
+
async dropView(target) {
|
|
420
|
+
const viewName = InstanceChecker_1.InstanceChecker.isView(target) ? target.name : target;
|
|
421
|
+
const view = await this.getCachedView(viewName);
|
|
422
|
+
const upQueries = [];
|
|
423
|
+
const downQueries = [];
|
|
424
|
+
upQueries.push(await this.deleteViewDefinitionSql(view));
|
|
425
|
+
upQueries.push(this.dropViewSql(view));
|
|
426
|
+
downQueries.push(await this.insertViewDefinitionSql(view));
|
|
427
|
+
downQueries.push(this.createViewSql(view));
|
|
428
|
+
await this.executeQueries(upQueries, downQueries);
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Renames a table.
|
|
432
|
+
*/
|
|
433
|
+
async renameTable(oldTableOrName, newTableName) {
|
|
434
|
+
const upQueries = [];
|
|
435
|
+
const downQueries = [];
|
|
436
|
+
const oldTable = InstanceChecker_1.InstanceChecker.isTable(oldTableOrName)
|
|
437
|
+
? oldTableOrName
|
|
438
|
+
: await this.getCachedTable(oldTableOrName);
|
|
439
|
+
const newTable = oldTable.clone();
|
|
440
|
+
const { database } = this.driver.parseTableName(oldTable);
|
|
441
|
+
newTable.name = database ? `${database}.${newTableName}` : newTableName;
|
|
442
|
+
// rename table
|
|
443
|
+
upQueries.push(new Query_1.Query(`RENAME TABLE ${this.escapePath(oldTable)} TO ${this.escapePath(newTable)}`));
|
|
444
|
+
downQueries.push(new Query_1.Query(`RENAME TABLE ${this.escapePath(newTable)} TO ${this.escapePath(oldTable)}`));
|
|
445
|
+
// rename index constraints
|
|
446
|
+
newTable.indices.forEach((index) => {
|
|
447
|
+
const oldIndexName = this.connection.namingStrategy.indexName(oldTable, index.columnNames);
|
|
448
|
+
// Skip renaming if Index has user defined constraint name
|
|
449
|
+
if (index.name !== oldIndexName)
|
|
450
|
+
return;
|
|
451
|
+
// build new constraint name
|
|
452
|
+
const columnNames = index.columnNames
|
|
453
|
+
.map((column) => `\`${column}\``)
|
|
454
|
+
.join(", ");
|
|
455
|
+
const newIndexName = this.connection.namingStrategy.indexName(newTable, index.columnNames, index.where);
|
|
456
|
+
// build queries
|
|
457
|
+
let indexType = "";
|
|
458
|
+
if (index.isUnique)
|
|
459
|
+
indexType += "UNIQUE ";
|
|
460
|
+
if (index.isSpatial)
|
|
461
|
+
indexType += "SPATIAL ";
|
|
462
|
+
if (index.isFulltext)
|
|
463
|
+
indexType += "FULLTEXT ";
|
|
464
|
+
const indexParser = index.isFulltext && index.parser
|
|
465
|
+
? ` WITH PARSER ${index.parser}`
|
|
466
|
+
: "";
|
|
467
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} DROP INDEX \`${index.name}\`, ADD ${indexType}INDEX \`${newIndexName}\` (${columnNames})${indexParser}`));
|
|
468
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} DROP INDEX \`${newIndexName}\`, ADD ${indexType}INDEX \`${index.name}\` (${columnNames})${indexParser}`));
|
|
469
|
+
// replace constraint name
|
|
470
|
+
index.name = newIndexName;
|
|
471
|
+
});
|
|
472
|
+
// rename foreign key constraint
|
|
473
|
+
newTable.foreignKeys.forEach((foreignKey) => {
|
|
474
|
+
const oldForeignKeyName = this.connection.namingStrategy.foreignKeyName(oldTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
475
|
+
// Skip renaming if foreign key has user defined constraint name
|
|
476
|
+
if (foreignKey.name !== oldForeignKeyName)
|
|
477
|
+
return;
|
|
478
|
+
// build new constraint name
|
|
479
|
+
const columnNames = foreignKey.columnNames
|
|
480
|
+
.map((column) => `\`${column}\``)
|
|
481
|
+
.join(", ");
|
|
482
|
+
const referencedColumnNames = foreignKey.referencedColumnNames
|
|
483
|
+
.map((column) => `\`${column}\``)
|
|
484
|
+
.join(",");
|
|
485
|
+
const newForeignKeyName = this.connection.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
486
|
+
// build queries
|
|
487
|
+
let up = `ALTER TABLE ${this.escapePath(newTable)} DROP FOREIGN KEY \`${foreignKey.name}\`, ADD CONSTRAINT \`${newForeignKeyName}\` FOREIGN KEY (${columnNames}) ` +
|
|
488
|
+
`REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
|
|
489
|
+
if (foreignKey.onDelete)
|
|
490
|
+
up += ` ON DELETE ${foreignKey.onDelete}`;
|
|
491
|
+
if (foreignKey.onUpdate)
|
|
492
|
+
up += ` ON UPDATE ${foreignKey.onUpdate}`;
|
|
493
|
+
let down = `ALTER TABLE ${this.escapePath(newTable)} DROP FOREIGN KEY \`${newForeignKeyName}\`, ADD CONSTRAINT \`${foreignKey.name}\` FOREIGN KEY (${columnNames}) ` +
|
|
494
|
+
`REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
|
|
495
|
+
if (foreignKey.onDelete)
|
|
496
|
+
down += ` ON DELETE ${foreignKey.onDelete}`;
|
|
497
|
+
if (foreignKey.onUpdate)
|
|
498
|
+
down += ` ON UPDATE ${foreignKey.onUpdate}`;
|
|
499
|
+
upQueries.push(new Query_1.Query(up));
|
|
500
|
+
downQueries.push(new Query_1.Query(down));
|
|
501
|
+
// replace constraint name
|
|
502
|
+
foreignKey.name = newForeignKeyName;
|
|
503
|
+
});
|
|
504
|
+
await this.executeQueries(upQueries, downQueries);
|
|
505
|
+
// rename old table and replace it in cached tabled;
|
|
506
|
+
oldTable.name = newTable.name;
|
|
507
|
+
this.replaceCachedTable(oldTable, newTable);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Creates a new column from the column in the table.
|
|
511
|
+
*/
|
|
512
|
+
async addColumn(tableOrName, column) {
|
|
513
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
514
|
+
? tableOrName
|
|
515
|
+
: await this.getCachedTable(tableOrName);
|
|
516
|
+
const clonedTable = table.clone();
|
|
517
|
+
const upQueries = [];
|
|
518
|
+
const downQueries = [];
|
|
519
|
+
const skipColumnLevelPrimary = clonedTable.primaryColumns.length > 0;
|
|
520
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column, skipColumnLevelPrimary, false)}`));
|
|
521
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN \`${column.name}\``));
|
|
522
|
+
// create or update primary key constraint
|
|
523
|
+
if (column.isPrimary && skipColumnLevelPrimary) {
|
|
524
|
+
// if we already have generated column, we must temporary drop AUTO_INCREMENT property.
|
|
525
|
+
const generatedColumn = clonedTable.columns.find((column) => column.isGenerated &&
|
|
526
|
+
column.generationStrategy === "increment");
|
|
527
|
+
if (generatedColumn) {
|
|
528
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
529
|
+
nonGeneratedColumn.isGenerated = false;
|
|
530
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
531
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${column.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
532
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(column, true)}`));
|
|
533
|
+
}
|
|
534
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
535
|
+
let columnNames = primaryColumns
|
|
536
|
+
.map((column) => `\`${column.name}\``)
|
|
537
|
+
.join(", ");
|
|
538
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
539
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNames})`));
|
|
540
|
+
primaryColumns.push(column);
|
|
541
|
+
columnNames = primaryColumns
|
|
542
|
+
.map((column) => `\`${column.name}\``)
|
|
543
|
+
.join(", ");
|
|
544
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNames})`));
|
|
545
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
546
|
+
// if we previously dropped AUTO_INCREMENT property, we must bring it back
|
|
547
|
+
if (generatedColumn) {
|
|
548
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
549
|
+
nonGeneratedColumn.isGenerated = false;
|
|
550
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
551
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(column, true)}`));
|
|
552
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${column.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
if (column.generatedType && column.asExpression) {
|
|
556
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
557
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
558
|
+
schema: currentDatabase,
|
|
559
|
+
table: table.name,
|
|
560
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
561
|
+
name: column.name,
|
|
562
|
+
value: column.asExpression,
|
|
563
|
+
});
|
|
564
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
565
|
+
schema: currentDatabase,
|
|
566
|
+
table: table.name,
|
|
567
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
568
|
+
name: column.name,
|
|
569
|
+
});
|
|
570
|
+
upQueries.push(insertQuery);
|
|
571
|
+
downQueries.push(deleteQuery);
|
|
572
|
+
}
|
|
573
|
+
// create column index
|
|
574
|
+
const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
|
|
575
|
+
index.columnNames[0] === column.name);
|
|
576
|
+
if (columnIndex) {
|
|
577
|
+
upQueries.push(this.createIndexSql(table, columnIndex));
|
|
578
|
+
downQueries.push(this.dropIndexSql(table, columnIndex));
|
|
579
|
+
}
|
|
580
|
+
else if (column.isUnique) {
|
|
581
|
+
const uniqueIndex = new TableIndex_1.TableIndex({
|
|
582
|
+
name: this.connection.namingStrategy.indexName(table, [
|
|
583
|
+
column.name,
|
|
584
|
+
]),
|
|
585
|
+
columnNames: [column.name],
|
|
586
|
+
isUnique: true,
|
|
587
|
+
});
|
|
588
|
+
clonedTable.indices.push(uniqueIndex);
|
|
589
|
+
clonedTable.uniques.push(new TableUnique_1.TableUnique({
|
|
590
|
+
name: uniqueIndex.name,
|
|
591
|
+
columnNames: uniqueIndex.columnNames,
|
|
592
|
+
}));
|
|
593
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD UNIQUE INDEX \`${uniqueIndex.name}\` (\`${column.name}\`)`));
|
|
594
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP INDEX \`${uniqueIndex.name}\``));
|
|
595
|
+
}
|
|
596
|
+
await this.executeQueries(upQueries, downQueries);
|
|
597
|
+
clonedTable.addColumn(column);
|
|
598
|
+
this.replaceCachedTable(table, clonedTable);
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* Creates a new columns from the column in the table.
|
|
602
|
+
*/
|
|
603
|
+
async addColumns(tableOrName, columns) {
|
|
604
|
+
for (const column of columns) {
|
|
605
|
+
await this.addColumn(tableOrName, column);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* Renames column in the given table.
|
|
610
|
+
*/
|
|
611
|
+
async renameColumn(tableOrName, oldTableColumnOrName, newTableColumnOrName) {
|
|
612
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
613
|
+
? tableOrName
|
|
614
|
+
: await this.getCachedTable(tableOrName);
|
|
615
|
+
const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
|
|
616
|
+
? oldTableColumnOrName
|
|
617
|
+
: table.columns.find((c) => c.name === oldTableColumnOrName);
|
|
618
|
+
if (!oldColumn)
|
|
619
|
+
throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the "${table.name}" table.`);
|
|
620
|
+
let newColumn = undefined;
|
|
621
|
+
if (InstanceChecker_1.InstanceChecker.isTableColumn(newTableColumnOrName)) {
|
|
622
|
+
newColumn = newTableColumnOrName;
|
|
623
|
+
}
|
|
624
|
+
else {
|
|
625
|
+
newColumn = oldColumn.clone();
|
|
626
|
+
newColumn.name = newTableColumnOrName;
|
|
627
|
+
}
|
|
628
|
+
await this.changeColumn(table, oldColumn, newColumn);
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Changes a column in the table.
|
|
632
|
+
*/
|
|
633
|
+
async changeColumn(tableOrName, oldColumnOrName, newColumn) {
|
|
634
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
635
|
+
? tableOrName
|
|
636
|
+
: await this.getCachedTable(tableOrName);
|
|
637
|
+
let clonedTable = table.clone();
|
|
638
|
+
const upQueries = [];
|
|
639
|
+
const downQueries = [];
|
|
640
|
+
const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldColumnOrName)
|
|
641
|
+
? oldColumnOrName
|
|
642
|
+
: table.columns.find((column) => column.name === oldColumnOrName);
|
|
643
|
+
if (!oldColumn)
|
|
644
|
+
throw new error_1.TypeORMError(`Column "${oldColumnOrName}" was not found in the "${table.name}" table.`);
|
|
645
|
+
if ((newColumn.isGenerated !== oldColumn.isGenerated &&
|
|
646
|
+
newColumn.generationStrategy !== "uuid") ||
|
|
647
|
+
oldColumn.type !== newColumn.type ||
|
|
648
|
+
oldColumn.length !== newColumn.length ||
|
|
649
|
+
(oldColumn.generatedType &&
|
|
650
|
+
newColumn.generatedType &&
|
|
651
|
+
oldColumn.generatedType !== newColumn.generatedType) ||
|
|
652
|
+
(!oldColumn.generatedType &&
|
|
653
|
+
newColumn.generatedType === "VIRTUAL") ||
|
|
654
|
+
(oldColumn.generatedType === "VIRTUAL" && !newColumn.generatedType)) {
|
|
655
|
+
await this.dropColumn(table, oldColumn);
|
|
656
|
+
await this.addColumn(table, newColumn);
|
|
657
|
+
// update cloned table
|
|
658
|
+
clonedTable = table.clone();
|
|
659
|
+
}
|
|
660
|
+
else {
|
|
661
|
+
if (newColumn.name !== oldColumn.name) {
|
|
662
|
+
// We don't change any column properties, just rename it.
|
|
663
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${oldColumn.name}\` \`${newColumn.name}\` ${this.buildCreateColumnSql(oldColumn, true, true)}`));
|
|
664
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${newColumn.name}\` \`${oldColumn.name}\` ${this.buildCreateColumnSql(oldColumn, true, true)}`));
|
|
665
|
+
// rename index constraints
|
|
666
|
+
clonedTable.findColumnIndices(oldColumn).forEach((index) => {
|
|
667
|
+
const oldUniqueName = this.connection.namingStrategy.indexName(clonedTable, index.columnNames);
|
|
668
|
+
// Skip renaming if Index has user defined constraint name
|
|
669
|
+
if (index.name !== oldUniqueName)
|
|
670
|
+
return;
|
|
671
|
+
// build new constraint name
|
|
672
|
+
index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
|
|
673
|
+
index.columnNames.push(newColumn.name);
|
|
674
|
+
const columnNames = index.columnNames
|
|
675
|
+
.map((column) => `\`${column}\``)
|
|
676
|
+
.join(", ");
|
|
677
|
+
const newIndexName = this.connection.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
|
|
678
|
+
// build queries
|
|
679
|
+
let indexType = "";
|
|
680
|
+
if (index.isUnique)
|
|
681
|
+
indexType += "UNIQUE ";
|
|
682
|
+
if (index.isSpatial)
|
|
683
|
+
indexType += "SPATIAL ";
|
|
684
|
+
if (index.isFulltext)
|
|
685
|
+
indexType += "FULLTEXT ";
|
|
686
|
+
const indexParser = index.isFulltext && index.parser
|
|
687
|
+
? ` WITH PARSER ${index.parser}`
|
|
688
|
+
: "";
|
|
689
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP INDEX \`${index.name}\`, ADD ${indexType}INDEX \`${newIndexName}\` (${columnNames})${indexParser}`));
|
|
690
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP INDEX \`${newIndexName}\`, ADD ${indexType}INDEX \`${index.name}\` (${columnNames})${indexParser}`));
|
|
691
|
+
// replace constraint name
|
|
692
|
+
index.name = newIndexName;
|
|
693
|
+
});
|
|
694
|
+
// rename foreign key constraints
|
|
695
|
+
clonedTable
|
|
696
|
+
.findColumnForeignKeys(oldColumn)
|
|
697
|
+
.forEach((foreignKey) => {
|
|
698
|
+
const foreignKeyName = this.connection.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
699
|
+
// Skip renaming if foreign key has user defined constraint name
|
|
700
|
+
if (foreignKey.name !== foreignKeyName)
|
|
701
|
+
return;
|
|
702
|
+
// build new constraint name
|
|
703
|
+
foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
|
|
704
|
+
foreignKey.columnNames.push(newColumn.name);
|
|
705
|
+
const columnNames = foreignKey.columnNames
|
|
706
|
+
.map((column) => `\`${column}\``)
|
|
707
|
+
.join(", ");
|
|
708
|
+
const referencedColumnNames = foreignKey.referencedColumnNames
|
|
709
|
+
.map((column) => `\`${column}\``)
|
|
710
|
+
.join(",");
|
|
711
|
+
const newForeignKeyName = this.connection.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
712
|
+
// build queries
|
|
713
|
+
let up = `ALTER TABLE ${this.escapePath(table)} DROP FOREIGN KEY \`${foreignKey.name}\`, ADD CONSTRAINT \`${newForeignKeyName}\` FOREIGN KEY (${columnNames}) ` +
|
|
714
|
+
`REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
|
|
715
|
+
if (foreignKey.onDelete)
|
|
716
|
+
up += ` ON DELETE ${foreignKey.onDelete}`;
|
|
717
|
+
if (foreignKey.onUpdate)
|
|
718
|
+
up += ` ON UPDATE ${foreignKey.onUpdate}`;
|
|
719
|
+
let down = `ALTER TABLE ${this.escapePath(table)} DROP FOREIGN KEY \`${newForeignKeyName}\`, ADD CONSTRAINT \`${foreignKey.name}\` FOREIGN KEY (${columnNames}) ` +
|
|
720
|
+
`REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
|
|
721
|
+
if (foreignKey.onDelete)
|
|
722
|
+
down += ` ON DELETE ${foreignKey.onDelete}`;
|
|
723
|
+
if (foreignKey.onUpdate)
|
|
724
|
+
down += ` ON UPDATE ${foreignKey.onUpdate}`;
|
|
725
|
+
upQueries.push(new Query_1.Query(up));
|
|
726
|
+
downQueries.push(new Query_1.Query(down));
|
|
727
|
+
// replace constraint name
|
|
728
|
+
foreignKey.name = newForeignKeyName;
|
|
729
|
+
});
|
|
730
|
+
// rename old column in the Table object
|
|
731
|
+
const oldTableColumn = clonedTable.columns.find((column) => column.name === oldColumn.name);
|
|
732
|
+
clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
|
|
733
|
+
oldColumn.name = newColumn.name;
|
|
734
|
+
}
|
|
735
|
+
if (this.isColumnChanged(oldColumn, newColumn, true, true)) {
|
|
736
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${oldColumn.name}\` ${this.buildCreateColumnSql(newColumn, true)}`));
|
|
737
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${newColumn.name}\` ${this.buildCreateColumnSql(oldColumn, true)}`));
|
|
738
|
+
if (oldColumn.generatedType && !newColumn.generatedType) {
|
|
739
|
+
// if column changed from generated to non-generated, delete record from typeorm metadata
|
|
740
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
741
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
742
|
+
schema: currentDatabase,
|
|
743
|
+
table: table.name,
|
|
744
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
745
|
+
name: oldColumn.name,
|
|
746
|
+
});
|
|
747
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
748
|
+
schema: currentDatabase,
|
|
749
|
+
table: table.name,
|
|
750
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
751
|
+
name: oldColumn.name,
|
|
752
|
+
value: oldColumn.asExpression,
|
|
753
|
+
});
|
|
754
|
+
upQueries.push(deleteQuery);
|
|
755
|
+
downQueries.push(insertQuery);
|
|
756
|
+
}
|
|
757
|
+
else if (!oldColumn.generatedType &&
|
|
758
|
+
newColumn.generatedType) {
|
|
759
|
+
// if column changed from non-generated to generated, insert record into typeorm metadata
|
|
760
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
761
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
762
|
+
schema: currentDatabase,
|
|
763
|
+
table: table.name,
|
|
764
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
765
|
+
name: newColumn.name,
|
|
766
|
+
value: newColumn.asExpression,
|
|
767
|
+
});
|
|
768
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
769
|
+
schema: currentDatabase,
|
|
770
|
+
table: table.name,
|
|
771
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
772
|
+
name: newColumn.name,
|
|
773
|
+
});
|
|
774
|
+
upQueries.push(insertQuery);
|
|
775
|
+
downQueries.push(deleteQuery);
|
|
776
|
+
}
|
|
777
|
+
else if (oldColumn.asExpression !== newColumn.asExpression) {
|
|
778
|
+
// if only expression changed, just update it in typeorm_metadata table
|
|
779
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
780
|
+
const updateQuery = this.connection
|
|
781
|
+
.createQueryBuilder()
|
|
782
|
+
.update(this.getTypeormMetadataTableName())
|
|
783
|
+
.set({ value: newColumn.asExpression })
|
|
784
|
+
.where("`type` = :type", {
|
|
785
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
786
|
+
})
|
|
787
|
+
.andWhere("`name` = :name", { name: oldColumn.name })
|
|
788
|
+
.andWhere("`schema` = :schema", {
|
|
789
|
+
schema: currentDatabase,
|
|
790
|
+
})
|
|
791
|
+
.andWhere("`table` = :table", { table: table.name })
|
|
792
|
+
.getQueryAndParameters();
|
|
793
|
+
const revertUpdateQuery = this.connection
|
|
794
|
+
.createQueryBuilder()
|
|
795
|
+
.update(this.getTypeormMetadataTableName())
|
|
796
|
+
.set({ value: oldColumn.asExpression })
|
|
797
|
+
.where("`type` = :type", {
|
|
798
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
799
|
+
})
|
|
800
|
+
.andWhere("`name` = :name", { name: newColumn.name })
|
|
801
|
+
.andWhere("`schema` = :schema", {
|
|
802
|
+
schema: currentDatabase,
|
|
803
|
+
})
|
|
804
|
+
.andWhere("`table` = :table", { table: table.name })
|
|
805
|
+
.getQueryAndParameters();
|
|
806
|
+
upQueries.push(new Query_1.Query(updateQuery[0], updateQuery[1]));
|
|
807
|
+
downQueries.push(new Query_1.Query(revertUpdateQuery[0], revertUpdateQuery[1]));
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
if (newColumn.isPrimary !== oldColumn.isPrimary) {
|
|
811
|
+
// if table have generated column, we must drop AUTO_INCREMENT before changing primary constraints.
|
|
812
|
+
const generatedColumn = clonedTable.columns.find((column) => column.isGenerated &&
|
|
813
|
+
column.generationStrategy === "increment");
|
|
814
|
+
if (generatedColumn) {
|
|
815
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
816
|
+
nonGeneratedColumn.isGenerated = false;
|
|
817
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
818
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${generatedColumn.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
819
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(generatedColumn, true)}`));
|
|
820
|
+
}
|
|
821
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
822
|
+
// if primary column state changed, we must always drop existed constraint.
|
|
823
|
+
if (primaryColumns.length > 0) {
|
|
824
|
+
const columnNames = primaryColumns
|
|
825
|
+
.map((column) => `\`${column.name}\``)
|
|
826
|
+
.join(", ");
|
|
827
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
828
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNames})`));
|
|
829
|
+
}
|
|
830
|
+
if (newColumn.isPrimary === true) {
|
|
831
|
+
primaryColumns.push(newColumn);
|
|
832
|
+
// update column in table
|
|
833
|
+
const column = clonedTable.columns.find((column) => column.name === newColumn.name);
|
|
834
|
+
column.isPrimary = true;
|
|
835
|
+
const columnNames = primaryColumns
|
|
836
|
+
.map((column) => `\`${column.name}\``)
|
|
837
|
+
.join(", ");
|
|
838
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNames})`));
|
|
839
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
840
|
+
}
|
|
841
|
+
else {
|
|
842
|
+
const primaryColumn = primaryColumns.find((c) => c.name === newColumn.name);
|
|
843
|
+
primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
|
|
844
|
+
// update column in table
|
|
845
|
+
const column = clonedTable.columns.find((column) => column.name === newColumn.name);
|
|
846
|
+
column.isPrimary = false;
|
|
847
|
+
// if we have another primary keys, we must recreate constraint.
|
|
848
|
+
if (primaryColumns.length > 0) {
|
|
849
|
+
const columnNames = primaryColumns
|
|
850
|
+
.map((column) => `\`${column.name}\``)
|
|
851
|
+
.join(", ");
|
|
852
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNames})`));
|
|
853
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
// if we have generated column, and we dropped AUTO_INCREMENT property before, we must bring it back
|
|
857
|
+
if (generatedColumn) {
|
|
858
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
859
|
+
nonGeneratedColumn.isGenerated = false;
|
|
860
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
861
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(generatedColumn, true)}`));
|
|
862
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${generatedColumn.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
if (newColumn.isUnique !== oldColumn.isUnique) {
|
|
866
|
+
if (newColumn.isUnique === true) {
|
|
867
|
+
const uniqueIndex = new TableIndex_1.TableIndex({
|
|
868
|
+
name: this.connection.namingStrategy.indexName(table, [
|
|
869
|
+
newColumn.name,
|
|
870
|
+
]),
|
|
871
|
+
columnNames: [newColumn.name],
|
|
872
|
+
isUnique: true,
|
|
873
|
+
});
|
|
874
|
+
clonedTable.indices.push(uniqueIndex);
|
|
875
|
+
clonedTable.uniques.push(new TableUnique_1.TableUnique({
|
|
876
|
+
name: uniqueIndex.name,
|
|
877
|
+
columnNames: uniqueIndex.columnNames,
|
|
878
|
+
}));
|
|
879
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD UNIQUE INDEX \`${uniqueIndex.name}\` (\`${newColumn.name}\`)`));
|
|
880
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP INDEX \`${uniqueIndex.name}\``));
|
|
881
|
+
}
|
|
882
|
+
else {
|
|
883
|
+
const uniqueIndex = clonedTable.indices.find((index) => {
|
|
884
|
+
return (index.columnNames.length === 1 &&
|
|
885
|
+
index.isUnique === true &&
|
|
886
|
+
!!index.columnNames.find((columnName) => columnName === newColumn.name));
|
|
887
|
+
});
|
|
888
|
+
clonedTable.indices.splice(clonedTable.indices.indexOf(uniqueIndex), 1);
|
|
889
|
+
const tableUnique = clonedTable.uniques.find((unique) => unique.name === uniqueIndex.name);
|
|
890
|
+
clonedTable.uniques.splice(clonedTable.uniques.indexOf(tableUnique), 1);
|
|
891
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP INDEX \`${uniqueIndex.name}\``));
|
|
892
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD UNIQUE INDEX \`${uniqueIndex.name}\` (\`${newColumn.name}\`)`));
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
await this.executeQueries(upQueries, downQueries);
|
|
897
|
+
this.replaceCachedTable(table, clonedTable);
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Changes a column in the table.
|
|
901
|
+
*/
|
|
902
|
+
async changeColumns(tableOrName, changedColumns) {
|
|
903
|
+
for (const { oldColumn, newColumn } of changedColumns) {
|
|
904
|
+
await this.changeColumn(tableOrName, oldColumn, newColumn);
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Drops column in the table.
|
|
909
|
+
*/
|
|
910
|
+
async dropColumn(tableOrName, columnOrName) {
|
|
911
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
912
|
+
? tableOrName
|
|
913
|
+
: await this.getCachedTable(tableOrName);
|
|
914
|
+
const column = InstanceChecker_1.InstanceChecker.isTableColumn(columnOrName)
|
|
915
|
+
? columnOrName
|
|
916
|
+
: table.findColumnByName(columnOrName);
|
|
917
|
+
if (!column)
|
|
918
|
+
throw new error_1.TypeORMError(`Column "${columnOrName}" was not found in table "${table.name}"`);
|
|
919
|
+
const clonedTable = table.clone();
|
|
920
|
+
const upQueries = [];
|
|
921
|
+
const downQueries = [];
|
|
922
|
+
// drop primary key constraint
|
|
923
|
+
if (column.isPrimary) {
|
|
924
|
+
// if table have generated column, we must drop AUTO_INCREMENT before changing primary constraints.
|
|
925
|
+
const generatedColumn = clonedTable.columns.find((column) => column.isGenerated &&
|
|
926
|
+
column.generationStrategy === "increment");
|
|
927
|
+
if (generatedColumn) {
|
|
928
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
929
|
+
nonGeneratedColumn.isGenerated = false;
|
|
930
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
931
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${generatedColumn.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
932
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(generatedColumn, true)}`));
|
|
933
|
+
}
|
|
934
|
+
// dropping primary key constraint
|
|
935
|
+
const columnNames = clonedTable.primaryColumns
|
|
936
|
+
.map((primaryColumn) => `\`${primaryColumn.name}\``)
|
|
937
|
+
.join(", ");
|
|
938
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP PRIMARY KEY`));
|
|
939
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD PRIMARY KEY (${columnNames})`));
|
|
940
|
+
// update column in table
|
|
941
|
+
const tableColumn = clonedTable.findColumnByName(column.name);
|
|
942
|
+
tableColumn.isPrimary = false;
|
|
943
|
+
// if primary key have multiple columns, we must recreate it without dropped column
|
|
944
|
+
if (clonedTable.primaryColumns.length > 0) {
|
|
945
|
+
const columnNames = clonedTable.primaryColumns
|
|
946
|
+
.map((primaryColumn) => `\`${primaryColumn.name}\``)
|
|
947
|
+
.join(", ");
|
|
948
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD PRIMARY KEY (${columnNames})`));
|
|
949
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP PRIMARY KEY`));
|
|
950
|
+
}
|
|
951
|
+
// if we have generated column, and we dropped AUTO_INCREMENT property before, and this column is not current dropping column, we must bring it back
|
|
952
|
+
if (generatedColumn && generatedColumn.name !== column.name) {
|
|
953
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
954
|
+
nonGeneratedColumn.isGenerated = false;
|
|
955
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
956
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(generatedColumn, true)}`));
|
|
957
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${generatedColumn.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
// drop column index
|
|
961
|
+
const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
|
|
962
|
+
index.columnNames[0] === column.name);
|
|
963
|
+
if (columnIndex) {
|
|
964
|
+
clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
|
|
965
|
+
upQueries.push(this.dropIndexSql(table, columnIndex));
|
|
966
|
+
downQueries.push(this.createIndexSql(table, columnIndex));
|
|
967
|
+
}
|
|
968
|
+
else if (column.isUnique) {
|
|
969
|
+
// we splice constraints both from table uniques and indices.
|
|
970
|
+
const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table, [
|
|
971
|
+
column.name,
|
|
972
|
+
]);
|
|
973
|
+
const foundUnique = clonedTable.uniques.find((unique) => unique.name === uniqueName);
|
|
974
|
+
if (foundUnique)
|
|
975
|
+
clonedTable.uniques.splice(clonedTable.uniques.indexOf(foundUnique), 1);
|
|
976
|
+
const indexName = this.connection.namingStrategy.indexName(table, [
|
|
977
|
+
column.name,
|
|
978
|
+
]);
|
|
979
|
+
const foundIndex = clonedTable.indices.find((index) => index.name === indexName);
|
|
980
|
+
if (foundIndex)
|
|
981
|
+
clonedTable.indices.splice(clonedTable.indices.indexOf(foundIndex), 1);
|
|
982
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP INDEX \`${indexName}\``));
|
|
983
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD UNIQUE INDEX \`${indexName}\` (\`${column.name}\`)`));
|
|
984
|
+
}
|
|
985
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN \`${column.name}\``));
|
|
986
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column, true)}`));
|
|
987
|
+
if (column.generatedType && column.asExpression) {
|
|
988
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
989
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
990
|
+
schema: currentDatabase,
|
|
991
|
+
table: table.name,
|
|
992
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
993
|
+
name: column.name,
|
|
994
|
+
});
|
|
995
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
996
|
+
schema: currentDatabase,
|
|
997
|
+
table: table.name,
|
|
998
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
999
|
+
name: column.name,
|
|
1000
|
+
value: column.asExpression,
|
|
1001
|
+
});
|
|
1002
|
+
upQueries.push(deleteQuery);
|
|
1003
|
+
downQueries.push(insertQuery);
|
|
1004
|
+
}
|
|
1005
|
+
await this.executeQueries(upQueries, downQueries);
|
|
1006
|
+
clonedTable.removeColumn(column);
|
|
1007
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1008
|
+
}
|
|
1009
|
+
/**
|
|
1010
|
+
* Drops the columns in the table.
|
|
1011
|
+
*/
|
|
1012
|
+
async dropColumns(tableOrName, columns) {
|
|
1013
|
+
for (const column of columns) {
|
|
1014
|
+
await this.dropColumn(tableOrName, column);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
/**
|
|
1018
|
+
* Creates a new primary key.
|
|
1019
|
+
*/
|
|
1020
|
+
async createPrimaryKey(tableOrName, columnNames) {
|
|
1021
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1022
|
+
? tableOrName
|
|
1023
|
+
: await this.getCachedTable(tableOrName);
|
|
1024
|
+
const clonedTable = table.clone();
|
|
1025
|
+
const up = this.createPrimaryKeySql(table, columnNames);
|
|
1026
|
+
const down = this.dropPrimaryKeySql(table);
|
|
1027
|
+
await this.executeQueries(up, down);
|
|
1028
|
+
clonedTable.columns.forEach((column) => {
|
|
1029
|
+
if (columnNames.find((columnName) => columnName === column.name))
|
|
1030
|
+
column.isPrimary = true;
|
|
1031
|
+
});
|
|
1032
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1033
|
+
}
|
|
1034
|
+
/**
|
|
1035
|
+
* Updates composite primary keys.
|
|
1036
|
+
*/
|
|
1037
|
+
async updatePrimaryKeys(tableOrName, columns) {
|
|
1038
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1039
|
+
? tableOrName
|
|
1040
|
+
: await this.getCachedTable(tableOrName);
|
|
1041
|
+
const clonedTable = table.clone();
|
|
1042
|
+
const columnNames = columns.map((column) => column.name);
|
|
1043
|
+
const upQueries = [];
|
|
1044
|
+
const downQueries = [];
|
|
1045
|
+
// if table have generated column, we must drop AUTO_INCREMENT before changing primary constraints.
|
|
1046
|
+
const generatedColumn = clonedTable.columns.find((column) => column.isGenerated && column.generationStrategy === "increment");
|
|
1047
|
+
if (generatedColumn) {
|
|
1048
|
+
const nonGeneratedColumn = generatedColumn.clone();
|
|
1049
|
+
nonGeneratedColumn.isGenerated = false;
|
|
1050
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
1051
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${generatedColumn.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
1052
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(generatedColumn, true)}`));
|
|
1053
|
+
}
|
|
1054
|
+
// if table already have primary columns, we must drop them.
|
|
1055
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
1056
|
+
if (primaryColumns.length > 0) {
|
|
1057
|
+
const columnNames = primaryColumns
|
|
1058
|
+
.map((column) => `\`${column.name}\``)
|
|
1059
|
+
.join(", ");
|
|
1060
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
1061
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNames})`));
|
|
1062
|
+
}
|
|
1063
|
+
// update columns in table.
|
|
1064
|
+
clonedTable.columns
|
|
1065
|
+
.filter((column) => columnNames.indexOf(column.name) !== -1)
|
|
1066
|
+
.forEach((column) => (column.isPrimary = true));
|
|
1067
|
+
const columnNamesString = columnNames
|
|
1068
|
+
.map((columnName) => `\`${columnName}\``)
|
|
1069
|
+
.join(", ");
|
|
1070
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNamesString})`));
|
|
1071
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`));
|
|
1072
|
+
// if we already have generated column or column is changed to generated, and we dropped AUTO_INCREMENT property before, we must bring it back
|
|
1073
|
+
const newOrExistGeneratedColumn = generatedColumn
|
|
1074
|
+
? generatedColumn
|
|
1075
|
+
: columns.find((column) => column.isGenerated &&
|
|
1076
|
+
column.generationStrategy === "increment");
|
|
1077
|
+
if (newOrExistGeneratedColumn) {
|
|
1078
|
+
const nonGeneratedColumn = newOrExistGeneratedColumn.clone();
|
|
1079
|
+
nonGeneratedColumn.isGenerated = false;
|
|
1080
|
+
nonGeneratedColumn.generationStrategy = undefined;
|
|
1081
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${nonGeneratedColumn.name}\` ${this.buildCreateColumnSql(newOrExistGeneratedColumn, true)}`));
|
|
1082
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} CHANGE \`${newOrExistGeneratedColumn.name}\` ${this.buildCreateColumnSql(nonGeneratedColumn, true)}`));
|
|
1083
|
+
// if column changed to generated, we must update it in table
|
|
1084
|
+
const changedGeneratedColumn = clonedTable.columns.find((column) => column.name === newOrExistGeneratedColumn.name);
|
|
1085
|
+
changedGeneratedColumn.isGenerated = true;
|
|
1086
|
+
changedGeneratedColumn.generationStrategy = "increment";
|
|
1087
|
+
}
|
|
1088
|
+
await this.executeQueries(upQueries, downQueries);
|
|
1089
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Drops a primary key.
|
|
1093
|
+
*/
|
|
1094
|
+
async dropPrimaryKey(tableOrName) {
|
|
1095
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1096
|
+
? tableOrName
|
|
1097
|
+
: await this.getCachedTable(tableOrName);
|
|
1098
|
+
const up = this.dropPrimaryKeySql(table);
|
|
1099
|
+
const down = this.createPrimaryKeySql(table, table.primaryColumns.map((column) => column.name));
|
|
1100
|
+
await this.executeQueries(up, down);
|
|
1101
|
+
table.primaryColumns.forEach((column) => {
|
|
1102
|
+
column.isPrimary = false;
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
/**
|
|
1106
|
+
* Creates a new unique constraint.
|
|
1107
|
+
*/
|
|
1108
|
+
async createUniqueConstraint(tableOrName, uniqueConstraint) {
|
|
1109
|
+
throw new error_1.TypeORMError(`MySql does not support unique constraints. Use unique index instead.`);
|
|
1110
|
+
}
|
|
1111
|
+
/**
|
|
1112
|
+
* Creates a new unique constraints.
|
|
1113
|
+
*/
|
|
1114
|
+
async createUniqueConstraints(tableOrName, uniqueConstraints) {
|
|
1115
|
+
throw new error_1.TypeORMError(`MySql does not support unique constraints. Use unique index instead.`);
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Drops an unique constraint.
|
|
1119
|
+
*/
|
|
1120
|
+
async dropUniqueConstraint(tableOrName, uniqueOrName) {
|
|
1121
|
+
throw new error_1.TypeORMError(`MySql does not support unique constraints. Use unique index instead.`);
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Drops an unique constraints.
|
|
1125
|
+
*/
|
|
1126
|
+
async dropUniqueConstraints(tableOrName, uniqueConstraints) {
|
|
1127
|
+
throw new error_1.TypeORMError(`MySql does not support unique constraints. Use unique index instead.`);
|
|
1128
|
+
}
|
|
1129
|
+
/**
|
|
1130
|
+
* Creates a new check constraint.
|
|
1131
|
+
*/
|
|
1132
|
+
async createCheckConstraint(tableOrName, checkConstraint) {
|
|
1133
|
+
throw new error_1.TypeORMError(`MySql does not support check constraints.`);
|
|
1134
|
+
}
|
|
1135
|
+
/**
|
|
1136
|
+
* Creates a new check constraints.
|
|
1137
|
+
*/
|
|
1138
|
+
async createCheckConstraints(tableOrName, checkConstraints) {
|
|
1139
|
+
throw new error_1.TypeORMError(`MySql does not support check constraints.`);
|
|
1140
|
+
}
|
|
1141
|
+
/**
|
|
1142
|
+
* Drops check constraint.
|
|
1143
|
+
*/
|
|
1144
|
+
async dropCheckConstraint(tableOrName, checkOrName) {
|
|
1145
|
+
throw new error_1.TypeORMError(`MySql does not support check constraints.`);
|
|
1146
|
+
}
|
|
1147
|
+
/**
|
|
1148
|
+
* Drops check constraints.
|
|
1149
|
+
*/
|
|
1150
|
+
async dropCheckConstraints(tableOrName, checkConstraints) {
|
|
1151
|
+
throw new error_1.TypeORMError(`MySql does not support check constraints.`);
|
|
1152
|
+
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Creates a new exclusion constraint.
|
|
1155
|
+
*/
|
|
1156
|
+
async createExclusionConstraint(tableOrName, exclusionConstraint) {
|
|
1157
|
+
throw new error_1.TypeORMError(`MySql does not support exclusion constraints.`);
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* Creates a new exclusion constraints.
|
|
1161
|
+
*/
|
|
1162
|
+
async createExclusionConstraints(tableOrName, exclusionConstraints) {
|
|
1163
|
+
throw new error_1.TypeORMError(`MySql does not support exclusion constraints.`);
|
|
1164
|
+
}
|
|
1165
|
+
/**
|
|
1166
|
+
* Drops exclusion constraint.
|
|
1167
|
+
*/
|
|
1168
|
+
async dropExclusionConstraint(tableOrName, exclusionOrName) {
|
|
1169
|
+
throw new error_1.TypeORMError(`MySql does not support exclusion constraints.`);
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Drops exclusion constraints.
|
|
1173
|
+
*/
|
|
1174
|
+
async dropExclusionConstraints(tableOrName, exclusionConstraints) {
|
|
1175
|
+
throw new error_1.TypeORMError(`MySql does not support exclusion constraints.`);
|
|
1176
|
+
}
|
|
1177
|
+
/**
|
|
1178
|
+
* Creates a new foreign key.
|
|
1179
|
+
*/
|
|
1180
|
+
async createForeignKey(tableOrName, foreignKey) {
|
|
1181
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1182
|
+
? tableOrName
|
|
1183
|
+
: await this.getCachedTable(tableOrName);
|
|
1184
|
+
// new FK may be passed without name. In this case we generate FK name manually.
|
|
1185
|
+
if (!foreignKey.name)
|
|
1186
|
+
foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
1187
|
+
const up = this.createForeignKeySql(table, foreignKey);
|
|
1188
|
+
const down = this.dropForeignKeySql(table, foreignKey);
|
|
1189
|
+
await this.executeQueries(up, down);
|
|
1190
|
+
table.addForeignKey(foreignKey);
|
|
1191
|
+
}
|
|
1192
|
+
/**
|
|
1193
|
+
* Creates a new foreign keys.
|
|
1194
|
+
*/
|
|
1195
|
+
async createForeignKeys(tableOrName, foreignKeys) {
|
|
1196
|
+
const promises = foreignKeys.map((foreignKey) => this.createForeignKey(tableOrName, foreignKey));
|
|
1197
|
+
await Promise.all(promises);
|
|
1198
|
+
}
|
|
1199
|
+
/**
|
|
1200
|
+
* Drops a foreign key.
|
|
1201
|
+
*/
|
|
1202
|
+
async dropForeignKey(tableOrName, foreignKeyOrName) {
|
|
1203
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1204
|
+
? tableOrName
|
|
1205
|
+
: await this.getCachedTable(tableOrName);
|
|
1206
|
+
const foreignKey = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
|
|
1207
|
+
? foreignKeyOrName
|
|
1208
|
+
: table.foreignKeys.find((fk) => fk.name === foreignKeyOrName);
|
|
1209
|
+
if (!foreignKey)
|
|
1210
|
+
throw new error_1.TypeORMError(`Supplied foreign key was not found in table ${table.name}`);
|
|
1211
|
+
const up = this.dropForeignKeySql(table, foreignKey);
|
|
1212
|
+
const down = this.createForeignKeySql(table, foreignKey);
|
|
1213
|
+
await this.executeQueries(up, down);
|
|
1214
|
+
table.removeForeignKey(foreignKey);
|
|
1215
|
+
}
|
|
1216
|
+
/**
|
|
1217
|
+
* Drops a foreign keys from the table.
|
|
1218
|
+
*/
|
|
1219
|
+
async dropForeignKeys(tableOrName, foreignKeys) {
|
|
1220
|
+
const promises = foreignKeys.map((foreignKey) => this.dropForeignKey(tableOrName, foreignKey));
|
|
1221
|
+
await Promise.all(promises);
|
|
1222
|
+
}
|
|
1223
|
+
/**
|
|
1224
|
+
* Creates a new index.
|
|
1225
|
+
*/
|
|
1226
|
+
async createIndex(tableOrName, index) {
|
|
1227
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1228
|
+
? tableOrName
|
|
1229
|
+
: await this.getCachedTable(tableOrName);
|
|
1230
|
+
// new index may be passed without name. In this case we generate index name manually.
|
|
1231
|
+
if (!index.name)
|
|
1232
|
+
index.name = this.generateIndexName(table, index);
|
|
1233
|
+
const up = this.createIndexSql(table, index);
|
|
1234
|
+
const down = this.dropIndexSql(table, index);
|
|
1235
|
+
await this.executeQueries(up, down);
|
|
1236
|
+
table.addIndex(index, true);
|
|
1237
|
+
}
|
|
1238
|
+
/**
|
|
1239
|
+
* Creates a new indices
|
|
1240
|
+
*/
|
|
1241
|
+
async createIndices(tableOrName, indices) {
|
|
1242
|
+
const promises = indices.map((index) => this.createIndex(tableOrName, index));
|
|
1243
|
+
await Promise.all(promises);
|
|
1244
|
+
}
|
|
1245
|
+
/**
|
|
1246
|
+
* Drops an index.
|
|
1247
|
+
*/
|
|
1248
|
+
async dropIndex(tableOrName, indexOrName) {
|
|
1249
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1250
|
+
? tableOrName
|
|
1251
|
+
: await this.getCachedTable(tableOrName);
|
|
1252
|
+
const index = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
|
|
1253
|
+
? indexOrName
|
|
1254
|
+
: table.indices.find((i) => i.name === indexOrName);
|
|
1255
|
+
if (!index)
|
|
1256
|
+
throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
|
|
1257
|
+
// old index may be passed without name. In this case we generate index name manually.
|
|
1258
|
+
if (!index.name)
|
|
1259
|
+
index.name = this.generateIndexName(table, index);
|
|
1260
|
+
const up = this.dropIndexSql(table, index);
|
|
1261
|
+
const down = this.createIndexSql(table, index);
|
|
1262
|
+
await this.executeQueries(up, down);
|
|
1263
|
+
table.removeIndex(index, true);
|
|
1264
|
+
}
|
|
1265
|
+
/**
|
|
1266
|
+
* Drops an indices from the table.
|
|
1267
|
+
*/
|
|
1268
|
+
async dropIndices(tableOrName, indices) {
|
|
1269
|
+
const promises = indices.map((index) => this.dropIndex(tableOrName, index));
|
|
1270
|
+
await Promise.all(promises);
|
|
1271
|
+
}
|
|
1272
|
+
/**
|
|
1273
|
+
* Clears all table contents.
|
|
1274
|
+
* Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.
|
|
1275
|
+
*/
|
|
1276
|
+
async clearTable(tableOrName) {
|
|
1277
|
+
await this.query(`TRUNCATE TABLE ${this.escapePath(tableOrName)}`);
|
|
1278
|
+
}
|
|
1279
|
+
/**
|
|
1280
|
+
* Removes all tables from the currently connected database.
|
|
1281
|
+
* Be careful using this method and avoid using it in production or migrations
|
|
1282
|
+
* (because it can clear all your database).
|
|
1283
|
+
*/
|
|
1284
|
+
async clearDatabase(database) {
|
|
1285
|
+
const dbName = database ? database : this.driver.database;
|
|
1286
|
+
if (dbName) {
|
|
1287
|
+
const isDatabaseExist = await this.hasDatabase(dbName);
|
|
1288
|
+
if (!isDatabaseExist)
|
|
1289
|
+
return Promise.resolve();
|
|
1290
|
+
}
|
|
1291
|
+
else {
|
|
1292
|
+
throw new error_1.TypeORMError(`Can not clear database. No database is specified`);
|
|
1293
|
+
}
|
|
1294
|
+
const isAnotherTransactionActive = this.isTransactionActive;
|
|
1295
|
+
if (!isAnotherTransactionActive)
|
|
1296
|
+
await this.startTransaction();
|
|
1297
|
+
try {
|
|
1298
|
+
const selectViewDropsQuery = `SELECT concat('DROP VIEW IF EXISTS \`', table_schema, '\`.\`', table_name, '\`') AS \`query\` FROM \`INFORMATION_SCHEMA\`.\`VIEWS\` WHERE \`TABLE_SCHEMA\` = '${dbName}'`;
|
|
1299
|
+
const dropViewQueries = await this.query(selectViewDropsQuery);
|
|
1300
|
+
await Promise.all(dropViewQueries.map((q) => this.query(q["query"])));
|
|
1301
|
+
const disableForeignKeysCheckQuery = `SET FOREIGN_KEY_CHECKS = 0;`;
|
|
1302
|
+
const dropTablesQuery = `SELECT concat('DROP TABLE IF EXISTS \`', table_schema, '\`.\`', table_name, '\`') AS \`query\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\` WHERE \`TABLE_SCHEMA\` = '${dbName}'`;
|
|
1303
|
+
const enableForeignKeysCheckQuery = `SET FOREIGN_KEY_CHECKS = 1;`;
|
|
1304
|
+
await this.query(disableForeignKeysCheckQuery);
|
|
1305
|
+
const dropQueries = await this.query(dropTablesQuery);
|
|
1306
|
+
await Promise.all(dropQueries.map((query) => this.query(query["query"])));
|
|
1307
|
+
await this.query(enableForeignKeysCheckQuery);
|
|
1308
|
+
if (!isAnotherTransactionActive)
|
|
1309
|
+
await this.commitTransaction();
|
|
1310
|
+
}
|
|
1311
|
+
catch (error) {
|
|
1312
|
+
try {
|
|
1313
|
+
// we throw original error even if rollback thrown an error
|
|
1314
|
+
if (!isAnotherTransactionActive)
|
|
1315
|
+
await this.rollbackTransaction();
|
|
1316
|
+
}
|
|
1317
|
+
catch (rollbackError) { }
|
|
1318
|
+
throw error;
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
// -------------------------------------------------------------------------
|
|
1322
|
+
// Protected Methods
|
|
1323
|
+
// -------------------------------------------------------------------------
|
|
1324
|
+
async loadViews(viewNames) {
|
|
1325
|
+
const hasTable = await this.hasTable(this.getTypeormMetadataTableName());
|
|
1326
|
+
if (!hasTable) {
|
|
1327
|
+
return [];
|
|
1328
|
+
}
|
|
1329
|
+
if (!viewNames) {
|
|
1330
|
+
viewNames = [];
|
|
1331
|
+
}
|
|
1332
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
1333
|
+
const viewsCondition = viewNames
|
|
1334
|
+
.map((tableName) => {
|
|
1335
|
+
let { database, tableName: name } = this.driver.parseTableName(tableName);
|
|
1336
|
+
if (!database) {
|
|
1337
|
+
database = currentDatabase;
|
|
1338
|
+
}
|
|
1339
|
+
return `(\`t\`.\`schema\` = '${database}' AND \`t\`.\`name\` = '${name}')`;
|
|
1340
|
+
})
|
|
1341
|
+
.join(" OR ");
|
|
1342
|
+
const query = `SELECT \`t\`.*, \`v\`.\`check_option\` FROM ${this.escapePath(this.getTypeormMetadataTableName())} \`t\` ` +
|
|
1343
|
+
`INNER JOIN \`information_schema\`.\`views\` \`v\` ON \`v\`.\`table_schema\` = \`t\`.\`schema\` AND \`v\`.\`table_name\` = \`t\`.\`name\` WHERE \`t\`.\`type\` = '${MetadataTableType_1.MetadataTableType.VIEW}' ${viewsCondition ? `AND (${viewsCondition})` : ""}`;
|
|
1344
|
+
const dbViews = await this.query(query);
|
|
1345
|
+
return dbViews.map((dbView) => {
|
|
1346
|
+
const view = new View_1.View();
|
|
1347
|
+
const db = dbView["schema"] === currentDatabase
|
|
1348
|
+
? undefined
|
|
1349
|
+
: dbView["schema"];
|
|
1350
|
+
view.database = dbView["schema"];
|
|
1351
|
+
view.name = this.driver.buildTableName(dbView["name"], undefined, db);
|
|
1352
|
+
view.expression = dbView["value"];
|
|
1353
|
+
return view;
|
|
1354
|
+
});
|
|
1355
|
+
}
|
|
1356
|
+
/**
|
|
1357
|
+
* Loads all tables (with given names) from the database and creates a Table from them.
|
|
1358
|
+
*/
|
|
1359
|
+
async loadTables(tableNames) {
|
|
1360
|
+
if (tableNames && tableNames.length === 0) {
|
|
1361
|
+
return [];
|
|
1362
|
+
}
|
|
1363
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
1364
|
+
// The following SQL brought to you by:
|
|
1365
|
+
// A terrible understanding of https://dev.mysql.com/doc/refman/8.0/en/information-schema-optimization.html
|
|
1366
|
+
//
|
|
1367
|
+
// Short Version:
|
|
1368
|
+
// INFORMATION_SCHEMA is a weird metadata virtual table and follows VERY FEW of the normal
|
|
1369
|
+
// query optimization rules. Depending on the columns you query against & the columns you're SELECTing
|
|
1370
|
+
// there can be a drastically different query performance - this is because the tables map to
|
|
1371
|
+
// data on the disk and some pieces of data require a scan of the data directory, the database files, etc
|
|
1372
|
+
// With most of these, you'll want to do an `EXPLAIN` when making changes to make sure
|
|
1373
|
+
// the changes you're making aren't changing the query performance profile negatively
|
|
1374
|
+
// When you do the explain you'll want to look at the `Extra` field -
|
|
1375
|
+
// It will look something like: "Using where; {FILE_OPENING}; Scanned {DB_NUM} databases"
|
|
1376
|
+
// FILE_OPENING will commonly be OPEN_FRM_ONLY or OPEN_FULL_TABLE - you want to aim to NOT do
|
|
1377
|
+
// an OPEN_FULL_TABLE unless necessary. DB_NUM may be a number or "all" - you really want to
|
|
1378
|
+
// keep this to 0 or 1. Ideally 0. "All" means you've scanned all databases - not good.
|
|
1379
|
+
//
|
|
1380
|
+
// For more info, see the above link to the MySQL docs.
|
|
1381
|
+
//
|
|
1382
|
+
// Something not noted in the docs is that complex `WHERE` clauses - such as `OR` expressions -
|
|
1383
|
+
// will cause the query to not hit the optimizations & do full scans. This is why
|
|
1384
|
+
// a number of queries below do `UNION`s of single `WHERE` clauses.
|
|
1385
|
+
const dbTables = [];
|
|
1386
|
+
if (!tableNames) {
|
|
1387
|
+
// Since we don't have any of this data we have to do a scan
|
|
1388
|
+
const tablesSql = `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\``;
|
|
1389
|
+
dbTables.push(...(await this.query(tablesSql)));
|
|
1390
|
+
}
|
|
1391
|
+
else {
|
|
1392
|
+
// Avoid data directory scan: TABLE_SCHEMA
|
|
1393
|
+
// Avoid database directory scan: TABLE_NAME
|
|
1394
|
+
// We only use `TABLE_SCHEMA` and `TABLE_NAME` which is `SKIP_OPEN_TABLE`
|
|
1395
|
+
const tablesSql = tableNames
|
|
1396
|
+
.filter((tableName) => tableName)
|
|
1397
|
+
.map((tableName) => {
|
|
1398
|
+
let { database, tableName: name } = this.driver.parseTableName(tableName);
|
|
1399
|
+
if (!database) {
|
|
1400
|
+
database = currentDatabase;
|
|
1401
|
+
}
|
|
1402
|
+
return `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\` WHERE \`TABLE_SCHEMA\` = '${database}' AND \`TABLE_NAME\` = '${name}'`;
|
|
1403
|
+
})
|
|
1404
|
+
.join(" UNION ");
|
|
1405
|
+
dbTables.push(...(await this.query(tablesSql)));
|
|
1406
|
+
}
|
|
1407
|
+
// if tables were not found in the db, no need to proceed
|
|
1408
|
+
if (!dbTables.length)
|
|
1409
|
+
return [];
|
|
1410
|
+
// Avoid data directory scan: TABLE_SCHEMA
|
|
1411
|
+
// Avoid database directory scan: TABLE_NAME
|
|
1412
|
+
// Full columns: CARDINALITY & INDEX_TYPE - everything else is FRM only
|
|
1413
|
+
const statsSubquerySql = dbTables
|
|
1414
|
+
.map(({ TABLE_SCHEMA, TABLE_NAME }) => {
|
|
1415
|
+
return `
|
|
1416
|
+
SELECT
|
|
1417
|
+
*
|
|
1418
|
+
FROM \`INFORMATION_SCHEMA\`.\`STATISTICS\`
|
|
1419
|
+
WHERE
|
|
1420
|
+
\`TABLE_SCHEMA\` = '${TABLE_SCHEMA}'
|
|
1421
|
+
AND
|
|
1422
|
+
\`TABLE_NAME\` = '${TABLE_NAME}'
|
|
1423
|
+
`;
|
|
1424
|
+
})
|
|
1425
|
+
.join(" UNION ");
|
|
1426
|
+
// Avoid data directory scan: TABLE_SCHEMA
|
|
1427
|
+
// Avoid database directory scan: TABLE_NAME
|
|
1428
|
+
// All columns will hit the full table.
|
|
1429
|
+
const kcuSubquerySql = dbTables
|
|
1430
|
+
.map(({ TABLE_SCHEMA, TABLE_NAME }) => {
|
|
1431
|
+
return `
|
|
1432
|
+
SELECT
|
|
1433
|
+
*
|
|
1434
|
+
FROM \`INFORMATION_SCHEMA\`.\`KEY_COLUMN_USAGE\` \`kcu\`
|
|
1435
|
+
WHERE
|
|
1436
|
+
\`kcu\`.\`TABLE_SCHEMA\` = '${TABLE_SCHEMA}'
|
|
1437
|
+
AND
|
|
1438
|
+
\`kcu\`.\`TABLE_NAME\` = '${TABLE_NAME}'
|
|
1439
|
+
`;
|
|
1440
|
+
})
|
|
1441
|
+
.join(" UNION ");
|
|
1442
|
+
// Avoid data directory scan: CONSTRAINT_SCHEMA
|
|
1443
|
+
// Avoid database directory scan: TABLE_NAME
|
|
1444
|
+
// All columns will hit the full table.
|
|
1445
|
+
const rcSubquerySql = dbTables
|
|
1446
|
+
.map(({ TABLE_SCHEMA, TABLE_NAME }) => {
|
|
1447
|
+
return `
|
|
1448
|
+
SELECT
|
|
1449
|
+
*
|
|
1450
|
+
FROM \`INFORMATION_SCHEMA\`.\`REFERENTIAL_CONSTRAINTS\`
|
|
1451
|
+
WHERE
|
|
1452
|
+
\`CONSTRAINT_SCHEMA\` = '${TABLE_SCHEMA}'
|
|
1453
|
+
AND
|
|
1454
|
+
\`TABLE_NAME\` = '${TABLE_NAME}'
|
|
1455
|
+
`;
|
|
1456
|
+
})
|
|
1457
|
+
.join(" UNION ");
|
|
1458
|
+
// Avoid data directory scan: TABLE_SCHEMA
|
|
1459
|
+
// Avoid database directory scan: TABLE_NAME
|
|
1460
|
+
// OPEN_FRM_ONLY applies to all columns
|
|
1461
|
+
const columnsSql = dbTables
|
|
1462
|
+
.map(({ TABLE_SCHEMA, TABLE_NAME }) => {
|
|
1463
|
+
return `
|
|
1464
|
+
SELECT
|
|
1465
|
+
*
|
|
1466
|
+
FROM
|
|
1467
|
+
\`INFORMATION_SCHEMA\`.\`COLUMNS\`
|
|
1468
|
+
WHERE
|
|
1469
|
+
\`TABLE_SCHEMA\` = '${TABLE_SCHEMA}'
|
|
1470
|
+
AND
|
|
1471
|
+
\`TABLE_NAME\` = '${TABLE_NAME}'
|
|
1472
|
+
`;
|
|
1473
|
+
})
|
|
1474
|
+
.join(" UNION ");
|
|
1475
|
+
// No Optimizations are available for COLLATIONS
|
|
1476
|
+
const collationsSql = `
|
|
1477
|
+
SELECT
|
|
1478
|
+
\`SCHEMA_NAME\`,
|
|
1479
|
+
\`DEFAULT_CHARACTER_SET_NAME\` as \`CHARSET\`,
|
|
1480
|
+
\`DEFAULT_COLLATION_NAME\` AS \`COLLATION\`
|
|
1481
|
+
FROM \`INFORMATION_SCHEMA\`.\`SCHEMATA\`
|
|
1482
|
+
`;
|
|
1483
|
+
// Key Column Usage but only for PKs
|
|
1484
|
+
const primaryKeySql = `SELECT * FROM (${kcuSubquerySql}) \`kcu\` WHERE \`CONSTRAINT_NAME\` = 'PRIMARY'`;
|
|
1485
|
+
// Combine stats & referential constraints
|
|
1486
|
+
const indicesSql = `
|
|
1487
|
+
SELECT
|
|
1488
|
+
\`s\`.*
|
|
1489
|
+
FROM (${statsSubquerySql}) \`s\`
|
|
1490
|
+
LEFT JOIN (${rcSubquerySql}) \`rc\`
|
|
1491
|
+
ON
|
|
1492
|
+
\`s\`.\`INDEX_NAME\` = \`rc\`.\`CONSTRAINT_NAME\`
|
|
1493
|
+
AND
|
|
1494
|
+
\`s\`.\`TABLE_SCHEMA\` = \`rc\`.\`CONSTRAINT_SCHEMA\`
|
|
1495
|
+
WHERE
|
|
1496
|
+
\`s\`.\`INDEX_NAME\` != 'PRIMARY'
|
|
1497
|
+
AND
|
|
1498
|
+
\`rc\`.\`CONSTRAINT_NAME\` IS NULL
|
|
1499
|
+
`;
|
|
1500
|
+
// Combine Key Column Usage & Referential Constraints
|
|
1501
|
+
const foreignKeysSql = `
|
|
1502
|
+
SELECT
|
|
1503
|
+
\`kcu\`.\`TABLE_SCHEMA\`,
|
|
1504
|
+
\`kcu\`.\`TABLE_NAME\`,
|
|
1505
|
+
\`kcu\`.\`CONSTRAINT_NAME\`,
|
|
1506
|
+
\`kcu\`.\`COLUMN_NAME\`,
|
|
1507
|
+
\`kcu\`.\`REFERENCED_TABLE_SCHEMA\`,
|
|
1508
|
+
\`kcu\`.\`REFERENCED_TABLE_NAME\`,
|
|
1509
|
+
\`kcu\`.\`REFERENCED_COLUMN_NAME\`,
|
|
1510
|
+
\`rc\`.\`DELETE_RULE\` \`ON_DELETE\`,
|
|
1511
|
+
\`rc\`.\`UPDATE_RULE\` \`ON_UPDATE\`
|
|
1512
|
+
FROM (${kcuSubquerySql}) \`kcu\`
|
|
1513
|
+
INNER JOIN (${rcSubquerySql}) \`rc\`
|
|
1514
|
+
ON
|
|
1515
|
+
\`rc\`.\`CONSTRAINT_SCHEMA\` = \`kcu\`.\`CONSTRAINT_SCHEMA\`
|
|
1516
|
+
AND
|
|
1517
|
+
\`rc\`.\`TABLE_NAME\` = \`kcu\`.\`TABLE_NAME\`
|
|
1518
|
+
AND
|
|
1519
|
+
\`rc\`.\`CONSTRAINT_NAME\` = \`kcu\`.\`CONSTRAINT_NAME\`
|
|
1520
|
+
`;
|
|
1521
|
+
const [dbColumns, dbPrimaryKeys, dbCollations, dbIndices, dbForeignKeys,] = await Promise.all([
|
|
1522
|
+
this.query(columnsSql),
|
|
1523
|
+
this.query(primaryKeySql),
|
|
1524
|
+
this.query(collationsSql),
|
|
1525
|
+
this.query(indicesSql),
|
|
1526
|
+
this.query(foreignKeysSql),
|
|
1527
|
+
]);
|
|
1528
|
+
const isMariaDb = this.driver.options.type === "mariadb";
|
|
1529
|
+
const dbVersion = await this.getVersion();
|
|
1530
|
+
// create tables for loaded tables
|
|
1531
|
+
return Promise.all(dbTables.map(async (dbTable) => {
|
|
1532
|
+
const table = new Table_1.Table();
|
|
1533
|
+
const dbCollation = dbCollations.find((coll) => coll["SCHEMA_NAME"] === dbTable["TABLE_SCHEMA"]);
|
|
1534
|
+
const defaultCollation = dbCollation["COLLATION"];
|
|
1535
|
+
const defaultCharset = dbCollation["CHARSET"];
|
|
1536
|
+
// We do not need to join database name, when database is by default.
|
|
1537
|
+
const db = dbTable["TABLE_SCHEMA"] === currentDatabase
|
|
1538
|
+
? undefined
|
|
1539
|
+
: dbTable["TABLE_SCHEMA"];
|
|
1540
|
+
table.database = dbTable["TABLE_SCHEMA"];
|
|
1541
|
+
table.name = this.driver.buildTableName(dbTable["TABLE_NAME"], undefined, db);
|
|
1542
|
+
// create columns from the loaded columns
|
|
1543
|
+
table.columns = await Promise.all(dbColumns
|
|
1544
|
+
.filter((dbColumn) => dbColumn["TABLE_NAME"] ===
|
|
1545
|
+
dbTable["TABLE_NAME"] &&
|
|
1546
|
+
dbColumn["TABLE_SCHEMA"] ===
|
|
1547
|
+
dbTable["TABLE_SCHEMA"])
|
|
1548
|
+
.map(async (dbColumn) => {
|
|
1549
|
+
const columnUniqueIndices = dbIndices.filter((dbIndex) => {
|
|
1550
|
+
return (dbIndex["TABLE_NAME"] ===
|
|
1551
|
+
dbTable["TABLE_NAME"] &&
|
|
1552
|
+
dbIndex["TABLE_SCHEMA"] ===
|
|
1553
|
+
dbTable["TABLE_SCHEMA"] &&
|
|
1554
|
+
dbIndex["COLUMN_NAME"] ===
|
|
1555
|
+
dbColumn["COLUMN_NAME"] &&
|
|
1556
|
+
parseInt(dbIndex["NON_UNIQUE"], 10) ===
|
|
1557
|
+
0);
|
|
1558
|
+
});
|
|
1559
|
+
const tableMetadata = this.connection.entityMetadatas.find((metadata) => this.getTablePath(table) ===
|
|
1560
|
+
this.getTablePath(metadata));
|
|
1561
|
+
const hasIgnoredIndex = columnUniqueIndices.length > 0 &&
|
|
1562
|
+
tableMetadata &&
|
|
1563
|
+
tableMetadata.indices.some((index) => {
|
|
1564
|
+
return columnUniqueIndices.some((uniqueIndex) => {
|
|
1565
|
+
return (index.name ===
|
|
1566
|
+
uniqueIndex["INDEX_NAME"] &&
|
|
1567
|
+
index.synchronize === false);
|
|
1568
|
+
});
|
|
1569
|
+
});
|
|
1570
|
+
const isConstraintComposite = columnUniqueIndices.every((uniqueIndex) => {
|
|
1571
|
+
return dbIndices.some((dbIndex) => dbIndex["INDEX_NAME"] ===
|
|
1572
|
+
uniqueIndex["INDEX_NAME"] &&
|
|
1573
|
+
dbIndex["COLUMN_NAME"] !==
|
|
1574
|
+
dbColumn["COLUMN_NAME"]);
|
|
1575
|
+
});
|
|
1576
|
+
const tableColumn = new TableColumn_1.TableColumn();
|
|
1577
|
+
tableColumn.name = dbColumn["COLUMN_NAME"];
|
|
1578
|
+
tableColumn.type =
|
|
1579
|
+
dbColumn["DATA_TYPE"].toLowerCase();
|
|
1580
|
+
// since mysql 8.0, "geometrycollection" returned as "geomcollection"
|
|
1581
|
+
// typeorm still use "geometrycollection"
|
|
1582
|
+
if (tableColumn.type === "geomcollection") {
|
|
1583
|
+
tableColumn.type = "geometrycollection";
|
|
1584
|
+
}
|
|
1585
|
+
tableColumn.zerofill =
|
|
1586
|
+
dbColumn["COLUMN_TYPE"].indexOf("zerofill") !==
|
|
1587
|
+
-1;
|
|
1588
|
+
tableColumn.unsigned = tableColumn.zerofill
|
|
1589
|
+
? true
|
|
1590
|
+
: dbColumn["COLUMN_TYPE"].indexOf("unsigned") !== -1;
|
|
1591
|
+
if (this.driver.withWidthColumnTypes.indexOf(tableColumn.type) !== -1) {
|
|
1592
|
+
const width = dbColumn["COLUMN_TYPE"].substring(dbColumn["COLUMN_TYPE"].indexOf("(") + 1, dbColumn["COLUMN_TYPE"].indexOf(")"));
|
|
1593
|
+
tableColumn.width =
|
|
1594
|
+
width &&
|
|
1595
|
+
!this.isDefaultColumnWidth(table, tableColumn, parseInt(width))
|
|
1596
|
+
? parseInt(width)
|
|
1597
|
+
: undefined;
|
|
1598
|
+
}
|
|
1599
|
+
if (dbColumn["COLUMN_DEFAULT"] === null ||
|
|
1600
|
+
dbColumn["COLUMN_DEFAULT"] === undefined ||
|
|
1601
|
+
(isMariaDb &&
|
|
1602
|
+
dbColumn["COLUMN_DEFAULT"] === "NULL")) {
|
|
1603
|
+
tableColumn.default = undefined;
|
|
1604
|
+
}
|
|
1605
|
+
else if (/^CURRENT_TIMESTAMP(\([0-9]*\))?$/i.test(dbColumn["COLUMN_DEFAULT"])) {
|
|
1606
|
+
// New versions of MariaDB return expressions in lowercase. We need to set it in
|
|
1607
|
+
// uppercase so the comparison in MysqlDriver#compareDefaultValues does not fail.
|
|
1608
|
+
tableColumn.default =
|
|
1609
|
+
dbColumn["COLUMN_DEFAULT"].toUpperCase();
|
|
1610
|
+
}
|
|
1611
|
+
else if (isMariaDb &&
|
|
1612
|
+
VersionUtils_1.VersionUtils.isGreaterOrEqual(dbVersion, "10.2.7")) {
|
|
1613
|
+
// MariaDB started adding quotes to literals in COLUMN_DEFAULT since version 10.2.7
|
|
1614
|
+
// See https://mariadb.com/kb/en/library/information-schema-columns-table/
|
|
1615
|
+
tableColumn.default = dbColumn["COLUMN_DEFAULT"];
|
|
1616
|
+
}
|
|
1617
|
+
else {
|
|
1618
|
+
tableColumn.default = `'${dbColumn["COLUMN_DEFAULT"]}'`;
|
|
1619
|
+
}
|
|
1620
|
+
if (dbColumn["EXTRA"].indexOf("on update") !== -1) {
|
|
1621
|
+
// New versions of MariaDB return expressions in lowercase. We need to set it in
|
|
1622
|
+
// uppercase so the comparison in MysqlDriver#compareExtraValues does not fail.
|
|
1623
|
+
tableColumn.onUpdate = dbColumn["EXTRA"]
|
|
1624
|
+
.substring(dbColumn["EXTRA"].indexOf("on update") +
|
|
1625
|
+
10)
|
|
1626
|
+
.toUpperCase();
|
|
1627
|
+
}
|
|
1628
|
+
if (dbColumn["GENERATION_EXPRESSION"]) {
|
|
1629
|
+
tableColumn.generatedType =
|
|
1630
|
+
dbColumn["EXTRA"].indexOf("VIRTUAL") !== -1
|
|
1631
|
+
? "VIRTUAL"
|
|
1632
|
+
: "STORED";
|
|
1633
|
+
// We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
|
|
1634
|
+
const asExpressionQuery = await this.selectTypeormMetadataSql({
|
|
1635
|
+
schema: dbTable["TABLE_SCHEMA"],
|
|
1636
|
+
table: dbTable["TABLE_NAME"],
|
|
1637
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
1638
|
+
name: tableColumn.name,
|
|
1639
|
+
});
|
|
1640
|
+
const results = await this.query(asExpressionQuery.query, asExpressionQuery.parameters);
|
|
1641
|
+
if (results[0] && results[0].value) {
|
|
1642
|
+
tableColumn.asExpression = results[0].value;
|
|
1643
|
+
}
|
|
1644
|
+
else {
|
|
1645
|
+
tableColumn.asExpression = "";
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
tableColumn.isUnique =
|
|
1649
|
+
columnUniqueIndices.length > 0 &&
|
|
1650
|
+
!hasIgnoredIndex &&
|
|
1651
|
+
!isConstraintComposite;
|
|
1652
|
+
if (isMariaDb && tableColumn.generatedType) {
|
|
1653
|
+
// do nothing - MariaDB does not support NULL/NOT NULL expressions for generated columns
|
|
1654
|
+
}
|
|
1655
|
+
else {
|
|
1656
|
+
tableColumn.isNullable =
|
|
1657
|
+
dbColumn["IS_NULLABLE"] === "YES";
|
|
1658
|
+
}
|
|
1659
|
+
tableColumn.isPrimary = dbPrimaryKeys.some((dbPrimaryKey) => {
|
|
1660
|
+
return (dbPrimaryKey["TABLE_NAME"] ===
|
|
1661
|
+
dbColumn["TABLE_NAME"] &&
|
|
1662
|
+
dbPrimaryKey["TABLE_SCHEMA"] ===
|
|
1663
|
+
dbColumn["TABLE_SCHEMA"] &&
|
|
1664
|
+
dbPrimaryKey["COLUMN_NAME"] ===
|
|
1665
|
+
dbColumn["COLUMN_NAME"]);
|
|
1666
|
+
});
|
|
1667
|
+
tableColumn.isGenerated =
|
|
1668
|
+
dbColumn["EXTRA"].indexOf("auto_increment") !==
|
|
1669
|
+
-1;
|
|
1670
|
+
if (tableColumn.isGenerated)
|
|
1671
|
+
tableColumn.generationStrategy = "increment";
|
|
1672
|
+
tableColumn.comment =
|
|
1673
|
+
typeof dbColumn["COLUMN_COMMENT"] ===
|
|
1674
|
+
"string" &&
|
|
1675
|
+
dbColumn["COLUMN_COMMENT"].length === 0
|
|
1676
|
+
? undefined
|
|
1677
|
+
: dbColumn["COLUMN_COMMENT"];
|
|
1678
|
+
if (dbColumn["CHARACTER_SET_NAME"])
|
|
1679
|
+
tableColumn.charset =
|
|
1680
|
+
dbColumn["CHARACTER_SET_NAME"] ===
|
|
1681
|
+
defaultCharset
|
|
1682
|
+
? undefined
|
|
1683
|
+
: dbColumn["CHARACTER_SET_NAME"];
|
|
1684
|
+
if (dbColumn["COLLATION_NAME"])
|
|
1685
|
+
tableColumn.collation =
|
|
1686
|
+
dbColumn["COLLATION_NAME"] ===
|
|
1687
|
+
defaultCollation
|
|
1688
|
+
? undefined
|
|
1689
|
+
: dbColumn["COLLATION_NAME"];
|
|
1690
|
+
// check only columns that have length property
|
|
1691
|
+
if (this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1 &&
|
|
1692
|
+
dbColumn["CHARACTER_MAXIMUM_LENGTH"]) {
|
|
1693
|
+
const length = dbColumn["CHARACTER_MAXIMUM_LENGTH"].toString();
|
|
1694
|
+
tableColumn.length =
|
|
1695
|
+
!this.isDefaultColumnLength(table, tableColumn, length)
|
|
1696
|
+
? length
|
|
1697
|
+
: "";
|
|
1698
|
+
}
|
|
1699
|
+
if (tableColumn.type === "decimal" ||
|
|
1700
|
+
tableColumn.type === "double" ||
|
|
1701
|
+
tableColumn.type === "float") {
|
|
1702
|
+
if (dbColumn["NUMERIC_PRECISION"] !== null &&
|
|
1703
|
+
!this.isDefaultColumnPrecision(table, tableColumn, dbColumn["NUMERIC_PRECISION"]))
|
|
1704
|
+
tableColumn.precision = parseInt(dbColumn["NUMERIC_PRECISION"]);
|
|
1705
|
+
if (dbColumn["NUMERIC_SCALE"] !== null &&
|
|
1706
|
+
!this.isDefaultColumnScale(table, tableColumn, dbColumn["NUMERIC_SCALE"]))
|
|
1707
|
+
tableColumn.scale = parseInt(dbColumn["NUMERIC_SCALE"]);
|
|
1708
|
+
}
|
|
1709
|
+
if (tableColumn.type === "enum" ||
|
|
1710
|
+
tableColumn.type === "simple-enum" ||
|
|
1711
|
+
tableColumn.type === "set") {
|
|
1712
|
+
const colType = dbColumn["COLUMN_TYPE"];
|
|
1713
|
+
const items = colType
|
|
1714
|
+
.substring(colType.indexOf("(") + 1, colType.lastIndexOf(")"))
|
|
1715
|
+
.split(",");
|
|
1716
|
+
tableColumn.enum = items.map((item) => {
|
|
1717
|
+
return item.substring(1, item.length - 1);
|
|
1718
|
+
});
|
|
1719
|
+
tableColumn.length = "";
|
|
1720
|
+
}
|
|
1721
|
+
if ((tableColumn.type === "datetime" ||
|
|
1722
|
+
tableColumn.type === "time" ||
|
|
1723
|
+
tableColumn.type === "timestamp") &&
|
|
1724
|
+
dbColumn["DATETIME_PRECISION"] !== null &&
|
|
1725
|
+
dbColumn["DATETIME_PRECISION"] !== undefined &&
|
|
1726
|
+
!this.isDefaultColumnPrecision(table, tableColumn, parseInt(dbColumn["DATETIME_PRECISION"]))) {
|
|
1727
|
+
tableColumn.precision = parseInt(dbColumn["DATETIME_PRECISION"]);
|
|
1728
|
+
}
|
|
1729
|
+
return tableColumn;
|
|
1730
|
+
}));
|
|
1731
|
+
// find foreign key constraints of table, group them by constraint name and build TableForeignKey.
|
|
1732
|
+
const tableForeignKeyConstraints = OrmUtils_1.OrmUtils.uniq(dbForeignKeys.filter((dbForeignKey) => {
|
|
1733
|
+
return (dbForeignKey["TABLE_NAME"] ===
|
|
1734
|
+
dbTable["TABLE_NAME"] &&
|
|
1735
|
+
dbForeignKey["TABLE_SCHEMA"] ===
|
|
1736
|
+
dbTable["TABLE_SCHEMA"]);
|
|
1737
|
+
}), (dbForeignKey) => dbForeignKey["CONSTRAINT_NAME"]);
|
|
1738
|
+
table.foreignKeys = tableForeignKeyConstraints.map((dbForeignKey) => {
|
|
1739
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
1740
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
1741
|
+
// if referenced table located in currently used db, we don't need to concat db name to table name.
|
|
1742
|
+
const database = dbForeignKey["REFERENCED_TABLE_SCHEMA"] ===
|
|
1743
|
+
currentDatabase
|
|
1744
|
+
? undefined
|
|
1745
|
+
: dbForeignKey["REFERENCED_TABLE_SCHEMA"];
|
|
1746
|
+
const referencedTableName = this.driver.buildTableName(dbForeignKey["REFERENCED_TABLE_NAME"], undefined, database);
|
|
1747
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
1748
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
1749
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
1750
|
+
referencedDatabase: dbForeignKey["REFERENCED_TABLE_SCHEMA"],
|
|
1751
|
+
referencedTableName: referencedTableName,
|
|
1752
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
1753
|
+
onDelete: dbForeignKey["ON_DELETE"],
|
|
1754
|
+
onUpdate: dbForeignKey["ON_UPDATE"],
|
|
1755
|
+
});
|
|
1756
|
+
});
|
|
1757
|
+
// find index constraints of table, group them by constraint name and build TableIndex.
|
|
1758
|
+
const tableIndexConstraints = OrmUtils_1.OrmUtils.uniq(dbIndices.filter((dbIndex) => dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
|
|
1759
|
+
dbIndex["TABLE_SCHEMA"] === dbTable["TABLE_SCHEMA"]), (dbIndex) => dbIndex["INDEX_NAME"]);
|
|
1760
|
+
table.indices = tableIndexConstraints.map((constraint) => {
|
|
1761
|
+
const indices = dbIndices.filter((index) => {
|
|
1762
|
+
return (index["TABLE_SCHEMA"] ===
|
|
1763
|
+
constraint["TABLE_SCHEMA"] &&
|
|
1764
|
+
index["TABLE_NAME"] === constraint["TABLE_NAME"] &&
|
|
1765
|
+
index["INDEX_NAME"] === constraint["INDEX_NAME"]);
|
|
1766
|
+
});
|
|
1767
|
+
const nonUnique = parseInt(constraint["NON_UNIQUE"], 10);
|
|
1768
|
+
return new TableIndex_1.TableIndex({
|
|
1769
|
+
table: table,
|
|
1770
|
+
name: constraint["INDEX_NAME"],
|
|
1771
|
+
columnNames: indices.map((i) => i["COLUMN_NAME"]),
|
|
1772
|
+
isUnique: nonUnique === 0,
|
|
1773
|
+
isSpatial: constraint["INDEX_TYPE"] === "SPATIAL",
|
|
1774
|
+
isFulltext: constraint["INDEX_TYPE"] === "FULLTEXT",
|
|
1775
|
+
});
|
|
1776
|
+
});
|
|
1777
|
+
return table;
|
|
1778
|
+
}));
|
|
1779
|
+
}
|
|
1780
|
+
/**
|
|
1781
|
+
* Builds create table sql
|
|
1782
|
+
*/
|
|
1783
|
+
createTableSql(table, createForeignKeys) {
|
|
1784
|
+
const columnDefinitions = table.columns
|
|
1785
|
+
.map((column) => this.buildCreateColumnSql(column, true))
|
|
1786
|
+
.join(", ");
|
|
1787
|
+
let sql = `CREATE TABLE ${this.escapePath(table)} (${columnDefinitions}`;
|
|
1788
|
+
// we create unique indexes instead of unique constraints, because MySql does not have unique constraints.
|
|
1789
|
+
// if we mark column as Unique, it means that we create UNIQUE INDEX.
|
|
1790
|
+
table.columns
|
|
1791
|
+
.filter((column) => column.isUnique)
|
|
1792
|
+
.forEach((column) => {
|
|
1793
|
+
const isUniqueIndexExist = table.indices.some((index) => {
|
|
1794
|
+
return (index.columnNames.length === 1 &&
|
|
1795
|
+
!!index.isUnique &&
|
|
1796
|
+
index.columnNames.indexOf(column.name) !== -1);
|
|
1797
|
+
});
|
|
1798
|
+
const isUniqueConstraintExist = table.uniques.some((unique) => {
|
|
1799
|
+
return (unique.columnNames.length === 1 &&
|
|
1800
|
+
unique.columnNames.indexOf(column.name) !== -1);
|
|
1801
|
+
});
|
|
1802
|
+
if (!isUniqueIndexExist && !isUniqueConstraintExist)
|
|
1803
|
+
table.indices.push(new TableIndex_1.TableIndex({
|
|
1804
|
+
name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]),
|
|
1805
|
+
columnNames: [column.name],
|
|
1806
|
+
isUnique: true,
|
|
1807
|
+
}));
|
|
1808
|
+
});
|
|
1809
|
+
// as MySql does not have unique constraints, we must create table indices from table uniques and mark them as unique.
|
|
1810
|
+
if (table.uniques.length > 0) {
|
|
1811
|
+
table.uniques.forEach((unique) => {
|
|
1812
|
+
const uniqueExist = table.indices.some((index) => index.name === unique.name);
|
|
1813
|
+
if (!uniqueExist) {
|
|
1814
|
+
table.indices.push(new TableIndex_1.TableIndex({
|
|
1815
|
+
name: unique.name,
|
|
1816
|
+
columnNames: unique.columnNames,
|
|
1817
|
+
isUnique: true,
|
|
1818
|
+
}));
|
|
1819
|
+
}
|
|
1820
|
+
});
|
|
1821
|
+
}
|
|
1822
|
+
if (table.indices.length > 0) {
|
|
1823
|
+
const indicesSql = table.indices
|
|
1824
|
+
.map((index) => {
|
|
1825
|
+
const columnNames = index.columnNames
|
|
1826
|
+
.map((columnName) => `\`${columnName}\``)
|
|
1827
|
+
.join(", ");
|
|
1828
|
+
if (!index.name)
|
|
1829
|
+
index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where);
|
|
1830
|
+
let indexType = "";
|
|
1831
|
+
if (index.isUnique)
|
|
1832
|
+
indexType += "UNIQUE ";
|
|
1833
|
+
if (index.isSpatial)
|
|
1834
|
+
indexType += "SPATIAL ";
|
|
1835
|
+
if (index.isFulltext)
|
|
1836
|
+
indexType += "FULLTEXT ";
|
|
1837
|
+
const indexParser = index.isFulltext && index.parser
|
|
1838
|
+
? ` WITH PARSER ${index.parser}`
|
|
1839
|
+
: "";
|
|
1840
|
+
return `${indexType}INDEX \`${index.name}\` (${columnNames})${indexParser}`;
|
|
1841
|
+
})
|
|
1842
|
+
.join(", ");
|
|
1843
|
+
sql += `, ${indicesSql}`;
|
|
1844
|
+
}
|
|
1845
|
+
if (table.foreignKeys.length > 0 && createForeignKeys) {
|
|
1846
|
+
const foreignKeysSql = table.foreignKeys
|
|
1847
|
+
.map((fk) => {
|
|
1848
|
+
const columnNames = fk.columnNames
|
|
1849
|
+
.map((columnName) => `\`${columnName}\``)
|
|
1850
|
+
.join(", ");
|
|
1851
|
+
if (!fk.name)
|
|
1852
|
+
fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
|
|
1853
|
+
const referencedColumnNames = fk.referencedColumnNames
|
|
1854
|
+
.map((columnName) => `\`${columnName}\``)
|
|
1855
|
+
.join(", ");
|
|
1856
|
+
let constraint = `CONSTRAINT \`${fk.name}\` FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(this.getTablePath(fk))} (${referencedColumnNames})`;
|
|
1857
|
+
if (fk.onDelete)
|
|
1858
|
+
constraint += ` ON DELETE ${fk.onDelete}`;
|
|
1859
|
+
if (fk.onUpdate)
|
|
1860
|
+
constraint += ` ON UPDATE ${fk.onUpdate}`;
|
|
1861
|
+
return constraint;
|
|
1862
|
+
})
|
|
1863
|
+
.join(", ");
|
|
1864
|
+
sql += `, ${foreignKeysSql}`;
|
|
1865
|
+
}
|
|
1866
|
+
if (table.primaryColumns.length > 0) {
|
|
1867
|
+
const columnNames = table.primaryColumns
|
|
1868
|
+
.map((column) => `\`${column.name}\``)
|
|
1869
|
+
.join(", ");
|
|
1870
|
+
sql += `, PRIMARY KEY (${columnNames})`;
|
|
1871
|
+
}
|
|
1872
|
+
sql += `) ENGINE=${table.engine || "InnoDB"}`;
|
|
1873
|
+
return new Query_1.Query(sql);
|
|
1874
|
+
}
|
|
1875
|
+
/**
|
|
1876
|
+
* Builds drop table sql
|
|
1877
|
+
*/
|
|
1878
|
+
dropTableSql(tableOrName) {
|
|
1879
|
+
return new Query_1.Query(`DROP TABLE ${this.escapePath(tableOrName)}`);
|
|
1880
|
+
}
|
|
1881
|
+
createViewSql(view) {
|
|
1882
|
+
if (typeof view.expression === "string") {
|
|
1883
|
+
return new Query_1.Query(`CREATE VIEW ${this.escapePath(view)} AS ${view.expression}`);
|
|
1884
|
+
}
|
|
1885
|
+
else {
|
|
1886
|
+
return new Query_1.Query(`CREATE VIEW ${this.escapePath(view)} AS ${view
|
|
1887
|
+
.expression(this.connection)
|
|
1888
|
+
.getQuery()}`);
|
|
1889
|
+
}
|
|
1890
|
+
}
|
|
1891
|
+
async insertViewDefinitionSql(view) {
|
|
1892
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
1893
|
+
const expression = typeof view.expression === "string"
|
|
1894
|
+
? view.expression.trim()
|
|
1895
|
+
: view.expression(this.connection).getQuery();
|
|
1896
|
+
return this.insertTypeormMetadataSql({
|
|
1897
|
+
type: MetadataTableType_1.MetadataTableType.VIEW,
|
|
1898
|
+
schema: currentDatabase,
|
|
1899
|
+
name: view.name,
|
|
1900
|
+
value: expression,
|
|
1901
|
+
});
|
|
1902
|
+
}
|
|
1903
|
+
/**
|
|
1904
|
+
* Builds drop view sql.
|
|
1905
|
+
*/
|
|
1906
|
+
dropViewSql(viewOrPath) {
|
|
1907
|
+
return new Query_1.Query(`DROP VIEW ${this.escapePath(viewOrPath)}`);
|
|
1908
|
+
}
|
|
1909
|
+
/**
|
|
1910
|
+
* Builds remove view sql.
|
|
1911
|
+
*/
|
|
1912
|
+
async deleteViewDefinitionSql(viewOrPath) {
|
|
1913
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
1914
|
+
const viewName = InstanceChecker_1.InstanceChecker.isView(viewOrPath)
|
|
1915
|
+
? viewOrPath.name
|
|
1916
|
+
: viewOrPath;
|
|
1917
|
+
return this.deleteTypeormMetadataSql({
|
|
1918
|
+
type: MetadataTableType_1.MetadataTableType.VIEW,
|
|
1919
|
+
schema: currentDatabase,
|
|
1920
|
+
name: viewName,
|
|
1921
|
+
});
|
|
1922
|
+
}
|
|
1923
|
+
/**
|
|
1924
|
+
* Builds create index sql.
|
|
1925
|
+
*/
|
|
1926
|
+
createIndexSql(table, index) {
|
|
1927
|
+
const columns = index.columnNames
|
|
1928
|
+
.map((columnName) => `\`${columnName}\``)
|
|
1929
|
+
.join(", ");
|
|
1930
|
+
let indexType = "";
|
|
1931
|
+
if (index.isUnique)
|
|
1932
|
+
indexType += "UNIQUE ";
|
|
1933
|
+
if (index.isSpatial)
|
|
1934
|
+
indexType += "SPATIAL ";
|
|
1935
|
+
if (index.isFulltext)
|
|
1936
|
+
indexType += "FULLTEXT ";
|
|
1937
|
+
const indexParser = index.isFulltext && index.parser
|
|
1938
|
+
? ` WITH PARSER ${index.parser}`
|
|
1939
|
+
: "";
|
|
1940
|
+
return new Query_1.Query(`CREATE ${indexType}INDEX \`${index.name}\` ON ${this.escapePath(table)} (${columns})${indexParser}`);
|
|
1941
|
+
}
|
|
1942
|
+
/**
|
|
1943
|
+
* Builds drop index sql.
|
|
1944
|
+
*/
|
|
1945
|
+
dropIndexSql(table, indexOrName) {
|
|
1946
|
+
let indexName = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
|
|
1947
|
+
? indexOrName.name
|
|
1948
|
+
: indexOrName;
|
|
1949
|
+
return new Query_1.Query(`DROP INDEX \`${indexName}\` ON ${this.escapePath(table)}`);
|
|
1950
|
+
}
|
|
1951
|
+
/**
|
|
1952
|
+
* Builds create primary key sql.
|
|
1953
|
+
*/
|
|
1954
|
+
createPrimaryKeySql(table, columnNames) {
|
|
1955
|
+
const columnNamesString = columnNames
|
|
1956
|
+
.map((columnName) => `\`${columnName}\``)
|
|
1957
|
+
.join(", ");
|
|
1958
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD PRIMARY KEY (${columnNamesString})`);
|
|
1959
|
+
}
|
|
1960
|
+
/**
|
|
1961
|
+
* Builds drop primary key sql.
|
|
1962
|
+
*/
|
|
1963
|
+
dropPrimaryKeySql(table) {
|
|
1964
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP PRIMARY KEY`);
|
|
1965
|
+
}
|
|
1966
|
+
/**
|
|
1967
|
+
* Builds create foreign key sql.
|
|
1968
|
+
*/
|
|
1969
|
+
createForeignKeySql(table, foreignKey) {
|
|
1970
|
+
const columnNames = foreignKey.columnNames
|
|
1971
|
+
.map((column) => `\`${column}\``)
|
|
1972
|
+
.join(", ");
|
|
1973
|
+
const referencedColumnNames = foreignKey.referencedColumnNames
|
|
1974
|
+
.map((column) => `\`${column}\``)
|
|
1975
|
+
.join(",");
|
|
1976
|
+
let sql = `ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT \`${foreignKey.name}\` FOREIGN KEY (${columnNames}) ` +
|
|
1977
|
+
`REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
|
|
1978
|
+
if (foreignKey.onDelete)
|
|
1979
|
+
sql += ` ON DELETE ${foreignKey.onDelete}`;
|
|
1980
|
+
if (foreignKey.onUpdate)
|
|
1981
|
+
sql += ` ON UPDATE ${foreignKey.onUpdate}`;
|
|
1982
|
+
return new Query_1.Query(sql);
|
|
1983
|
+
}
|
|
1984
|
+
/**
|
|
1985
|
+
* Builds drop foreign key sql.
|
|
1986
|
+
*/
|
|
1987
|
+
dropForeignKeySql(table, foreignKeyOrName) {
|
|
1988
|
+
const foreignKeyName = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
|
|
1989
|
+
? foreignKeyOrName.name
|
|
1990
|
+
: foreignKeyOrName;
|
|
1991
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP FOREIGN KEY \`${foreignKeyName}\``);
|
|
1992
|
+
}
|
|
1993
|
+
/**
|
|
1994
|
+
* Escapes a given comment so it's safe to include in a query.
|
|
1995
|
+
*/
|
|
1996
|
+
escapeComment(comment) {
|
|
1997
|
+
if (!comment || comment.length === 0) {
|
|
1998
|
+
return `''`;
|
|
1999
|
+
}
|
|
2000
|
+
comment = comment
|
|
2001
|
+
.replace(/\\/g, "\\\\") // MySQL allows escaping characters via backslashes
|
|
2002
|
+
.replace(/'/g, "''")
|
|
2003
|
+
.replace(/\u0000/g, ""); // Null bytes aren't allowed in comments
|
|
2004
|
+
return `'${comment}'`;
|
|
2005
|
+
}
|
|
2006
|
+
/**
|
|
2007
|
+
* Escapes given table or view path.
|
|
2008
|
+
*/
|
|
2009
|
+
escapePath(target) {
|
|
2010
|
+
const { database, tableName } = this.driver.parseTableName(target);
|
|
2011
|
+
if (database && database !== this.driver.database) {
|
|
2012
|
+
return `\`${database}\`.\`${tableName}\``;
|
|
2013
|
+
}
|
|
2014
|
+
return `\`${tableName}\``;
|
|
2015
|
+
}
|
|
2016
|
+
/**
|
|
2017
|
+
* Builds a part of query to create/change a column.
|
|
2018
|
+
*/
|
|
2019
|
+
buildCreateColumnSql(column, skipPrimary, skipName = false) {
|
|
2020
|
+
let c = "";
|
|
2021
|
+
if (skipName) {
|
|
2022
|
+
c = this.connection.driver.createFullType(column);
|
|
2023
|
+
}
|
|
2024
|
+
else {
|
|
2025
|
+
c = `\`${column.name}\` ${this.connection.driver.createFullType(column)}`;
|
|
2026
|
+
}
|
|
2027
|
+
if (column.charset)
|
|
2028
|
+
c += ` CHARACTER SET "${column.charset}"`;
|
|
2029
|
+
if (column.collation)
|
|
2030
|
+
c += ` COLLATE "${column.collation}"`;
|
|
2031
|
+
if (column.asExpression)
|
|
2032
|
+
c += ` AS (${column.asExpression}) ${column.generatedType ? column.generatedType : "VIRTUAL"}`;
|
|
2033
|
+
// if you specify ZEROFILL for a numeric column, MySQL automatically adds the UNSIGNED attribute to that column.
|
|
2034
|
+
if (column.zerofill) {
|
|
2035
|
+
c += " ZEROFILL";
|
|
2036
|
+
}
|
|
2037
|
+
else if (column.unsigned) {
|
|
2038
|
+
c += " UNSIGNED";
|
|
2039
|
+
}
|
|
2040
|
+
if (column.enum)
|
|
2041
|
+
c += ` (${column.enum
|
|
2042
|
+
.map((value) => "'" + value.replace(/'/g, "''") + "'")
|
|
2043
|
+
.join(", ")})`;
|
|
2044
|
+
const isMariaDb = this.driver.options.type === "mariadb";
|
|
2045
|
+
if (isMariaDb &&
|
|
2046
|
+
column.asExpression &&
|
|
2047
|
+
["VIRTUAL", "STORED"].includes(column.generatedType || "VIRTUAL")) {
|
|
2048
|
+
// do nothing - MariaDB does not support NULL/NOT NULL expressions for VIRTUAL columns and STORED columns
|
|
2049
|
+
}
|
|
2050
|
+
else {
|
|
2051
|
+
if (!column.isNullable)
|
|
2052
|
+
c += " NOT NULL";
|
|
2053
|
+
if (column.isNullable)
|
|
2054
|
+
c += " NULL";
|
|
2055
|
+
}
|
|
2056
|
+
if (column.isPrimary && !skipPrimary)
|
|
2057
|
+
c += " PRIMARY KEY";
|
|
2058
|
+
if (column.isGenerated && column.generationStrategy === "increment")
|
|
2059
|
+
// don't use skipPrimary here since updates can update already exist primary without auto inc.
|
|
2060
|
+
c += " AUTO_INCREMENT";
|
|
2061
|
+
if (column.comment && column.comment.length > 0)
|
|
2062
|
+
c += ` COMMENT ${this.escapeComment(column.comment)}`;
|
|
2063
|
+
if (column.default !== undefined && column.default !== null)
|
|
2064
|
+
c += ` DEFAULT ${column.default}`;
|
|
2065
|
+
if (column.onUpdate)
|
|
2066
|
+
c += ` ON UPDATE ${column.onUpdate}`;
|
|
2067
|
+
return c;
|
|
2068
|
+
}
|
|
2069
|
+
async getVersion() {
|
|
2070
|
+
const result = await this.query(`SELECT VERSION() AS \`version\``);
|
|
2071
|
+
return result[0]["version"];
|
|
2072
|
+
}
|
|
2073
|
+
/**
|
|
2074
|
+
* Checks if column display width is by default.
|
|
2075
|
+
*/
|
|
2076
|
+
isDefaultColumnWidth(table, column, width) {
|
|
2077
|
+
// if table have metadata, we check if length is specified in column metadata
|
|
2078
|
+
if (this.connection.hasMetadata(table.name)) {
|
|
2079
|
+
const metadata = this.connection.getMetadata(table.name);
|
|
2080
|
+
const columnMetadata = metadata.findColumnWithDatabaseName(column.name);
|
|
2081
|
+
if (columnMetadata && columnMetadata.width)
|
|
2082
|
+
return false;
|
|
2083
|
+
}
|
|
2084
|
+
const defaultWidthForType = this.connection.driver.dataTypeDefaults &&
|
|
2085
|
+
this.connection.driver.dataTypeDefaults[column.type] &&
|
|
2086
|
+
this.connection.driver.dataTypeDefaults[column.type].width;
|
|
2087
|
+
if (defaultWidthForType) {
|
|
2088
|
+
// In MariaDB & MySQL 5.7, the default widths of certain numeric types are 1 less than
|
|
2089
|
+
// the usual defaults when the column is unsigned.
|
|
2090
|
+
const typesWithReducedUnsignedDefault = [
|
|
2091
|
+
"int",
|
|
2092
|
+
"tinyint",
|
|
2093
|
+
"smallint",
|
|
2094
|
+
"mediumint",
|
|
2095
|
+
];
|
|
2096
|
+
const needsAdjustment = typesWithReducedUnsignedDefault.indexOf(column.type) !== -1;
|
|
2097
|
+
if (column.unsigned && needsAdjustment) {
|
|
2098
|
+
return defaultWidthForType - 1 === width;
|
|
2099
|
+
}
|
|
2100
|
+
else {
|
|
2101
|
+
return defaultWidthForType === width;
|
|
2102
|
+
}
|
|
2103
|
+
}
|
|
2104
|
+
return false;
|
|
2105
|
+
}
|
|
2106
|
+
}
|
|
2107
|
+
exports.MysqlQueryRunner = MysqlQueryRunner;
|
|
2108
|
+
//#endregion
|
|
2109
|
+
//# sourceMappingURL=MysqlQueryRunner.js.map
|