@lakutata/orm 3.0.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +160 -76
- package/README.zh-CN.md +452 -0
- package/THIRD_PARTY_NOTICES.md +260 -4
- package/dist/cjs/components/Database.d.ts +31 -22
- package/dist/cjs/components/Database.js +14 -5
- package/dist/cjs/decorators/orm/AfterInsert.d.ts +1 -1
- package/dist/cjs/decorators/orm/AfterInsert.js +1 -1
- package/dist/cjs/decorators/orm/AfterLoad.d.ts +1 -1
- package/dist/cjs/decorators/orm/AfterLoad.js +1 -1
- package/dist/cjs/decorators/orm/AfterRecover.d.ts +1 -1
- package/dist/cjs/decorators/orm/AfterRecover.js +1 -1
- package/dist/cjs/decorators/orm/AfterRemove.d.ts +1 -1
- package/dist/cjs/decorators/orm/AfterRemove.js +1 -1
- package/dist/cjs/decorators/orm/AfterSoftRemove.d.ts +1 -1
- package/dist/cjs/decorators/orm/AfterSoftRemove.js +1 -1
- package/dist/cjs/decorators/orm/AfterUpdate.d.ts +1 -1
- package/dist/cjs/decorators/orm/AfterUpdate.js +1 -1
- package/dist/cjs/decorators/orm/BeforeInsert.d.ts +1 -1
- package/dist/cjs/decorators/orm/BeforeInsert.js +1 -1
- package/dist/cjs/decorators/orm/BeforeRecover.d.ts +1 -1
- package/dist/cjs/decorators/orm/BeforeRecover.js +1 -1
- package/dist/cjs/decorators/orm/BeforeRemove.d.ts +1 -1
- package/dist/cjs/decorators/orm/BeforeRemove.js +1 -1
- package/dist/cjs/decorators/orm/BeforeSoftRemove.d.ts +1 -1
- package/dist/cjs/decorators/orm/BeforeSoftRemove.js +1 -1
- package/dist/cjs/decorators/orm/BeforeUpdate.d.ts +1 -1
- package/dist/cjs/decorators/orm/BeforeUpdate.js +1 -1
- package/dist/cjs/decorators/orm/Check.d.ts +1 -1
- package/dist/cjs/decorators/orm/Check.js +1 -1
- package/dist/cjs/decorators/orm/ChildEntity.d.ts +1 -1
- package/dist/cjs/decorators/orm/ChildEntity.js +1 -1
- package/dist/cjs/decorators/orm/Column.d.ts +1 -1
- package/dist/cjs/decorators/orm/Column.js +1 -1
- package/dist/cjs/decorators/orm/CreateDateColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/CreateDateColumn.js +1 -1
- package/dist/cjs/decorators/orm/DeleteDateColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/DeleteDateColumn.js +1 -1
- package/dist/cjs/decorators/orm/Entity.d.ts +1 -1
- package/dist/cjs/decorators/orm/Entity.js +1 -1
- package/dist/cjs/decorators/orm/EventSubscriber.d.ts +1 -1
- package/dist/cjs/decorators/orm/EventSubscriber.js +1 -1
- package/dist/cjs/decorators/orm/Exclusion.d.ts +1 -1
- package/dist/cjs/decorators/orm/Exclusion.js +1 -1
- package/dist/cjs/decorators/orm/Generated.d.ts +1 -1
- package/dist/cjs/decorators/orm/Generated.js +1 -1
- package/dist/cjs/decorators/orm/Index.d.ts +1 -1
- package/dist/cjs/decorators/orm/Index.js +1 -1
- package/dist/cjs/decorators/orm/JoinColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/JoinColumn.js +1 -1
- package/dist/cjs/decorators/orm/JoinTable.d.ts +1 -1
- package/dist/cjs/decorators/orm/JoinTable.js +1 -1
- package/dist/cjs/decorators/orm/ManyToMany.d.ts +1 -1
- package/dist/cjs/decorators/orm/ManyToMany.js +1 -1
- package/dist/cjs/decorators/orm/ManyToOne.d.ts +1 -1
- package/dist/cjs/decorators/orm/ManyToOne.js +1 -1
- package/dist/cjs/decorators/orm/ObjectIdColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/ObjectIdColumn.js +1 -1
- package/dist/cjs/decorators/orm/OneToMany.d.ts +1 -1
- package/dist/cjs/decorators/orm/OneToMany.js +1 -1
- package/dist/cjs/decorators/orm/OneToOne.d.ts +1 -1
- package/dist/cjs/decorators/orm/OneToOne.js +1 -1
- package/dist/cjs/decorators/orm/PrimaryColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/PrimaryColumn.js +1 -1
- package/dist/cjs/decorators/orm/PrimaryGeneratedColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/PrimaryGeneratedColumn.js +1 -1
- package/dist/cjs/decorators/orm/RelationId.d.ts +1 -1
- package/dist/cjs/decorators/orm/RelationId.js +1 -1
- package/dist/cjs/decorators/orm/TableInheritance.d.ts +1 -1
- package/dist/cjs/decorators/orm/TableInheritance.js +1 -1
- package/dist/cjs/decorators/orm/Tree.d.ts +1 -1
- package/dist/cjs/decorators/orm/Tree.js +1 -1
- package/dist/cjs/decorators/orm/TreeChildren.d.ts +1 -1
- package/dist/cjs/decorators/orm/TreeChildren.js +1 -1
- package/dist/cjs/decorators/orm/TreeLevelColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/TreeLevelColumn.js +1 -1
- package/dist/cjs/decorators/orm/TreeParent.d.ts +1 -1
- package/dist/cjs/decorators/orm/TreeParent.js +1 -1
- package/dist/cjs/decorators/orm/Unique.d.ts +1 -1
- package/dist/cjs/decorators/orm/Unique.js +1 -1
- package/dist/cjs/decorators/orm/UpdateDateColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/UpdateDateColumn.js +1 -1
- package/dist/cjs/decorators/orm/VersionColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/VersionColumn.js +1 -1
- package/dist/cjs/decorators/orm/ViewColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/ViewColumn.js +1 -1
- package/dist/cjs/decorators/orm/ViewEntity.d.ts +1 -1
- package/dist/cjs/decorators/orm/ViewEntity.js +1 -1
- package/dist/cjs/decorators/orm/VirtualColumn.d.ts +1 -1
- package/dist/cjs/decorators/orm/VirtualColumn.js +1 -1
- package/dist/cjs/exports/ORM.d.ts +189 -192
- package/dist/cjs/exports/ORM.js +120 -121
- package/dist/cjs/lib/ConnectionOptions.d.ts +10 -0
- package/dist/cjs/lib/ConnectionOptions.js +17 -0
- package/dist/cjs/providers/Database.d.ts +33 -26
- package/dist/cjs/providers/Database.js +15 -8
- package/dist/cjs/providers/migration/ExecuteMigration.d.ts +5 -4
- package/dist/cjs/providers/migration/ExecuteMigration.js +9 -5
- package/dist/cjs/providers/migration/GenerateMigration.d.ts +35 -5
- package/dist/cjs/providers/migration/GenerateMigration.js +30 -10
- package/dist/cjs/types/LegacyConnectionOptions.d.ts +102 -0
- package/dist/cjs/types/LegacyConnectionOptions.js +2 -0
- package/dist/cjs/types/MigrationRunOptions.d.ts +4 -1
- package/dist/esm/components/Database.js +14 -5
- package/dist/esm/decorators/orm/AfterInsert.js +1 -1
- package/dist/esm/decorators/orm/AfterLoad.js +1 -1
- package/dist/esm/decorators/orm/AfterRecover.js +1 -1
- package/dist/esm/decorators/orm/AfterRemove.js +1 -1
- package/dist/esm/decorators/orm/AfterSoftRemove.js +1 -1
- package/dist/esm/decorators/orm/AfterUpdate.js +1 -1
- package/dist/esm/decorators/orm/BeforeInsert.js +1 -1
- package/dist/esm/decorators/orm/BeforeRecover.js +1 -1
- package/dist/esm/decorators/orm/BeforeRemove.js +1 -1
- package/dist/esm/decorators/orm/BeforeSoftRemove.js +1 -1
- package/dist/esm/decorators/orm/BeforeUpdate.js +1 -1
- package/dist/esm/decorators/orm/Check.js +1 -1
- package/dist/esm/decorators/orm/ChildEntity.js +1 -1
- package/dist/esm/decorators/orm/Column.js +1 -1
- package/dist/esm/decorators/orm/CreateDateColumn.js +1 -1
- package/dist/esm/decorators/orm/DeleteDateColumn.js +1 -1
- package/dist/esm/decorators/orm/Entity.js +1 -1
- package/dist/esm/decorators/orm/EventSubscriber.js +1 -1
- package/dist/esm/decorators/orm/Exclusion.js +1 -1
- package/dist/esm/decorators/orm/Generated.js +1 -1
- package/dist/esm/decorators/orm/Index.js +1 -1
- package/dist/esm/decorators/orm/JoinColumn.js +1 -1
- package/dist/esm/decorators/orm/JoinTable.js +1 -1
- package/dist/esm/decorators/orm/ManyToMany.js +1 -1
- package/dist/esm/decorators/orm/ManyToOne.js +1 -1
- package/dist/esm/decorators/orm/ObjectIdColumn.js +1 -1
- package/dist/esm/decorators/orm/OneToMany.js +1 -1
- package/dist/esm/decorators/orm/OneToOne.js +1 -1
- package/dist/esm/decorators/orm/PrimaryColumn.js +1 -1
- package/dist/esm/decorators/orm/PrimaryGeneratedColumn.js +1 -1
- package/dist/esm/decorators/orm/RelationId.js +1 -1
- package/dist/esm/decorators/orm/TableInheritance.js +1 -1
- package/dist/esm/decorators/orm/Tree.js +1 -1
- package/dist/esm/decorators/orm/TreeChildren.js +1 -1
- package/dist/esm/decorators/orm/TreeLevelColumn.js +1 -1
- package/dist/esm/decorators/orm/TreeParent.js +1 -1
- package/dist/esm/decorators/orm/Unique.js +1 -1
- package/dist/esm/decorators/orm/UpdateDateColumn.js +1 -1
- package/dist/esm/decorators/orm/VersionColumn.js +1 -1
- package/dist/esm/decorators/orm/ViewColumn.js +1 -1
- package/dist/esm/decorators/orm/ViewEntity.js +1 -1
- package/dist/esm/decorators/orm/VirtualColumn.js +1 -1
- package/dist/esm/exports/ORM.js +116 -119
- package/dist/esm/lib/ConnectionOptions.js +14 -0
- package/dist/esm/providers/Database.js +15 -8
- package/dist/esm/providers/migration/ExecuteMigration.js +9 -5
- package/dist/esm/providers/migration/GenerateMigration.js +30 -10
- package/dist/esm/types/LegacyConnectionOptions.js +1 -0
- package/dist/types/components/Database.d.ts +31 -22
- package/dist/types/decorators/orm/AfterInsert.d.ts +1 -1
- package/dist/types/decorators/orm/AfterLoad.d.ts +1 -1
- package/dist/types/decorators/orm/AfterRecover.d.ts +1 -1
- package/dist/types/decorators/orm/AfterRemove.d.ts +1 -1
- package/dist/types/decorators/orm/AfterSoftRemove.d.ts +1 -1
- package/dist/types/decorators/orm/AfterUpdate.d.ts +1 -1
- package/dist/types/decorators/orm/BeforeInsert.d.ts +1 -1
- package/dist/types/decorators/orm/BeforeRecover.d.ts +1 -1
- package/dist/types/decorators/orm/BeforeRemove.d.ts +1 -1
- package/dist/types/decorators/orm/BeforeSoftRemove.d.ts +1 -1
- package/dist/types/decorators/orm/BeforeUpdate.d.ts +1 -1
- package/dist/types/decorators/orm/Check.d.ts +1 -1
- package/dist/types/decorators/orm/ChildEntity.d.ts +1 -1
- package/dist/types/decorators/orm/Column.d.ts +1 -1
- package/dist/types/decorators/orm/CreateDateColumn.d.ts +1 -1
- package/dist/types/decorators/orm/DeleteDateColumn.d.ts +1 -1
- package/dist/types/decorators/orm/Entity.d.ts +1 -1
- package/dist/types/decorators/orm/EventSubscriber.d.ts +1 -1
- package/dist/types/decorators/orm/Exclusion.d.ts +1 -1
- package/dist/types/decorators/orm/Generated.d.ts +1 -1
- package/dist/types/decorators/orm/Index.d.ts +1 -1
- package/dist/types/decorators/orm/JoinColumn.d.ts +1 -1
- package/dist/types/decorators/orm/JoinTable.d.ts +1 -1
- package/dist/types/decorators/orm/ManyToMany.d.ts +1 -1
- package/dist/types/decorators/orm/ManyToOne.d.ts +1 -1
- package/dist/types/decorators/orm/ObjectIdColumn.d.ts +1 -1
- package/dist/types/decorators/orm/OneToMany.d.ts +1 -1
- package/dist/types/decorators/orm/OneToOne.d.ts +1 -1
- package/dist/types/decorators/orm/PrimaryColumn.d.ts +1 -1
- package/dist/types/decorators/orm/PrimaryGeneratedColumn.d.ts +1 -1
- package/dist/types/decorators/orm/RelationId.d.ts +1 -1
- package/dist/types/decorators/orm/TableInheritance.d.ts +1 -1
- package/dist/types/decorators/orm/Tree.d.ts +1 -1
- package/dist/types/decorators/orm/TreeChildren.d.ts +1 -1
- package/dist/types/decorators/orm/TreeLevelColumn.d.ts +1 -1
- package/dist/types/decorators/orm/TreeParent.d.ts +1 -1
- package/dist/types/decorators/orm/Unique.d.ts +1 -1
- package/dist/types/decorators/orm/UpdateDateColumn.d.ts +1 -1
- package/dist/types/decorators/orm/VersionColumn.d.ts +1 -1
- package/dist/types/decorators/orm/ViewColumn.d.ts +1 -1
- package/dist/types/decorators/orm/ViewEntity.d.ts +1 -1
- package/dist/types/decorators/orm/VirtualColumn.d.ts +1 -1
- package/dist/types/exports/ORM.d.ts +189 -192
- package/dist/types/lib/ConnectionOptions.d.ts +10 -0
- package/dist/types/providers/Database.d.ts +33 -26
- package/dist/types/providers/migration/ExecuteMigration.d.ts +5 -4
- package/dist/types/providers/migration/GenerateMigration.d.ts +35 -5
- package/dist/types/types/LegacyConnectionOptions.d.ts +102 -0
- package/dist/types/types/MigrationRunOptions.d.ts +4 -1
- package/dist/vendor/typeorm/cache/DbQueryResultCache.d.ts +70 -0
- package/dist/vendor/typeorm/cache/DbQueryResultCache.js +301 -0
- package/dist/vendor/typeorm/cache/DbQueryResultCache.js.map +1 -0
- package/dist/vendor/typeorm/cache/QueryResultCache.d.ts +41 -0
- package/dist/vendor/typeorm/cache/QueryResultCache.js +3 -0
- package/dist/vendor/typeorm/cache/QueryResultCache.js.map +1 -0
- package/dist/vendor/typeorm/cache/QueryResultCacheFactory.d.ts +13 -0
- package/dist/vendor/typeorm/cache/QueryResultCacheFactory.js +41 -0
- package/dist/vendor/typeorm/cache/QueryResultCacheFactory.js.map +1 -0
- package/dist/vendor/typeorm/cache/QueryResultCacheOptions.d.ts +26 -0
- package/dist/vendor/typeorm/cache/QueryResultCacheOptions.js +3 -0
- package/dist/vendor/typeorm/cache/QueryResultCacheOptions.js.map +1 -0
- package/dist/vendor/typeorm/cache/RedisQueryResultCache.d.ts +84 -0
- package/dist/vendor/typeorm/cache/RedisQueryResultCache.js +185 -0
- package/dist/vendor/typeorm/cache/RedisQueryResultCache.js.map +1 -0
- package/dist/vendor/typeorm/commands/CommandUtils.d.ts +34 -0
- package/dist/vendor/typeorm/commands/CommandUtils.js +107 -0
- package/dist/vendor/typeorm/commands/CommandUtils.js.map +1 -0
- package/dist/vendor/typeorm/common/DeepPartial.d.ts +6 -0
- package/dist/vendor/typeorm/common/DeepPartial.js +3 -0
- package/dist/vendor/typeorm/common/DeepPartial.js.map +1 -0
- package/dist/vendor/typeorm/common/EntityTarget.d.ts +9 -0
- package/dist/vendor/typeorm/common/EntityTarget.js +3 -0
- package/dist/vendor/typeorm/common/EntityTarget.js.map +1 -0
- package/dist/vendor/typeorm/common/MixedList.d.ts +8 -0
- package/dist/vendor/typeorm/common/MixedList.js +3 -0
- package/dist/vendor/typeorm/common/MixedList.js.map +1 -0
- package/dist/vendor/typeorm/common/NonNever.d.ts +6 -0
- package/dist/vendor/typeorm/common/NonNever.js +3 -0
- package/dist/vendor/typeorm/common/NonNever.js.map +1 -0
- package/dist/vendor/typeorm/common/ObjectLiteral.d.ts +6 -0
- package/dist/vendor/typeorm/common/ObjectLiteral.js +3 -0
- package/dist/vendor/typeorm/common/ObjectLiteral.js.map +1 -0
- package/dist/vendor/typeorm/common/ObjectType.d.ts +6 -0
- package/dist/vendor/typeorm/common/ObjectType.js +3 -0
- package/dist/vendor/typeorm/common/ObjectType.js.map +1 -0
- package/dist/vendor/typeorm/common/PickKeysByType.d.ts +6 -0
- package/dist/vendor/typeorm/common/PickKeysByType.js +3 -0
- package/dist/vendor/typeorm/common/PickKeysByType.js.map +1 -0
- package/dist/vendor/typeorm/common/PrimitiveCriteria.d.ts +2 -0
- package/dist/vendor/typeorm/common/PrimitiveCriteria.js +3 -0
- package/dist/vendor/typeorm/common/PrimitiveCriteria.js.map +1 -0
- package/dist/vendor/typeorm/common/RelationType.d.ts +16 -0
- package/dist/vendor/typeorm/common/RelationType.js +3 -0
- package/dist/vendor/typeorm/common/RelationType.js.map +1 -0
- package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.d.ts +30 -0
- package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.js +78 -0
- package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -0
- package/dist/vendor/typeorm/connection/ConnectionOptionsReader.d.ts +56 -0
- package/dist/vendor/typeorm/connection/ConnectionOptionsReader.js +165 -0
- package/dist/vendor/typeorm/connection/ConnectionOptionsReader.js.map +1 -0
- package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.d.ts +180 -0
- package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/data-source/DataSource.d.ts +277 -0
- package/dist/vendor/typeorm/data-source/DataSource.js +555 -0
- package/dist/vendor/typeorm/data-source/DataSource.js.map +1 -0
- package/dist/vendor/typeorm/data-source/DataSourceOptions.d.ts +22 -0
- package/dist/vendor/typeorm/data-source/DataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/data-source/DataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/data-source/index.d.ts +2 -0
- package/dist/vendor/typeorm/data-source/index.js +5 -0
- package/dist/vendor/typeorm/data-source/index.js.map +1 -0
- package/dist/vendor/typeorm/decorator/Check.d.ts +17 -0
- package/dist/vendor/typeorm/decorator/Check.js +29 -0
- package/dist/vendor/typeorm/decorator/Check.js.map +1 -0
- package/dist/vendor/typeorm/decorator/Exclusion.d.ts +20 -0
- package/dist/vendor/typeorm/decorator/Exclusion.js +33 -0
- package/dist/vendor/typeorm/decorator/Exclusion.js.map +1 -0
- package/dist/vendor/typeorm/decorator/ForeignKey.d.ts +34 -0
- package/dist/vendor/typeorm/decorator/ForeignKey.js +48 -0
- package/dist/vendor/typeorm/decorator/ForeignKey.js.map +1 -0
- package/dist/vendor/typeorm/decorator/Generated.d.ts +12 -0
- package/dist/vendor/typeorm/decorator/Generated.js +25 -0
- package/dist/vendor/typeorm/decorator/Generated.js.map +1 -0
- package/dist/vendor/typeorm/decorator/Index.d.ts +72 -0
- package/dist/vendor/typeorm/decorator/Index.js +59 -0
- package/dist/vendor/typeorm/decorator/Index.js.map +1 -0
- package/dist/vendor/typeorm/decorator/Unique.d.ts +35 -0
- package/dist/vendor/typeorm/decorator/Unique.js +52 -0
- package/dist/vendor/typeorm/decorator/Unique.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/Column.d.ts +106 -0
- package/dist/vendor/typeorm/decorator/columns/Column.js +79 -0
- package/dist/vendor/typeorm/decorator/columns/Column.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.d.ts +9 -0
- package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.js +22 -0
- package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.d.ts +8 -0
- package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.js +21 -0
- package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.d.ts +8 -0
- package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.js +26 -0
- package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.d.ts +26 -0
- package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.js +64 -0
- package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.d.ts +35 -0
- package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.js +61 -0
- package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.d.ts +8 -0
- package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.js +21 -0
- package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/VersionColumn.d.ts +9 -0
- package/dist/vendor/typeorm/decorator/columns/VersionColumn.js +22 -0
- package/dist/vendor/typeorm/decorator/columns/VersionColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/ViewColumn.d.ts +7 -0
- package/dist/vendor/typeorm/decorator/columns/ViewColumn.js +20 -0
- package/dist/vendor/typeorm/decorator/columns/ViewColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/columns/VirtualColumn.d.ts +15 -0
- package/dist/vendor/typeorm/decorator/columns/VirtualColumn.js +51 -0
- package/dist/vendor/typeorm/decorator/columns/VirtualColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/entity/ChildEntity.d.ts +6 -0
- package/dist/vendor/typeorm/decorator/entity/ChildEntity.js +26 -0
- package/dist/vendor/typeorm/decorator/entity/ChildEntity.js.map +1 -0
- package/dist/vendor/typeorm/decorator/entity/Entity.d.ts +16 -0
- package/dist/vendor/typeorm/decorator/entity/Entity.js +33 -0
- package/dist/vendor/typeorm/decorator/entity/Entity.js.map +1 -0
- package/dist/vendor/typeorm/decorator/entity/TableInheritance.d.ts +12 -0
- package/dist/vendor/typeorm/decorator/entity/TableInheritance.js +25 -0
- package/dist/vendor/typeorm/decorator/entity/TableInheritance.js.map +1 -0
- package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.d.ts +16 -0
- package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.js +34 -0
- package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterInsert.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterInsert.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterInsert.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterLoad.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterLoad.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterLoad.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterRecover.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterRecover.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterRecover.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterRemove.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterRemove.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterRemove.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.js +18 -0
- package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -0
- package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.d.ts +5 -0
- package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.js +16 -0
- package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.d.ts +57 -0
- package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.d.ts +16 -0
- package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.d.ts +13 -0
- package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.d.ts +10 -0
- package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.d.ts +15 -0
- package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnOptions.d.ts +158 -0
- package/dist/vendor/typeorm/decorator/options/ColumnOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.d.ts +9 -0
- package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.d.ts +10 -0
- package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/EntityOptions.d.ts +47 -0
- package/dist/vendor/typeorm/decorator/options/EntityOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/EntityOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ExclusionOptions.d.ts +10 -0
- package/dist/vendor/typeorm/decorator/options/ExclusionOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ExclusionOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.d.ts +24 -0
- package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/IndexOptions.d.ts +64 -0
- package/dist/vendor/typeorm/decorator/options/IndexOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/IndexOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.d.ts +17 -0
- package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.d.ts +35 -0
- package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/JoinTableOptions.d.ts +35 -0
- package/dist/vendor/typeorm/decorator/options/JoinTableOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/JoinTableOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +26 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +26 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.d.ts +17 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/RelationOptions.d.ts +66 -0
- package/dist/vendor/typeorm/decorator/options/RelationOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/RelationOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.d.ts +17 -0
- package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/TransactionOptions.d.ts +5 -0
- package/dist/vendor/typeorm/decorator/options/TransactionOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/TransactionOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/UniqueOptions.d.ts +10 -0
- package/dist/vendor/typeorm/decorator/options/UniqueOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/UniqueOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ValueTransformer.d.ts +13 -0
- package/dist/vendor/typeorm/decorator/options/ValueTransformer.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ValueTransformer.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.d.ts +15 -0
- package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.d.ts +40 -0
- package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.d.ts +33 -0
- package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.js +3 -0
- package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/JoinColumn.d.ts +23 -0
- package/dist/vendor/typeorm/decorator/relations/JoinColumn.js +28 -0
- package/dist/vendor/typeorm/decorator/relations/JoinColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/JoinTable.d.ts +21 -0
- package/dist/vendor/typeorm/decorator/relations/JoinTable.js +35 -0
- package/dist/vendor/typeorm/decorator/relations/JoinTable.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/ManyToMany.d.ts +21 -0
- package/dist/vendor/typeorm/decorator/relations/ManyToMany.js +48 -0
- package/dist/vendor/typeorm/decorator/relations/ManyToMany.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/ManyToOne.d.ts +21 -0
- package/dist/vendor/typeorm/decorator/relations/ManyToOne.js +48 -0
- package/dist/vendor/typeorm/decorator/relations/ManyToOne.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/OneToMany.d.ts +12 -0
- package/dist/vendor/typeorm/decorator/relations/OneToMany.js +39 -0
- package/dist/vendor/typeorm/decorator/relations/OneToMany.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/OneToOne.d.ts +19 -0
- package/dist/vendor/typeorm/decorator/relations/OneToOne.js +47 -0
- package/dist/vendor/typeorm/decorator/relations/OneToOne.js.map +1 -0
- package/dist/vendor/typeorm/decorator/relations/RelationId.d.ts +10 -0
- package/dist/vendor/typeorm/decorator/relations/RelationId.js +24 -0
- package/dist/vendor/typeorm/decorator/relations/RelationId.js.map +1 -0
- package/dist/vendor/typeorm/decorator/tree/Tree.d.ts +12 -0
- package/dist/vendor/typeorm/decorator/tree/Tree.js +23 -0
- package/dist/vendor/typeorm/decorator/tree/Tree.js.map +1 -0
- package/dist/vendor/typeorm/decorator/tree/TreeChildren.d.ts +10 -0
- package/dist/vendor/typeorm/decorator/tree/TreeChildren.js +35 -0
- package/dist/vendor/typeorm/decorator/tree/TreeChildren.js.map +1 -0
- package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.d.ts +4 -0
- package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.js +18 -0
- package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -0
- package/dist/vendor/typeorm/decorator/tree/TreeParent.d.ts +11 -0
- package/dist/vendor/typeorm/decorator/tree/TreeParent.js +34 -0
- package/dist/vendor/typeorm/decorator/tree/TreeParent.js.map +1 -0
- package/dist/vendor/typeorm/driver/Driver.d.ts +241 -0
- package/dist/vendor/typeorm/driver/Driver.js +3 -0
- package/dist/vendor/typeorm/driver/Driver.js.map +1 -0
- package/dist/vendor/typeorm/driver/DriverFactory.d.ts +14 -0
- package/dist/vendor/typeorm/driver/DriverFactory.js +100 -0
- package/dist/vendor/typeorm/driver/DriverFactory.js.map +1 -0
- package/dist/vendor/typeorm/driver/DriverUtils.d.ts +71 -0
- package/dist/vendor/typeorm/driver/DriverUtils.js +233 -0
- package/dist/vendor/typeorm/driver/DriverUtils.js.map +1 -0
- package/dist/vendor/typeorm/driver/Query.d.ts +9 -0
- package/dist/vendor/typeorm/driver/Query.js +15 -0
- package/dist/vendor/typeorm/driver/Query.js.map +1 -0
- package/dist/vendor/typeorm/driver/SqlInMemory.d.ts +8 -0
- package/dist/vendor/typeorm/driver/SqlInMemory.js +14 -0
- package/dist/vendor/typeorm/driver/SqlInMemory.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +35 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +35 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.d.ts +322 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +880 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +532 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1875 -0
- package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts +35 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.d.ts +85 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +130 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +59 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +180 -0
- package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +69 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.d.ts +63 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +158 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +37 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +144 -0
- package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.d.ts +31 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.d.ts +29 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.js +78 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.d.ts +39 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.js +107 -0
- package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +34 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.d.ts +64 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.d.ts +357 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.js +1006 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.d.ts +646 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.js +2755 -0
- package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.d.ts +24 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaDriver.d.ts +33 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaDriver.js +84 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.d.ts +54 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.js +146 -0
- package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.d.ts +21 -0
- package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/expo/ExpoDriver.d.ts +15 -0
- package/dist/vendor/typeorm/driver/expo/ExpoDriver.js +45 -0
- package/dist/vendor/typeorm/driver/expo/ExpoDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.d.ts +10 -0
- package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.js +67 -0
- package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.d.ts +167 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.js +541 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.d.ts +96 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.js +185 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.d.ts +411 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.js +1345 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.d.ts +402 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.js +1017 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.d.ts +68 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.js +126 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.d.ts +88 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.js +306 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.d.ts +124 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.js +331 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.d.ts +80 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.js +119 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.d.ts +19 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.js +35 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.d.ts +100 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.js +261 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.d.ts +185 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.js +529 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.d.ts +58 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.js +176 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.d.ts +12 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.js +181 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.d.ts +204 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.js +564 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerCode.d.ts +7 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerCode.js +4 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.d.ts +117 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.js +155 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.d.ts +97 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.d.ts +33 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.js +67 -0
- package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.d.ts +205 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoDriver.d.ts +281 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoDriver.js +446 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.d.ts +752 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.js +951 -0
- package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongodb/bson.typings.d.ts +1588 -0
- package/dist/vendor/typeorm/driver/mongodb/bson.typings.js +4 -0
- package/dist/vendor/typeorm/driver/mongodb/bson.typings.js.map +1 -0
- package/dist/vendor/typeorm/driver/mongodb/typings.d.ts +8064 -0
- package/dist/vendor/typeorm/driver/mongodb/typings.js +24 -0
- package/dist/vendor/typeorm/driver/mongodb/typings.js.map +1 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +44 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.d.ts +133 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlDriver.d.ts +344 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlDriver.js +1077 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.d.ts +532 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.js +2341 -0
- package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.d.ts +45 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.d.ts +46 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.js +92 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.d.ts +36 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.js +101 -0
- package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.d.ts +41 -0
- package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.d.ts +51 -0
- package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/oracle/OracleDriver.d.ts +332 -0
- package/dist/vendor/typeorm/driver/oracle/OracleDriver.js +939 -0
- package/dist/vendor/typeorm/driver/oracle/OracleDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.d.ts +550 -0
- package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.js +2135 -0
- package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +39 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.d.ts +89 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresDriver.d.ts +391 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresDriver.js +1494 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.d.ts +691 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.js +3119 -0
- package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.d.ts +28 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.d.ts +307 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.js +805 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.d.ts +36 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.js +116 -0
- package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
- package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.d.ts +59 -0
- package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/sap/SapDriver.d.ts +296 -0
- package/dist/vendor/typeorm/driver/sap/SapDriver.js +761 -0
- package/dist/vendor/typeorm/driver/sap/SapDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/sap/SapQueryRunner.d.ts +565 -0
- package/dist/vendor/typeorm/driver/sap/SapQueryRunner.js +2452 -0
- package/dist/vendor/typeorm/driver/sap/SapQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +30 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.d.ts +123 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerDriver.d.ts +302 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerDriver.js +673 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.d.ts +574 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.js +1761 -0
- package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +319 -0
- package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +770 -0
- package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +498 -0
- package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1732 -0
- package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.d.ts +46 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.d.ts +76 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.js +264 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.d.ts +40 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.js +129 -0
- package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.d.ts +45 -0
- package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.js +22 -0
- package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +43 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.d.ts +266 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.d.ts +359 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.js +1056 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.d.ts +588 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.js +2767 -0
- package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
- package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/ColumnTypes.d.ts +25 -0
- package/dist/vendor/typeorm/driver/types/ColumnTypes.js +3 -0
- package/dist/vendor/typeorm/driver/types/ColumnTypes.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/CteCapabilities.d.ts +18 -0
- package/dist/vendor/typeorm/driver/types/CteCapabilities.js +3 -0
- package/dist/vendor/typeorm/driver/types/CteCapabilities.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/DataTypeDefaults.d.ts +7 -0
- package/dist/vendor/typeorm/driver/types/DataTypeDefaults.js +3 -0
- package/dist/vendor/typeorm/driver/types/DataTypeDefaults.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/DatabaseType.d.ts +4 -0
- package/dist/vendor/typeorm/driver/types/DatabaseType.js +3 -0
- package/dist/vendor/typeorm/driver/types/DatabaseType.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/GeoJsonTypes.d.ts +92 -0
- package/dist/vendor/typeorm/driver/types/GeoJsonTypes.js +3 -0
- package/dist/vendor/typeorm/driver/types/GeoJsonTypes.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.d.ts +15 -0
- package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.js +3 -0
- package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/IsolationLevel.d.ts +2 -0
- package/dist/vendor/typeorm/driver/types/IsolationLevel.js +11 -0
- package/dist/vendor/typeorm/driver/types/IsolationLevel.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/MappedColumnTypes.d.ts +112 -0
- package/dist/vendor/typeorm/driver/types/MappedColumnTypes.js +3 -0
- package/dist/vendor/typeorm/driver/types/MappedColumnTypes.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/MetadataTableType.d.ts +5 -0
- package/dist/vendor/typeorm/driver/types/MetadataTableType.js +10 -0
- package/dist/vendor/typeorm/driver/types/MetadataTableType.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/ReplicationMode.d.ts +1 -0
- package/dist/vendor/typeorm/driver/types/ReplicationMode.js +3 -0
- package/dist/vendor/typeorm/driver/types/ReplicationMode.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/ReturningType.d.ts +1 -0
- package/dist/vendor/typeorm/driver/types/ReturningType.js +3 -0
- package/dist/vendor/typeorm/driver/types/ReturningType.js.map +1 -0
- package/dist/vendor/typeorm/driver/types/UpsertType.d.ts +1 -0
- package/dist/vendor/typeorm/driver/types/UpsertType.js +3 -0
- package/dist/vendor/typeorm/driver/types/UpsertType.js.map +1 -0
- package/dist/vendor/typeorm/driver/validate-isolation-level.d.ts +9 -0
- package/dist/vendor/typeorm/driver/validate-isolation-level.js +23 -0
- package/dist/vendor/typeorm/driver/validate-isolation-level.js.map +1 -0
- package/dist/vendor/typeorm/entity-manager/EntityManager.d.ts +530 -0
- package/dist/vendor/typeorm/entity-manager/EntityManager.js +918 -0
- package/dist/vendor/typeorm/entity-manager/EntityManager.js.map +1 -0
- package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.d.ts +16 -0
- package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.js +27 -0
- package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.js.map +1 -0
- package/dist/vendor/typeorm/entity-manager/MongoEntityManager.d.ts +441 -0
- package/dist/vendor/typeorm/entity-manager/MongoEntityManager.js +948 -0
- package/dist/vendor/typeorm/entity-manager/MongoEntityManager.js.map +1 -0
- package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.d.ts +30 -0
- package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.js +47 -0
- package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchema.d.ts +9 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchema.js +14 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchema.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.d.ts +10 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +12 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.d.ts +170 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +7 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.js +17 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.d.ts +15 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.d.ts +16 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.d.ts +53 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.d.ts +11 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.d.ts +118 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.js +10 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.d.ts +15 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.d.ts +95 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.d.ts +15 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.js +342 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.d.ts +17 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.js +3 -0
- package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -0
- package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.d.ts +7 -0
- package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.js +15 -0
- package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.d.ts +7 -0
- package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.js +15 -0
- package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.js +14 -0
- package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.d.ts +9 -0
- package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.js +20 -0
- package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotDetermineEntityError.d.ts +7 -0
- package/dist/vendor/typeorm/error/CannotDetermineEntityError.js +15 -0
- package/dist/vendor/typeorm/error/CannotDetermineEntityError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.js +14 -0
- package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.js +14 -0
- package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -0
- package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.d.ts +8 -0
- package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.js +17 -0
- package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -0
- package/dist/vendor/typeorm/error/CircularRelationsError.d.ts +7 -0
- package/dist/vendor/typeorm/error/CircularRelationsError.js +15 -0
- package/dist/vendor/typeorm/error/CircularRelationsError.js.map +1 -0
- package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.d.ts +8 -0
- package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.js +18 -0
- package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.js.map +1 -0
- package/dist/vendor/typeorm/error/ConnectionIsNotSetError.d.ts +7 -0
- package/dist/vendor/typeorm/error/ConnectionIsNotSetError.js +14 -0
- package/dist/vendor/typeorm/error/ConnectionIsNotSetError.js.map +1 -0
- package/dist/vendor/typeorm/error/ConnectionNotFoundError.d.ts +7 -0
- package/dist/vendor/typeorm/error/ConnectionNotFoundError.js +14 -0
- package/dist/vendor/typeorm/error/ConnectionNotFoundError.js.map +1 -0
- package/dist/vendor/typeorm/error/DataTypeNotSupportedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/DataTypeNotSupportedError.js +13 -0
- package/dist/vendor/typeorm/error/DataTypeNotSupportedError.js.map +1 -0
- package/dist/vendor/typeorm/error/DriverOptionNotSetError.d.ts +7 -0
- package/dist/vendor/typeorm/error/DriverOptionNotSetError.js +15 -0
- package/dist/vendor/typeorm/error/DriverOptionNotSetError.js.map +1 -0
- package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.d.ts +7 -0
- package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.js +14 -0
- package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.js.map +1 -0
- package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.d.ts +6 -0
- package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.js +28 -0
- package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.js.map +1 -0
- package/dist/vendor/typeorm/error/EntityNotFoundError.d.ts +12 -0
- package/dist/vendor/typeorm/error/EntityNotFoundError.js +41 -0
- package/dist/vendor/typeorm/error/EntityNotFoundError.js.map +1 -0
- package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.d.ts +8 -0
- package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.js +16 -0
- package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.js.map +1 -0
- package/dist/vendor/typeorm/error/FindRelationsNotFoundError.d.ts +7 -0
- package/dist/vendor/typeorm/error/FindRelationsNotFoundError.js +22 -0
- package/dist/vendor/typeorm/error/FindRelationsNotFoundError.js.map +1 -0
- package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.d.ts +8 -0
- package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.js +15 -0
- package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -0
- package/dist/vendor/typeorm/error/InitializedRelationError.d.ts +11 -0
- package/dist/vendor/typeorm/error/InitializedRelationError.js +19 -0
- package/dist/vendor/typeorm/error/InitializedRelationError.js.map +1 -0
- package/dist/vendor/typeorm/error/InsertValuesMissingError.d.ts +7 -0
- package/dist/vendor/typeorm/error/InsertValuesMissingError.js +15 -0
- package/dist/vendor/typeorm/error/InsertValuesMissingError.js.map +1 -0
- package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.js +14 -0
- package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -0
- package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.d.ts +7 -0
- package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.js +14 -0
- package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -0
- package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.d.ts +4 -0
- package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.js +17 -0
- package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.js.map +1 -0
- package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.d.ts +4 -0
- package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +15 -0
- package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -0
- package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.d.ts +5 -0
- package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.js +11 -0
- package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.js.map +1 -0
- package/dist/vendor/typeorm/error/MissingDriverError.d.ts +7 -0
- package/dist/vendor/typeorm/error/MissingDriverError.js +15 -0
- package/dist/vendor/typeorm/error/MissingDriverError.js.map +1 -0
- package/dist/vendor/typeorm/error/MissingJoinColumnError.d.ts +6 -0
- package/dist/vendor/typeorm/error/MissingJoinColumnError.js +22 -0
- package/dist/vendor/typeorm/error/MissingJoinColumnError.js.map +1 -0
- package/dist/vendor/typeorm/error/MissingJoinTableError.d.ts +6 -0
- package/dist/vendor/typeorm/error/MissingJoinTableError.js +22 -0
- package/dist/vendor/typeorm/error/MissingJoinTableError.js.map +1 -0
- package/dist/vendor/typeorm/error/MissingPrimaryColumnError.d.ts +5 -0
- package/dist/vendor/typeorm/error/MissingPrimaryColumnError.js +12 -0
- package/dist/vendor/typeorm/error/MissingPrimaryColumnError.js.map +1 -0
- package/dist/vendor/typeorm/error/MustBeEntityError.d.ts +7 -0
- package/dist/vendor/typeorm/error/MustBeEntityError.js +14 -0
- package/dist/vendor/typeorm/error/MustBeEntityError.js.map +1 -0
- package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.js +14 -0
- package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.js.map +1 -0
- package/dist/vendor/typeorm/error/NestedSetMultipleRootError.d.ts +4 -0
- package/dist/vendor/typeorm/error/NestedSetMultipleRootError.js +11 -0
- package/dist/vendor/typeorm/error/NestedSetMultipleRootError.js.map +1 -0
- package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.d.ts +7 -0
- package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.js +15 -0
- package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.js.map +1 -0
- package/dist/vendor/typeorm/error/NoConnectionOptionError.d.ts +7 -0
- package/dist/vendor/typeorm/error/NoConnectionOptionError.js +15 -0
- package/dist/vendor/typeorm/error/NoConnectionOptionError.js.map +1 -0
- package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.d.ts +7 -0
- package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.js +16 -0
- package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -0
- package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.d.ts +7 -0
- package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.js +14 -0
- package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -0
- package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.js +16 -0
- package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -0
- package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.js +14 -0
- package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -0
- package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.d.ts +7 -0
- package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.js +14 -0
- package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -0
- package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.d.ts +7 -0
- package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.js +14 -0
- package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.js.map +1 -0
- package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.d.ts +7 -0
- package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.js +14 -0
- package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -0
- package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.d.ts +4 -0
- package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.js +12 -0
- package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -0
- package/dist/vendor/typeorm/error/QueryFailedError.d.ts +11 -0
- package/dist/vendor/typeorm/error/QueryFailedError.js +29 -0
- package/dist/vendor/typeorm/error/QueryFailedError.js.map +1 -0
- package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.d.ts +4 -0
- package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.js +11 -0
- package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -0
- package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +15 -0
- package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -0
- package/dist/vendor/typeorm/error/RepositoryNotTreeError.d.ts +8 -0
- package/dist/vendor/typeorm/error/RepositoryNotTreeError.js +31 -0
- package/dist/vendor/typeorm/error/RepositoryNotTreeError.js.map +1 -0
- package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.d.ts +8 -0
- package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.js +15 -0
- package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -0
- package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.d.ts +8 -0
- package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.js +15 -0
- package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -0
- package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.d.ts +10 -0
- package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.js +16 -0
- package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -0
- package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.js +14 -0
- package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.js.map +1 -0
- package/dist/vendor/typeorm/error/TransactionNotStartedError.d.ts +7 -0
- package/dist/vendor/typeorm/error/TransactionNotStartedError.js +14 -0
- package/dist/vendor/typeorm/error/TransactionNotStartedError.js.map +1 -0
- package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.d.ts +5 -0
- package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.js +11 -0
- package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -0
- package/dist/vendor/typeorm/error/TypeORMError.d.ts +4 -0
- package/dist/vendor/typeorm/error/TypeORMError.js +22 -0
- package/dist/vendor/typeorm/error/TypeORMError.js.map +1 -0
- package/dist/vendor/typeorm/error/UpdateValuesMissingError.d.ts +4 -0
- package/dist/vendor/typeorm/error/UpdateValuesMissingError.js +11 -0
- package/dist/vendor/typeorm/error/UpdateValuesMissingError.js.map +1 -0
- package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.d.ts +6 -0
- package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.js +12 -0
- package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -0
- package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +6 -0
- package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +13 -0
- package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -0
- package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.d.ts +6 -0
- package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.js +13 -0
- package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -0
- package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +6 -0
- package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +13 -0
- package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -0
- package/dist/vendor/typeorm/error/index.d.ts +59 -0
- package/dist/vendor/typeorm/error/index.js +63 -0
- package/dist/vendor/typeorm/error/index.js.map +1 -0
- package/dist/vendor/typeorm/find-options/EqualOperator.d.ts +5 -0
- package/dist/vendor/typeorm/find-options/EqualOperator.js +12 -0
- package/dist/vendor/typeorm/find-options/EqualOperator.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindManyOptions.d.ts +14 -0
- package/dist/vendor/typeorm/find-options/FindManyOptions.js +3 -0
- package/dist/vendor/typeorm/find-options/FindManyOptions.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOneOptions.d.ts +80 -0
- package/dist/vendor/typeorm/find-options/FindOneOptions.js +3 -0
- package/dist/vendor/typeorm/find-options/FindOneOptions.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOperator.d.ts +67 -0
- package/dist/vendor/typeorm/find-options/FindOperator.js +95 -0
- package/dist/vendor/typeorm/find-options/FindOperator.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOperatorType.d.ts +4 -0
- package/dist/vendor/typeorm/find-options/FindOperatorType.js +3 -0
- package/dist/vendor/typeorm/find-options/FindOperatorType.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOptionsOrder.d.ts +18 -0
- package/dist/vendor/typeorm/find-options/FindOptionsOrder.js +3 -0
- package/dist/vendor/typeorm/find-options/FindOptionsOrder.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOptionsRelations.d.ts +11 -0
- package/dist/vendor/typeorm/find-options/FindOptionsRelations.js +3 -0
- package/dist/vendor/typeorm/find-options/FindOptionsRelations.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOptionsSelect.d.ts +11 -0
- package/dist/vendor/typeorm/find-options/FindOptionsSelect.js +3 -0
- package/dist/vendor/typeorm/find-options/FindOptionsSelect.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOptionsUtils.d.ts +71 -0
- package/dist/vendor/typeorm/find-options/FindOptionsUtils.js +278 -0
- package/dist/vendor/typeorm/find-options/FindOptionsUtils.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindOptionsWhere.d.ts +17 -0
- package/dist/vendor/typeorm/find-options/FindOptionsWhere.js +3 -0
- package/dist/vendor/typeorm/find-options/FindOptionsWhere.js.map +1 -0
- package/dist/vendor/typeorm/find-options/FindTreeOptions.d.ts +13 -0
- package/dist/vendor/typeorm/find-options/FindTreeOptions.js +3 -0
- package/dist/vendor/typeorm/find-options/FindTreeOptions.js.map +1 -0
- package/dist/vendor/typeorm/find-options/OrderByCondition.d.ts +16 -0
- package/dist/vendor/typeorm/find-options/OrderByCondition.js +3 -0
- package/dist/vendor/typeorm/find-options/OrderByCondition.js.map +1 -0
- package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
- package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.js +3 -0
- package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
- package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
- package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.js +3 -0
- package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/And.d.ts +6 -0
- package/dist/vendor/typeorm/find-options/operator/And.js +12 -0
- package/dist/vendor/typeorm/find-options/operator/And.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Any.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/Any.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/Any.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayContains.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayContains.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayContains.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Between.d.ts +11 -0
- package/dist/vendor/typeorm/find-options/operator/Between.js +17 -0
- package/dist/vendor/typeorm/find-options/operator/Between.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Equal.d.ts +15 -0
- package/dist/vendor/typeorm/find-options/operator/Equal.js +20 -0
- package/dist/vendor/typeorm/find-options/operator/Equal.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/ILike.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/ILike.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/ILike.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/In.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/In.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/In.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/IsNull.d.ts +9 -0
- package/dist/vendor/typeorm/find-options/operator/IsNull.js +15 -0
- package/dist/vendor/typeorm/find-options/operator/IsNull.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/JsonContains.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/JsonContains.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/JsonContains.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/LessThan.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/LessThan.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/LessThan.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Like.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/Like.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/Like.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/MoreThan.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/MoreThan.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/MoreThan.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.d.ts +10 -0
- package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.js +16 -0
- package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Not.d.ts +11 -0
- package/dist/vendor/typeorm/find-options/operator/Not.js +17 -0
- package/dist/vendor/typeorm/find-options/operator/Not.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Or.d.ts +6 -0
- package/dist/vendor/typeorm/find-options/operator/Or.js +12 -0
- package/dist/vendor/typeorm/find-options/operator/Or.js.map +1 -0
- package/dist/vendor/typeorm/find-options/operator/Raw.d.ts +31 -0
- package/dist/vendor/typeorm/find-options/operator/Raw.js +11 -0
- package/dist/vendor/typeorm/find-options/operator/Raw.js.map +1 -0
- package/dist/vendor/typeorm/globals.d.ts +6 -0
- package/dist/vendor/typeorm/globals.js +19 -0
- package/dist/vendor/typeorm/globals.js.map +1 -0
- package/dist/vendor/typeorm/index.d.ts +177 -0
- package/dist/vendor/typeorm/index.js +147 -0
- package/dist/vendor/typeorm/index.js.map +1 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/index.d.ts +2 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/index.js +8 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/index.js.map +1 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.d.ts +16 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.js +48 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.js.map +1 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.d.ts +4 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.js +14 -0
- package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.js.map +1 -0
- package/dist/vendor/typeorm/logger/AbstractLogger.d.ts +82 -0
- package/dist/vendor/typeorm/logger/AbstractLogger.js +270 -0
- package/dist/vendor/typeorm/logger/AbstractLogger.js.map +1 -0
- package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.d.ts +17 -0
- package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.js +59 -0
- package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.js.map +1 -0
- package/dist/vendor/typeorm/logger/DebugLogger.d.ts +26 -0
- package/dist/vendor/typeorm/logger/DebugLogger.js +85 -0
- package/dist/vendor/typeorm/logger/DebugLogger.js.map +1 -0
- package/dist/vendor/typeorm/logger/FileLogger.d.ts +35 -0
- package/dist/vendor/typeorm/logger/FileLogger.js +90 -0
- package/dist/vendor/typeorm/logger/FileLogger.js.map +1 -0
- package/dist/vendor/typeorm/logger/FormattedConsoleLogger.d.ts +17 -0
- package/dist/vendor/typeorm/logger/FormattedConsoleLogger.js +62 -0
- package/dist/vendor/typeorm/logger/FormattedConsoleLogger.js.map +1 -0
- package/dist/vendor/typeorm/logger/Logger.d.ts +64 -0
- package/dist/vendor/typeorm/logger/Logger.js +3 -0
- package/dist/vendor/typeorm/logger/Logger.js.map +1 -0
- package/dist/vendor/typeorm/logger/LoggerFactory.d.ts +14 -0
- package/dist/vendor/typeorm/logger/LoggerFactory.js +41 -0
- package/dist/vendor/typeorm/logger/LoggerFactory.js.map +1 -0
- package/dist/vendor/typeorm/logger/LoggerOptions.d.ts +5 -0
- package/dist/vendor/typeorm/logger/LoggerOptions.js +3 -0
- package/dist/vendor/typeorm/logger/LoggerOptions.js.map +1 -0
- package/dist/vendor/typeorm/logger/SimpleConsoleLogger.d.ts +17 -0
- package/dist/vendor/typeorm/logger/SimpleConsoleLogger.js +60 -0
- package/dist/vendor/typeorm/logger/SimpleConsoleLogger.js.map +1 -0
- package/dist/vendor/typeorm/metadata/CheckMetadata.d.ts +41 -0
- package/dist/vendor/typeorm/metadata/CheckMetadata.js +36 -0
- package/dist/vendor/typeorm/metadata/CheckMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/ColumnMetadata.d.ts +324 -0
- package/dist/vendor/typeorm/metadata/ColumnMetadata.js +624 -0
- package/dist/vendor/typeorm/metadata/ColumnMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/EmbeddedMetadata.d.ts +158 -0
- package/dist/vendor/typeorm/metadata/EmbeddedMetadata.js +214 -0
- package/dist/vendor/typeorm/metadata/EmbeddedMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/EntityListenerMetadata.d.ts +55 -0
- package/dist/vendor/typeorm/metadata/EntityListenerMetadata.js +83 -0
- package/dist/vendor/typeorm/metadata/EntityListenerMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/EntityMetadata.d.ts +619 -0
- package/dist/vendor/typeorm/metadata/EntityMetadata.js +722 -0
- package/dist/vendor/typeorm/metadata/EntityMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/ExclusionMetadata.d.ts +46 -0
- package/dist/vendor/typeorm/metadata/ExclusionMetadata.js +37 -0
- package/dist/vendor/typeorm/metadata/ExclusionMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.d.ts +79 -0
- package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.js +58 -0
- package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/IndexMetadata.d.ts +125 -0
- package/dist/vendor/typeorm/metadata/IndexMetadata.js +158 -0
- package/dist/vendor/typeorm/metadata/IndexMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/RelationIdMetadata.d.ts +55 -0
- package/dist/vendor/typeorm/metadata/RelationIdMetadata.js +63 -0
- package/dist/vendor/typeorm/metadata/RelationIdMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/RelationMetadata.d.ts +309 -0
- package/dist/vendor/typeorm/metadata/RelationMetadata.js +456 -0
- package/dist/vendor/typeorm/metadata/RelationMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/UniqueMetadata.d.ts +67 -0
- package/dist/vendor/typeorm/metadata/UniqueMetadata.js +108 -0
- package/dist/vendor/typeorm/metadata/UniqueMetadata.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.d.ts +11 -0
- package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.js +3 -0
- package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/DeferrableType.d.ts +4 -0
- package/dist/vendor/typeorm/metadata/types/DeferrableType.js +3 -0
- package/dist/vendor/typeorm/metadata/types/DeferrableType.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/EventListenerTypes.d.ts +20 -0
- package/dist/vendor/typeorm/metadata/types/EventListenerTypes.js +21 -0
- package/dist/vendor/typeorm/metadata/types/EventListenerTypes.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/OnDeleteType.d.ts +4 -0
- package/dist/vendor/typeorm/metadata/types/OnDeleteType.js +3 -0
- package/dist/vendor/typeorm/metadata/types/OnDeleteType.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/OnUpdateType.d.ts +4 -0
- package/dist/vendor/typeorm/metadata/types/OnUpdateType.js +3 -0
- package/dist/vendor/typeorm/metadata/types/OnUpdateType.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.d.ts +4 -0
- package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.js +3 -0
- package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.d.ts +5 -0
- package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.js +3 -0
- package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/RelationTypes.d.ts +4 -0
- package/dist/vendor/typeorm/metadata/types/RelationTypes.js +3 -0
- package/dist/vendor/typeorm/metadata/types/RelationTypes.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/TableTypes.d.ts +4 -0
- package/dist/vendor/typeorm/metadata/types/TableTypes.js +3 -0
- package/dist/vendor/typeorm/metadata/types/TableTypes.js.map +1 -0
- package/dist/vendor/typeorm/metadata/types/TreeTypes.d.ts +5 -0
- package/dist/vendor/typeorm/metadata/types/TreeTypes.js +3 -0
- package/dist/vendor/typeorm/metadata/types/TreeTypes.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.d.ts +17 -0
- package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.d.ts +25 -0
- package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.d.ts +13 -0
- package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.d.ts +26 -0
- package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.d.ts +18 -0
- package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.d.ts +9 -0
- package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.d.ts +22 -0
- package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.d.ts +54 -0
- package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.d.ts +17 -0
- package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.d.ts +82 -0
- package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.d.ts +18 -0
- package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.d.ts +26 -0
- package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.d.ts +43 -0
- package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.d.ts +118 -0
- package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.js +242 -0
- package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.d.ts +13 -0
- package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.d.ts +26 -0
- package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.d.ts +55 -0
- package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.d.ts +66 -0
- package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.d.ts +17 -0
- package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.d.ts +25 -0
- package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.d.ts +19 -0
- package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.d.ts +24 -0
- package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.js +3 -0
- package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -0
- package/dist/vendor/typeorm/metadata-args/types/ColumnMode.d.ts +7 -0
- package/dist/vendor/typeorm/metadata-args/types/ColumnMode.js +3 -0
- package/dist/vendor/typeorm/metadata-args/types/ColumnMode.js.map +1 -0
- package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +16 -0
- package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +154 -0
- package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -0
- package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.d.ts +78 -0
- package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.js +835 -0
- package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -0
- package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.d.ts +34 -0
- package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.js +220 -0
- package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -0
- package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.d.ts +35 -0
- package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +301 -0
- package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -0
- package/dist/vendor/typeorm/metadata-builder/MetadataUtils.d.ts +31 -0
- package/dist/vendor/typeorm/metadata-builder/MetadataUtils.js +51 -0
- package/dist/vendor/typeorm/metadata-builder/MetadataUtils.js.map +1 -0
- package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.d.ts +71 -0
- package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.js +216 -0
- package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -0
- package/dist/vendor/typeorm/migration/Migration.d.ts +28 -0
- package/dist/vendor/typeorm/migration/Migration.js +20 -0
- package/dist/vendor/typeorm/migration/Migration.js.map +1 -0
- package/dist/vendor/typeorm/migration/MigrationExecutor.d.ts +115 -0
- package/dist/vendor/typeorm/migration/MigrationExecutor.js +558 -0
- package/dist/vendor/typeorm/migration/MigrationExecutor.js.map +1 -0
- package/dist/vendor/typeorm/migration/MigrationInterface.d.ts +25 -0
- package/dist/vendor/typeorm/migration/MigrationInterface.js +3 -0
- package/dist/vendor/typeorm/migration/MigrationInterface.js.map +1 -0
- package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.d.ts +32 -0
- package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.js +129 -0
- package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -0
- package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.d.ts +109 -0
- package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.js +3 -0
- package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -0
- package/dist/vendor/typeorm/package.json +1 -0
- package/dist/vendor/typeorm/persistence/EntityPersistExecutor.d.ts +21 -0
- package/dist/vendor/typeorm/persistence/EntityPersistExecutor.js +179 -0
- package/dist/vendor/typeorm/persistence/EntityPersistExecutor.js.map +1 -0
- package/dist/vendor/typeorm/persistence/Subject.d.ts +155 -0
- package/dist/vendor/typeorm/persistence/Subject.js +237 -0
- package/dist/vendor/typeorm/persistence/Subject.js.map +1 -0
- package/dist/vendor/typeorm/persistence/SubjectChangeMap.d.ts +23 -0
- package/dist/vendor/typeorm/persistence/SubjectChangeMap.js +3 -0
- package/dist/vendor/typeorm/persistence/SubjectChangeMap.js.map +1 -0
- package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.d.ts +25 -0
- package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.js +231 -0
- package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -0
- package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.d.ts +29 -0
- package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.js +150 -0
- package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -0
- package/dist/vendor/typeorm/persistence/SubjectExecutor.d.ts +123 -0
- package/dist/vendor/typeorm/persistence/SubjectExecutor.js +764 -0
- package/dist/vendor/typeorm/persistence/SubjectExecutor.js.map +1 -0
- package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.d.ts +53 -0
- package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.js +192 -0
- package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.js.map +1 -0
- package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.d.ts +25 -0
- package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +136 -0
- package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -0
- package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +47 -0
- package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +232 -0
- package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -0
- package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.d.ts +33 -0
- package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +193 -0
- package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -0
- package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +33 -0
- package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +160 -0
- package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -0
- package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.d.ts +34 -0
- package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.js +245 -0
- package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -0
- package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.d.ts +23 -0
- package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +129 -0
- package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -0
- package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.d.ts +49 -0
- package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.js +281 -0
- package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -0
- package/dist/vendor/typeorm/platform/DriverPackages.d.ts +10 -0
- package/dist/vendor/typeorm/platform/DriverPackages.js +54 -0
- package/dist/vendor/typeorm/platform/DriverPackages.js.map +1 -0
- package/dist/vendor/typeorm/platform/PlatformTools.d.ts +86 -0
- package/dist/vendor/typeorm/platform/PlatformTools.js +218 -0
- package/dist/vendor/typeorm/platform/PlatformTools.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/Alias.d.ts +22 -0
- package/dist/vendor/typeorm/query-builder/Alias.js +28 -0
- package/dist/vendor/typeorm/query-builder/Alias.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/Brackets.d.ts +18 -0
- package/dist/vendor/typeorm/query-builder/Brackets.js +20 -0
- package/dist/vendor/typeorm/query-builder/Brackets.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.d.ts +109 -0
- package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.js +221 -0
- package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.d.ts +18 -0
- package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.js +3 -0
- package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.d.ts +148 -0
- package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.js +1209 -0
- package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/JoinAttribute.d.ts +91 -0
- package/dist/vendor/typeorm/query-builder/JoinAttribute.js +163 -0
- package/dist/vendor/typeorm/query-builder/JoinAttribute.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/JoinOptions.d.ts +3 -0
- package/dist/vendor/typeorm/query-builder/JoinOptions.js +3 -0
- package/dist/vendor/typeorm/query-builder/JoinOptions.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/NotBrackets.d.ts +8 -0
- package/dist/vendor/typeorm/query-builder/NotBrackets.js +16 -0
- package/dist/vendor/typeorm/query-builder/NotBrackets.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilder.d.ts +327 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilder.js +1217 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilderCte.d.ts +17 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilderCte.js +3 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilderCte.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.d.ts +12 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.js +33 -0
- package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/QueryExpressionMap.d.ts +319 -0
- package/dist/vendor/typeorm/query-builder/QueryExpressionMap.js +325 -0
- package/dist/vendor/typeorm/query-builder/QueryExpressionMap.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/QueryPartialEntity.d.ts +15 -0
- package/dist/vendor/typeorm/query-builder/QueryPartialEntity.js +3 -0
- package/dist/vendor/typeorm/query-builder/QueryPartialEntity.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/RelationIdLoader.d.ts +71 -0
- package/dist/vendor/typeorm/query-builder/RelationIdLoader.js +516 -0
- package/dist/vendor/typeorm/query-builder/RelationIdLoader.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/RelationLoader.d.ts +103 -0
- package/dist/vendor/typeorm/query-builder/RelationLoader.js +342 -0
- package/dist/vendor/typeorm/query-builder/RelationLoader.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.d.ts +70 -0
- package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.js +155 -0
- package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/RelationRemover.d.ts +18 -0
- package/dist/vendor/typeorm/query-builder/RelationRemover.js +144 -0
- package/dist/vendor/typeorm/query-builder/RelationRemover.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/RelationUpdater.d.ts +18 -0
- package/dist/vendor/typeorm/query-builder/RelationUpdater.js +153 -0
- package/dist/vendor/typeorm/query-builder/RelationUpdater.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/ReturningOption.d.ts +4 -0
- package/dist/vendor/typeorm/query-builder/ReturningOption.js +3 -0
- package/dist/vendor/typeorm/query-builder/ReturningOption.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.d.ts +36 -0
- package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.js +181 -0
- package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/SelectQuery.d.ts +5 -0
- package/dist/vendor/typeorm/query-builder/SelectQuery.js +3 -0
- package/dist/vendor/typeorm/query-builder/SelectQuery.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.d.ts +765 -0
- package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.js +2803 -0
- package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.d.ts +1 -0
- package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.js +3 -0
- package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.d.ts +166 -0
- package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.js +409 -0
- package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.d.ts +170 -0
- package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.js +535 -0
- package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/WhereClause.d.ts +16 -0
- package/dist/vendor/typeorm/query-builder/WhereClause.js +3 -0
- package/dist/vendor/typeorm/query-builder/WhereClause.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.d.ts +121 -0
- package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.js +3 -0
- package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/index.d.ts +4 -0
- package/dist/vendor/typeorm/query-builder/index.js +22 -0
- package/dist/vendor/typeorm/query-builder/index.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.d.ts +64 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.js +87 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.d.ts +5 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.js +3 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.d.ts +12 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.js +284 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +7 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +54 -0
- package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/result/DeleteResult.d.ts +16 -0
- package/dist/vendor/typeorm/query-builder/result/DeleteResult.js +16 -0
- package/dist/vendor/typeorm/query-builder/result/DeleteResult.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/result/InsertResult.d.ts +22 -0
- package/dist/vendor/typeorm/query-builder/result/InsertResult.js +27 -0
- package/dist/vendor/typeorm/query-builder/result/InsertResult.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/result/UpdateResult.d.ts +26 -0
- package/dist/vendor/typeorm/query-builder/result/UpdateResult.js +28 -0
- package/dist/vendor/typeorm/query-builder/result/UpdateResult.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.d.ts +11 -0
- package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +109 -0
- package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +12 -0
- package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +120 -0
- package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +19 -0
- package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +96 -0
- package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -0
- package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +81 -0
- package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +450 -0
- package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -0
- package/dist/vendor/typeorm/query-runner/BaseQueryRunner.d.ts +318 -0
- package/dist/vendor/typeorm/query-runner/BaseQueryRunner.js +543 -0
- package/dist/vendor/typeorm/query-runner/BaseQueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/query-runner/QueryLock.d.ts +4 -0
- package/dist/vendor/typeorm/query-runner/QueryLock.js +30 -0
- package/dist/vendor/typeorm/query-runner/QueryLock.js.map +1 -0
- package/dist/vendor/typeorm/query-runner/QueryResult.d.ts +17 -0
- package/dist/vendor/typeorm/query-runner/QueryResult.js +16 -0
- package/dist/vendor/typeorm/query-runner/QueryResult.js.map +1 -0
- package/dist/vendor/typeorm/query-runner/QueryRunner.d.ts +380 -0
- package/dist/vendor/typeorm/query-runner/QueryRunner.js +3 -0
- package/dist/vendor/typeorm/query-runner/QueryRunner.js.map +1 -0
- package/dist/vendor/typeorm/repository/BaseEntity.d.ts +387 -0
- package/dist/vendor/typeorm/repository/BaseEntity.js +387 -0
- package/dist/vendor/typeorm/repository/BaseEntity.js.map +1 -0
- package/dist/vendor/typeorm/repository/EntityId.d.ts +2 -0
- package/dist/vendor/typeorm/repository/EntityId.js +3 -0
- package/dist/vendor/typeorm/repository/EntityId.js.map +1 -0
- package/dist/vendor/typeorm/repository/FindTreesOptions.d.ts +9 -0
- package/dist/vendor/typeorm/repository/FindTreesOptions.js +3 -0
- package/dist/vendor/typeorm/repository/FindTreesOptions.js.map +1 -0
- package/dist/vendor/typeorm/repository/MongoRepository.d.ts +313 -0
- package/dist/vendor/typeorm/repository/MongoRepository.js +389 -0
- package/dist/vendor/typeorm/repository/MongoRepository.js.map +1 -0
- package/dist/vendor/typeorm/repository/RemoveOptions.d.ts +27 -0
- package/dist/vendor/typeorm/repository/RemoveOptions.js +3 -0
- package/dist/vendor/typeorm/repository/RemoveOptions.js.map +1 -0
- package/dist/vendor/typeorm/repository/Repository.d.ts +409 -0
- package/dist/vendor/typeorm/repository/Repository.js +442 -0
- package/dist/vendor/typeorm/repository/Repository.js.map +1 -0
- package/dist/vendor/typeorm/repository/SaveOptions.d.ts +35 -0
- package/dist/vendor/typeorm/repository/SaveOptions.js +3 -0
- package/dist/vendor/typeorm/repository/SaveOptions.js.map +1 -0
- package/dist/vendor/typeorm/repository/TreeRepository.d.ts +79 -0
- package/dist/vendor/typeorm/repository/TreeRepository.js +282 -0
- package/dist/vendor/typeorm/repository/TreeRepository.js.map +1 -0
- package/dist/vendor/typeorm/repository/UpdateOptions.d.ts +11 -0
- package/dist/vendor/typeorm/repository/UpdateOptions.js +3 -0
- package/dist/vendor/typeorm/repository/UpdateOptions.js.map +1 -0
- package/dist/vendor/typeorm/repository/UpsertOptions.d.ts +26 -0
- package/dist/vendor/typeorm/repository/UpsertOptions.js +3 -0
- package/dist/vendor/typeorm/repository/UpsertOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.d.ts +29 -0
- package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.js +65 -0
- package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.d.ts +174 -0
- package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.js +944 -0
- package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/SchemaBuilder.d.ts +14 -0
- package/dist/vendor/typeorm/schema-builder/SchemaBuilder.js +3 -0
- package/dist/vendor/typeorm/schema-builder/SchemaBuilder.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.d.ts +17 -0
- package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.d.ts +112 -0
- package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.d.ts +18 -0
- package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.d.ts +44 -0
- package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.d.ts +56 -0
- package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.d.ts +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableOptions.d.ts +65 -0
- package/dist/vendor/typeorm/schema-builder/options/TableOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.d.ts +18 -0
- package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/options/ViewOptions.d.ts +27 -0
- package/dist/vendor/typeorm/schema-builder/options/ViewOptions.js +3 -0
- package/dist/vendor/typeorm/schema-builder/options/ViewOptions.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/Table.d.ts +183 -0
- package/dist/vendor/typeorm/schema-builder/table/Table.js +332 -0
- package/dist/vendor/typeorm/schema-builder/table/Table.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/TableCheck.d.ts +31 -0
- package/dist/vendor/typeorm/schema-builder/table/TableCheck.js +50 -0
- package/dist/vendor/typeorm/schema-builder/table/TableCheck.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/TableColumn.d.ts +116 -0
- package/dist/vendor/typeorm/schema-builder/table/TableColumn.js +107 -0
- package/dist/vendor/typeorm/schema-builder/table/TableColumn.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/TableExclusion.d.ts +32 -0
- package/dist/vendor/typeorm/schema-builder/table/TableExclusion.js +47 -0
- package/dist/vendor/typeorm/schema-builder/table/TableExclusion.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.d.ts +60 -0
- package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.js +74 -0
- package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/TableIndex.d.ts +70 -0
- package/dist/vendor/typeorm/schema-builder/table/TableIndex.js +72 -0
- package/dist/vendor/typeorm/schema-builder/table/TableIndex.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/table/TableUnique.d.ts +32 -0
- package/dist/vendor/typeorm/schema-builder/table/TableUnique.js +51 -0
- package/dist/vendor/typeorm/schema-builder/table/TableUnique.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/util/TableUtils.d.ts +6 -0
- package/dist/vendor/typeorm/schema-builder/util/TableUtils.js +38 -0
- package/dist/vendor/typeorm/schema-builder/util/TableUtils.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/util/ViewUtils.d.ts +10 -0
- package/dist/vendor/typeorm/schema-builder/util/ViewUtils.js +29 -0
- package/dist/vendor/typeorm/schema-builder/util/ViewUtils.js.map +1 -0
- package/dist/vendor/typeorm/schema-builder/view/View.d.ts +60 -0
- package/dist/vendor/typeorm/schema-builder/view/View.js +77 -0
- package/dist/vendor/typeorm/schema-builder/view/View.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/Broadcaster.d.ts +263 -0
- package/dist/vendor/typeorm/subscriber/Broadcaster.js +761 -0
- package/dist/vendor/typeorm/subscriber/Broadcaster.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/BroadcasterResult.d.ts +17 -0
- package/dist/vendor/typeorm/subscriber/BroadcasterResult.js +29 -0
- package/dist/vendor/typeorm/subscriber/BroadcasterResult.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.d.ts +101 -0
- package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.js +3 -0
- package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/BaseEvent.d.ts +28 -0
- package/dist/vendor/typeorm/subscriber/event/BaseEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/BaseEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/InsertEvent.d.ts +20 -0
- package/dist/vendor/typeorm/subscriber/event/InsertEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/InsertEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/LoadEvent.d.ts +15 -0
- package/dist/vendor/typeorm/subscriber/event/LoadEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/LoadEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/QueryEvent.d.ts +35 -0
- package/dist/vendor/typeorm/subscriber/event/QueryEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/QueryEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/RecoverEvent.d.ts +6 -0
- package/dist/vendor/typeorm/subscriber/event/RecoverEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/RecoverEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/RemoveEvent.d.ts +24 -0
- package/dist/vendor/typeorm/subscriber/event/RemoveEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/RemoveEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.d.ts +6 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.d.ts +6 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.d.ts +6 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/dist/vendor/typeorm/subscriber/event/UpdateEvent.d.ts +34 -0
- package/dist/vendor/typeorm/subscriber/event/UpdateEvent.js +3 -0
- package/dist/vendor/typeorm/subscriber/event/UpdateEvent.js.map +1 -0
- package/dist/vendor/typeorm/util/ApplyValueTransformers.d.ts +5 -0
- package/dist/vendor/typeorm/util/ApplyValueTransformers.js +29 -0
- package/dist/vendor/typeorm/util/ApplyValueTransformers.js.map +1 -0
- package/dist/vendor/typeorm/util/DateUtils.d.ts +110 -0
- package/dist/vendor/typeorm/util/DateUtils.js +299 -0
- package/dist/vendor/typeorm/util/DateUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/DepGraph.d.ts +90 -0
- package/dist/vendor/typeorm/util/DepGraph.js +255 -0
- package/dist/vendor/typeorm/util/DepGraph.js.map +1 -0
- package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.d.ts +9 -0
- package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.js +60 -0
- package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -0
- package/dist/vendor/typeorm/util/ImportUtils.d.ts +5 -0
- package/dist/vendor/typeorm/util/ImportUtils.js +107 -0
- package/dist/vendor/typeorm/util/ImportUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/InstanceChecker.d.ts +61 -0
- package/dist/vendor/typeorm/util/InstanceChecker.js +103 -0
- package/dist/vendor/typeorm/util/InstanceChecker.js.map +1 -0
- package/dist/vendor/typeorm/util/ObjectUtils.d.ts +54 -0
- package/dist/vendor/typeorm/util/ObjectUtils.js +55 -0
- package/dist/vendor/typeorm/util/ObjectUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/OrmUtils.d.ts +133 -0
- package/dist/vendor/typeorm/util/OrmUtils.js +572 -0
- package/dist/vendor/typeorm/util/OrmUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/PathUtils.d.ts +18 -0
- package/dist/vendor/typeorm/util/PathUtils.js +40 -0
- package/dist/vendor/typeorm/util/PathUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/RandomGenerator.d.ts +17 -0
- package/dist/vendor/typeorm/util/RandomGenerator.js +182 -0
- package/dist/vendor/typeorm/util/RandomGenerator.js.map +1 -0
- package/dist/vendor/typeorm/util/SqlTagUtils.d.ts +18 -0
- package/dist/vendor/typeorm/util/SqlTagUtils.js +49 -0
- package/dist/vendor/typeorm/util/SqlTagUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/StringUtils.d.ts +67 -0
- package/dist/vendor/typeorm/util/StringUtils.js +105 -0
- package/dist/vendor/typeorm/util/StringUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/TreeRepositoryUtils.d.ts +23 -0
- package/dist/vendor/typeorm/util/TreeRepositoryUtils.js +66 -0
- package/dist/vendor/typeorm/util/TreeRepositoryUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/Uint8ArrayUtils.d.ts +3 -0
- package/dist/vendor/typeorm/util/Uint8ArrayUtils.js +45 -0
- package/dist/vendor/typeorm/util/Uint8ArrayUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/VersionUtils.d.ts +3 -0
- package/dist/vendor/typeorm/util/VersionUtils.js +33 -0
- package/dist/vendor/typeorm/util/VersionUtils.js.map +1 -0
- package/dist/vendor/typeorm/util/escapeRegExp.d.ts +1 -0
- package/dist/vendor/typeorm/util/escapeRegExp.js +9 -0
- package/dist/vendor/typeorm/util/escapeRegExp.js.map +1 -0
- package/package.json +114 -8
|
@@ -0,0 +1,2452 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SapQueryRunner = void 0;
|
|
4
|
+
const node_util_1 = require("node:util");
|
|
5
|
+
const error_1 = require("../../error");
|
|
6
|
+
const QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
|
|
7
|
+
const TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
|
|
8
|
+
const TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
|
|
9
|
+
const BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
|
|
10
|
+
const QueryLock_1 = require("../../query-runner/QueryLock");
|
|
11
|
+
const QueryResult_1 = require("../../query-runner/QueryResult");
|
|
12
|
+
const Table_1 = require("../../schema-builder/table/Table");
|
|
13
|
+
const TableCheck_1 = require("../../schema-builder/table/TableCheck");
|
|
14
|
+
const TableColumn_1 = require("../../schema-builder/table/TableColumn");
|
|
15
|
+
const TableForeignKey_1 = require("../../schema-builder/table/TableForeignKey");
|
|
16
|
+
const TableIndex_1 = require("../../schema-builder/table/TableIndex");
|
|
17
|
+
const TableUnique_1 = require("../../schema-builder/table/TableUnique");
|
|
18
|
+
const View_1 = require("../../schema-builder/view/View");
|
|
19
|
+
const Broadcaster_1 = require("../../subscriber/Broadcaster");
|
|
20
|
+
const BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
21
|
+
const InstanceChecker_1 = require("../../util/InstanceChecker");
|
|
22
|
+
const OrmUtils_1 = require("../../util/OrmUtils");
|
|
23
|
+
const Query_1 = require("../Query");
|
|
24
|
+
const validate_isolation_level_1 = require("../validate-isolation-level");
|
|
25
|
+
const MetadataTableType_1 = require("../types/MetadataTableType");
|
|
26
|
+
const NamedPlaceholdersNotSupportedError_1 = require("../../error/NamedPlaceholdersNotSupportedError");
|
|
27
|
+
/**
|
|
28
|
+
* Runs queries on a single SQL Server database connection.
|
|
29
|
+
*/
|
|
30
|
+
class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
31
|
+
// -------------------------------------------------------------------------
|
|
32
|
+
// Constructor
|
|
33
|
+
// -------------------------------------------------------------------------
|
|
34
|
+
constructor(driver, mode) {
|
|
35
|
+
super();
|
|
36
|
+
this.lock = new QueryLock_1.QueryLock();
|
|
37
|
+
this.driver = driver;
|
|
38
|
+
this.dataSource = driver.dataSource;
|
|
39
|
+
this.broadcaster = new Broadcaster_1.Broadcaster(this);
|
|
40
|
+
this.mode = mode;
|
|
41
|
+
}
|
|
42
|
+
// -------------------------------------------------------------------------
|
|
43
|
+
// Public Methods
|
|
44
|
+
// -------------------------------------------------------------------------
|
|
45
|
+
/**
|
|
46
|
+
* Creates/uses database connection from the connection pool to perform further operations.
|
|
47
|
+
* Returns obtained database connection.
|
|
48
|
+
*/
|
|
49
|
+
async connect() {
|
|
50
|
+
if (this.databaseConnection)
|
|
51
|
+
return this.databaseConnection;
|
|
52
|
+
this.databaseConnection = await this.driver.obtainMasterConnection();
|
|
53
|
+
return this.databaseConnection;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Releases used database connection.
|
|
57
|
+
* You cannot use query runner methods once its released.
|
|
58
|
+
*/
|
|
59
|
+
async release() {
|
|
60
|
+
this.isReleased = true;
|
|
61
|
+
if (this.databaseConnection) {
|
|
62
|
+
// return the connection back to the pool
|
|
63
|
+
try {
|
|
64
|
+
await (0, node_util_1.promisify)(this.databaseConnection.disconnect).call(this.databaseConnection);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
this.driver.poolErrorHandler(error);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Starts transaction.
|
|
74
|
+
*
|
|
75
|
+
* @param isolationLevel
|
|
76
|
+
*/
|
|
77
|
+
async startTransaction(isolationLevel) {
|
|
78
|
+
isolationLevel ??= this.dataSource.options.isolationLevel;
|
|
79
|
+
(0, validate_isolation_level_1.validateIsolationLevel)(this.driver.supportedIsolationLevels, isolationLevel);
|
|
80
|
+
if (this.isReleased)
|
|
81
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
82
|
+
if (this.isTransactionActive &&
|
|
83
|
+
this.driver.transactionSupport === "simple")
|
|
84
|
+
throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
|
|
85
|
+
await this.broadcaster.broadcast("BeforeTransactionStart");
|
|
86
|
+
this.isTransactionActive = true;
|
|
87
|
+
/**
|
|
88
|
+
* Disable AUTOCOMMIT while running transaction.
|
|
89
|
+
* Otherwise, COMMIT/ROLLBACK doesn't work in autocommit mode.
|
|
90
|
+
*/
|
|
91
|
+
await this.setAutoCommit({ status: "off" });
|
|
92
|
+
if (isolationLevel) {
|
|
93
|
+
await this.query(`SET TRANSACTION ISOLATION LEVEL ${isolationLevel || ""}`);
|
|
94
|
+
}
|
|
95
|
+
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Commits transaction.
|
|
99
|
+
* Error will be thrown if transaction was not started.
|
|
100
|
+
*/
|
|
101
|
+
async commitTransaction() {
|
|
102
|
+
if (this.isReleased)
|
|
103
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
104
|
+
if (!this.isTransactionActive)
|
|
105
|
+
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
106
|
+
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
107
|
+
await this.query("COMMIT");
|
|
108
|
+
this.isTransactionActive = false;
|
|
109
|
+
await this.setAutoCommit({ status: "on" });
|
|
110
|
+
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Rollbacks transaction.
|
|
114
|
+
* Error will be thrown if transaction was not started.
|
|
115
|
+
*/
|
|
116
|
+
async rollbackTransaction() {
|
|
117
|
+
if (this.isReleased)
|
|
118
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
119
|
+
if (!this.isTransactionActive)
|
|
120
|
+
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
121
|
+
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
122
|
+
await this.query("ROLLBACK");
|
|
123
|
+
this.isTransactionActive = false;
|
|
124
|
+
await this.setAutoCommit({ status: "on" });
|
|
125
|
+
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Switches AUTOCOMMIT mode on/off
|
|
129
|
+
*
|
|
130
|
+
* @see https://help.sap.com/docs/HANA_SERVICE_CF/7c78579ce9b14a669c1f3295b0d8ca16/d538d11053bd4f3f847ec5ce817a3d4c.html?locale=en-US
|
|
131
|
+
* @param options
|
|
132
|
+
* @param options.status
|
|
133
|
+
*/
|
|
134
|
+
async setAutoCommit(options) {
|
|
135
|
+
const connection = await this.connect();
|
|
136
|
+
connection.setAutoCommit(options.status === "on");
|
|
137
|
+
const query = `SET TRANSACTION AUTOCOMMIT DDL ${options.status.toUpperCase()}`;
|
|
138
|
+
this.driver.dataSource.logger.logQuery(query, [], this);
|
|
139
|
+
try {
|
|
140
|
+
await (0, node_util_1.promisify)(connection.exec).call(connection, query);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
throw new error_1.QueryFailedError(query, [], error);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Executes a given SQL query.
|
|
148
|
+
*
|
|
149
|
+
* @param query
|
|
150
|
+
* @param parameters
|
|
151
|
+
* @param useStructuredResult
|
|
152
|
+
*/
|
|
153
|
+
async query(query, parameters, useStructuredResult = false) {
|
|
154
|
+
if (this.isReleased)
|
|
155
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
156
|
+
if (parameters && !Array.isArray(parameters))
|
|
157
|
+
throw new NamedPlaceholdersNotSupportedError_1.NamedPlaceholdersNotSupportedError();
|
|
158
|
+
const release = await this.lock.acquire();
|
|
159
|
+
const databaseConnection = await this.connect();
|
|
160
|
+
let statement;
|
|
161
|
+
const result = new QueryResult_1.QueryResult();
|
|
162
|
+
this.driver.dataSource.logger.logQuery(query, parameters, this);
|
|
163
|
+
await this.broadcaster.broadcast("BeforeQuery", query, parameters);
|
|
164
|
+
const broadcasterResult = new BroadcasterResult_1.BroadcasterResult();
|
|
165
|
+
try {
|
|
166
|
+
const queryStartTime = Date.now();
|
|
167
|
+
const isInsertQuery = query.startsWith("INSERT INTO");
|
|
168
|
+
if (parameters?.some(Array.isArray)) {
|
|
169
|
+
statement = await (0, node_util_1.promisify)(databaseConnection.prepare).call(databaseConnection, query);
|
|
170
|
+
}
|
|
171
|
+
let raw;
|
|
172
|
+
try {
|
|
173
|
+
raw = statement
|
|
174
|
+
? await (0, node_util_1.promisify)(statement.exec).call(statement, parameters)
|
|
175
|
+
: await (0, node_util_1.promisify)(databaseConnection.exec).call(databaseConnection, query, parameters, {});
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
throw new error_1.QueryFailedError(query, parameters, err);
|
|
179
|
+
}
|
|
180
|
+
// log slow queries if maxQueryExecution time is set
|
|
181
|
+
const maxQueryExecutionTime = this.driver.dataSource.options.maxQueryExecutionTime;
|
|
182
|
+
const queryEndTime = Date.now();
|
|
183
|
+
const queryExecutionTime = queryEndTime - queryStartTime;
|
|
184
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
|
|
185
|
+
if (maxQueryExecutionTime &&
|
|
186
|
+
queryExecutionTime > maxQueryExecutionTime) {
|
|
187
|
+
this.driver.dataSource.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
|
|
188
|
+
}
|
|
189
|
+
if (typeof raw === "number") {
|
|
190
|
+
result.affected = raw;
|
|
191
|
+
}
|
|
192
|
+
else if (Array.isArray(raw)) {
|
|
193
|
+
result.records = raw;
|
|
194
|
+
}
|
|
195
|
+
result.raw = raw;
|
|
196
|
+
if (isInsertQuery) {
|
|
197
|
+
const lastIdQuery = `SELECT CURRENT_IDENTITY_VALUE() FROM "SYS"."DUMMY"`;
|
|
198
|
+
this.driver.dataSource.logger.logQuery(lastIdQuery, [], this);
|
|
199
|
+
try {
|
|
200
|
+
const identityValueResult = await (0, node_util_1.promisify)(databaseConnection.exec).call(databaseConnection, lastIdQuery);
|
|
201
|
+
result.raw =
|
|
202
|
+
identityValueResult[0]["CURRENT_IDENTITY_VALUE()"];
|
|
203
|
+
result.records = identityValueResult;
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
throw new error_1.QueryFailedError(lastIdQuery, [], error);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
catch (err) {
|
|
211
|
+
this.driver.dataSource.logger.logQueryError(err, query, parameters, this);
|
|
212
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
|
|
213
|
+
throw err;
|
|
214
|
+
}
|
|
215
|
+
finally {
|
|
216
|
+
// Never forget to drop the statement we reserved
|
|
217
|
+
if (statement?.drop) {
|
|
218
|
+
await (0, node_util_1.promisify)(statement.drop).call(statement);
|
|
219
|
+
}
|
|
220
|
+
await broadcasterResult.wait();
|
|
221
|
+
// Always release the lock.
|
|
222
|
+
release();
|
|
223
|
+
}
|
|
224
|
+
if (useStructuredResult) {
|
|
225
|
+
return result;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
return result.raw;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Returns raw data stream.
|
|
233
|
+
*
|
|
234
|
+
* @param query
|
|
235
|
+
* @param parameters
|
|
236
|
+
* @param onEnd
|
|
237
|
+
* @param onError
|
|
238
|
+
*/
|
|
239
|
+
async stream(query, parameters, onEnd, onError) {
|
|
240
|
+
if (this.isReleased)
|
|
241
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
242
|
+
const release = await this.lock.acquire();
|
|
243
|
+
let statement;
|
|
244
|
+
let resultSet;
|
|
245
|
+
const cleanup = async () => {
|
|
246
|
+
const originalStatement = statement;
|
|
247
|
+
const originalResultSet = resultSet;
|
|
248
|
+
statement = null;
|
|
249
|
+
resultSet = null;
|
|
250
|
+
if (originalResultSet) {
|
|
251
|
+
await (0, node_util_1.promisify)(originalResultSet.close).call(originalResultSet);
|
|
252
|
+
}
|
|
253
|
+
if (originalStatement) {
|
|
254
|
+
await (0, node_util_1.promisify)(originalStatement.drop).call(originalStatement);
|
|
255
|
+
}
|
|
256
|
+
release();
|
|
257
|
+
};
|
|
258
|
+
try {
|
|
259
|
+
const databaseConnection = await this.connect();
|
|
260
|
+
this.driver.dataSource.logger.logQuery(query, parameters, this);
|
|
261
|
+
statement = await (0, node_util_1.promisify)(databaseConnection.prepare).call(databaseConnection, query);
|
|
262
|
+
resultSet = await (0, node_util_1.promisify)(statement.executeQuery).call(statement, parameters);
|
|
263
|
+
const stream = this.driver.streamClient.createObjectStream(resultSet);
|
|
264
|
+
if (onEnd) {
|
|
265
|
+
stream.on("end", onEnd);
|
|
266
|
+
}
|
|
267
|
+
stream.on("error", (error) => {
|
|
268
|
+
this.driver.dataSource.logger.logQueryError(error, query, parameters, this);
|
|
269
|
+
onError?.(error);
|
|
270
|
+
});
|
|
271
|
+
stream.on("close", cleanup);
|
|
272
|
+
return stream;
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
this.driver.dataSource.logger.logQueryError(error, query, parameters, this);
|
|
276
|
+
await cleanup();
|
|
277
|
+
throw new error_1.QueryFailedError(query, parameters, error);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Returns all available database names including system databases.
|
|
282
|
+
*/
|
|
283
|
+
async getDatabases() {
|
|
284
|
+
const results = await this.query(`SELECT DATABASE_NAME FROM "SYS"."M_DATABASES"`);
|
|
285
|
+
return results.map((result) => result["DATABASE_NAME"]);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Returns all available schema names including system schemas.
|
|
289
|
+
* If database parameter specified, returns schemas of that database.
|
|
290
|
+
*
|
|
291
|
+
* @param database
|
|
292
|
+
*/
|
|
293
|
+
async getSchemas(database) {
|
|
294
|
+
const query = database
|
|
295
|
+
? `SELECT * FROM "${database}"."SYS"."SCHEMAS"`
|
|
296
|
+
: `SELECT * FROM "SYS"."SCHEMAS"`;
|
|
297
|
+
const results = await this.query(query);
|
|
298
|
+
return results.map((result) => result["SCHEMA_NAME"]);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Checks if database with the given name exist.
|
|
302
|
+
*
|
|
303
|
+
* @param database
|
|
304
|
+
*/
|
|
305
|
+
async hasDatabase(database) {
|
|
306
|
+
const databases = await this.getDatabases();
|
|
307
|
+
return databases.indexOf(database) !== -1;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Returns current database.
|
|
311
|
+
*/
|
|
312
|
+
async getCurrentDatabase() {
|
|
313
|
+
const currentDBQuery = await this.query(`SELECT "DATABASE_NAME" AS "dbName" FROM "SYS"."M_DATABASE"`);
|
|
314
|
+
return currentDBQuery[0].dbName;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Returns the database server version.
|
|
318
|
+
*/
|
|
319
|
+
async getDatabaseAndVersion() {
|
|
320
|
+
const currentDBQuery = await this.query(`SELECT "DATABASE_NAME" AS "database", "VERSION" AS "version" FROM "SYS"."M_DATABASE"`);
|
|
321
|
+
return currentDBQuery[0];
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Checks if schema with the given name exist.
|
|
325
|
+
*
|
|
326
|
+
* @param schema
|
|
327
|
+
*/
|
|
328
|
+
async hasSchema(schema) {
|
|
329
|
+
const schemas = await this.getSchemas();
|
|
330
|
+
return schemas.indexOf(schema) !== -1;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Returns current schema.
|
|
334
|
+
*/
|
|
335
|
+
async getCurrentSchema() {
|
|
336
|
+
const currentSchemaQuery = await this.query(`SELECT CURRENT_SCHEMA AS "schemaName" FROM "SYS"."DUMMY"`);
|
|
337
|
+
return currentSchemaQuery[0].schemaName;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Checks if table with the given name exist in the database.
|
|
341
|
+
*
|
|
342
|
+
* @param tableOrName
|
|
343
|
+
*/
|
|
344
|
+
async hasTable(tableOrName) {
|
|
345
|
+
const parsedTableName = this.driver.parseTableName(tableOrName);
|
|
346
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
347
|
+
const sql = `SELECT COUNT(*) as "hasTable" FROM "SYS"."TABLES" WHERE "SCHEMA_NAME" = ? AND "TABLE_NAME" = ?`;
|
|
348
|
+
const result = await this.query(sql, [
|
|
349
|
+
parsedTableName.schema,
|
|
350
|
+
parsedTableName.tableName,
|
|
351
|
+
]);
|
|
352
|
+
return result[0].hasTable > 0;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Checks if column with the given name exist in the given table.
|
|
356
|
+
*
|
|
357
|
+
* @param tableOrName
|
|
358
|
+
* @param columnName
|
|
359
|
+
*/
|
|
360
|
+
async hasColumn(tableOrName, columnName) {
|
|
361
|
+
const parsedTableName = this.driver.parseTableName(tableOrName);
|
|
362
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
363
|
+
const sql = `SELECT COUNT(*) as "hasColumn" FROM "SYS"."TABLE_COLUMNS" WHERE "SCHEMA_NAME" = ? AND "TABLE_NAME" = ? AND "COLUMN_NAME" = ?`;
|
|
364
|
+
const result = await this.query(sql, [
|
|
365
|
+
parsedTableName.schema,
|
|
366
|
+
parsedTableName.tableName,
|
|
367
|
+
columnName,
|
|
368
|
+
]);
|
|
369
|
+
return result[0].hasColumn > 0;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Creates a new database.
|
|
373
|
+
*
|
|
374
|
+
* @param database
|
|
375
|
+
* @param ifNotExists
|
|
376
|
+
*/
|
|
377
|
+
async createDatabase(database, ifNotExists) {
|
|
378
|
+
return Promise.resolve();
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Drops database.
|
|
382
|
+
*
|
|
383
|
+
* @param database
|
|
384
|
+
* @param ifExists
|
|
385
|
+
*/
|
|
386
|
+
async dropDatabase(database, ifExists) {
|
|
387
|
+
return Promise.resolve();
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Creates a new table schema.
|
|
391
|
+
*
|
|
392
|
+
* @param schemaPath
|
|
393
|
+
* @param ifNotExists
|
|
394
|
+
*/
|
|
395
|
+
async createSchema(schemaPath, ifNotExists) {
|
|
396
|
+
const schema = schemaPath.indexOf(".") === -1
|
|
397
|
+
? schemaPath
|
|
398
|
+
: schemaPath.split(".")[1];
|
|
399
|
+
const escapedSchema = this.driver.escape(schema);
|
|
400
|
+
let exist = false;
|
|
401
|
+
if (ifNotExists) {
|
|
402
|
+
const result = await this.query(`SELECT * FROM "SYS"."SCHEMAS" WHERE "SCHEMA_NAME" = ?`, [schema]);
|
|
403
|
+
exist = !!result.length;
|
|
404
|
+
}
|
|
405
|
+
if (!ifNotExists || (ifNotExists && !exist)) {
|
|
406
|
+
const up = `CREATE SCHEMA ${escapedSchema}`;
|
|
407
|
+
const down = `DROP SCHEMA ${escapedSchema} CASCADE`;
|
|
408
|
+
await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Drops table schema
|
|
413
|
+
*
|
|
414
|
+
* @param schemaPath
|
|
415
|
+
* @param ifExists
|
|
416
|
+
* @param isCascade
|
|
417
|
+
*/
|
|
418
|
+
async dropSchema(schemaPath, ifExists, isCascade) {
|
|
419
|
+
const schema = schemaPath.indexOf(".") === -1
|
|
420
|
+
? schemaPath
|
|
421
|
+
: schemaPath.split(".")[1];
|
|
422
|
+
const escapedSchema = this.driver.escape(schema);
|
|
423
|
+
let exist = false;
|
|
424
|
+
if (ifExists) {
|
|
425
|
+
const result = await this.query(`SELECT * FROM "SYS"."SCHEMAS" WHERE "SCHEMA_NAME" = ?`, [schema]);
|
|
426
|
+
exist = !!result.length;
|
|
427
|
+
}
|
|
428
|
+
if (!ifExists || (ifExists && exist)) {
|
|
429
|
+
const up = `DROP SCHEMA ${escapedSchema} ${isCascade ? "CASCADE" : ""}`;
|
|
430
|
+
const down = `CREATE SCHEMA ${escapedSchema}`;
|
|
431
|
+
await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Creates a new table.
|
|
436
|
+
*
|
|
437
|
+
* @param table
|
|
438
|
+
* @param ifNotExists
|
|
439
|
+
* @param createForeignKeys
|
|
440
|
+
* @param createIndices
|
|
441
|
+
*/
|
|
442
|
+
async createTable(table, ifNotExists = false, createForeignKeys = true, createIndices = true) {
|
|
443
|
+
if (ifNotExists) {
|
|
444
|
+
const isTableExist = await this.hasTable(table);
|
|
445
|
+
if (isTableExist)
|
|
446
|
+
return Promise.resolve();
|
|
447
|
+
}
|
|
448
|
+
const upQueries = [];
|
|
449
|
+
const downQueries = [];
|
|
450
|
+
upQueries.push(this.createTableSql(table, createForeignKeys));
|
|
451
|
+
downQueries.push(this.dropTableSql(table));
|
|
452
|
+
// if createForeignKeys is true, we must drop created foreign keys in down query.
|
|
453
|
+
// createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
|
|
454
|
+
if (createForeignKeys)
|
|
455
|
+
table.foreignKeys.forEach((foreignKey) => downQueries.push(this.dropForeignKeySql(table, foreignKey)));
|
|
456
|
+
if (createIndices) {
|
|
457
|
+
table.indices.forEach((index) => {
|
|
458
|
+
// new index may be passed without name. In this case we generate index name manually.
|
|
459
|
+
index.name ??= this.dataSource.namingStrategy.indexName(table, index.columnNames, index.where);
|
|
460
|
+
upQueries.push(this.createIndexSql(table, index));
|
|
461
|
+
downQueries.push(this.dropIndexSql(table, index));
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
// if table has generated column, we must add the expression to the metadata table
|
|
465
|
+
const generatedColumns = table.columns.filter((column) => column.asExpression);
|
|
466
|
+
if (generatedColumns.length > 0) {
|
|
467
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
468
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
469
|
+
for (const column of generatedColumns) {
|
|
470
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
471
|
+
schema: parsedTableName.schema,
|
|
472
|
+
table: parsedTableName.tableName,
|
|
473
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
474
|
+
name: column.name,
|
|
475
|
+
value: column.asExpression,
|
|
476
|
+
});
|
|
477
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
478
|
+
schema: parsedTableName.schema,
|
|
479
|
+
table: parsedTableName.tableName,
|
|
480
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
481
|
+
name: column.name,
|
|
482
|
+
});
|
|
483
|
+
upQueries.push(insertQuery);
|
|
484
|
+
downQueries.push(deleteQuery);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
await this.executeQueries(upQueries, downQueries);
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Drops the table.
|
|
491
|
+
*
|
|
492
|
+
* @param tableOrName
|
|
493
|
+
* @param ifExists
|
|
494
|
+
* @param dropForeignKeys
|
|
495
|
+
* @param dropIndices
|
|
496
|
+
*/
|
|
497
|
+
async dropTable(tableOrName, ifExists, dropForeignKeys = true, dropIndices = true) {
|
|
498
|
+
if (ifExists) {
|
|
499
|
+
const isTableExist = await this.hasTable(tableOrName);
|
|
500
|
+
if (!isTableExist)
|
|
501
|
+
return Promise.resolve();
|
|
502
|
+
}
|
|
503
|
+
// if dropTable called with dropForeignKeys = true, we must create foreign keys in down query.
|
|
504
|
+
const createForeignKeys = dropForeignKeys;
|
|
505
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
506
|
+
? tableOrName
|
|
507
|
+
: await this.getCachedTable(tableOrName);
|
|
508
|
+
const upQueries = [];
|
|
509
|
+
const downQueries = [];
|
|
510
|
+
// It needs because if table does not exist and dropForeignKeys or dropIndices is true, we don't need
|
|
511
|
+
// to perform drop queries for foreign keys and indices.
|
|
512
|
+
if (dropIndices) {
|
|
513
|
+
table.indices.forEach((index) => {
|
|
514
|
+
upQueries.push(this.dropIndexSql(table, index));
|
|
515
|
+
downQueries.push(this.createIndexSql(table, index));
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
// if dropForeignKeys is true, we just drop the table, otherwise we also drop table foreign keys.
|
|
519
|
+
// createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
|
|
520
|
+
if (dropForeignKeys)
|
|
521
|
+
table.foreignKeys.forEach((foreignKey) => upQueries.push(this.dropForeignKeySql(table, foreignKey)));
|
|
522
|
+
// if table has column with generated type, we must add the expression to the metadata table
|
|
523
|
+
const generatedColumns = table.columns.filter((column) => column.asExpression != null);
|
|
524
|
+
if (generatedColumns.length > 0) {
|
|
525
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
526
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
527
|
+
for (const column of generatedColumns) {
|
|
528
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
529
|
+
schema: parsedTableName.schema,
|
|
530
|
+
table: parsedTableName.tableName,
|
|
531
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
532
|
+
name: column.name,
|
|
533
|
+
});
|
|
534
|
+
upQueries.push(deleteQuery);
|
|
535
|
+
if (column.asExpression) {
|
|
536
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
537
|
+
schema: parsedTableName.schema,
|
|
538
|
+
table: parsedTableName.tableName,
|
|
539
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
540
|
+
name: column.name,
|
|
541
|
+
value: column.asExpression,
|
|
542
|
+
});
|
|
543
|
+
downQueries.push(insertQuery);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
upQueries.push(this.dropTableSql(table));
|
|
548
|
+
downQueries.push(this.createTableSql(table, createForeignKeys));
|
|
549
|
+
await this.executeQueries(upQueries, downQueries);
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Creates a new view.
|
|
553
|
+
*
|
|
554
|
+
* @param view
|
|
555
|
+
* @param syncWithMetadata
|
|
556
|
+
*/
|
|
557
|
+
async createView(view, syncWithMetadata = false) {
|
|
558
|
+
const upQueries = [];
|
|
559
|
+
const downQueries = [];
|
|
560
|
+
upQueries.push(this.createViewSql(view));
|
|
561
|
+
if (syncWithMetadata)
|
|
562
|
+
upQueries.push(await this.insertViewDefinitionSql(view));
|
|
563
|
+
downQueries.push(this.dropViewSql(view));
|
|
564
|
+
if (syncWithMetadata)
|
|
565
|
+
downQueries.push(await this.deleteViewDefinitionSql(view));
|
|
566
|
+
await this.executeQueries(upQueries, downQueries);
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Drops the view.
|
|
570
|
+
*
|
|
571
|
+
* @param target
|
|
572
|
+
* @param ifExists
|
|
573
|
+
*/
|
|
574
|
+
async dropView(target, ifExists) {
|
|
575
|
+
const viewName = InstanceChecker_1.InstanceChecker.isView(target) ? target.name : target;
|
|
576
|
+
if (ifExists) {
|
|
577
|
+
const foundViews = await this.loadViews([viewName]);
|
|
578
|
+
if (foundViews.length === 0)
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
const view = await this.getCachedView(viewName);
|
|
582
|
+
const upQueries = [];
|
|
583
|
+
const downQueries = [];
|
|
584
|
+
upQueries.push(await this.deleteViewDefinitionSql(view));
|
|
585
|
+
upQueries.push(this.dropViewSql(view));
|
|
586
|
+
downQueries.push(await this.insertViewDefinitionSql(view));
|
|
587
|
+
downQueries.push(this.createViewSql(view));
|
|
588
|
+
await this.executeQueries(upQueries, downQueries);
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* Renames a table.
|
|
592
|
+
*
|
|
593
|
+
* @param oldTableOrName
|
|
594
|
+
* @param newTableName
|
|
595
|
+
*/
|
|
596
|
+
async renameTable(oldTableOrName, newTableName) {
|
|
597
|
+
const upQueries = [];
|
|
598
|
+
const downQueries = [];
|
|
599
|
+
const oldTable = InstanceChecker_1.InstanceChecker.isTable(oldTableOrName)
|
|
600
|
+
? oldTableOrName
|
|
601
|
+
: await this.getCachedTable(oldTableOrName);
|
|
602
|
+
const newTable = oldTable.clone();
|
|
603
|
+
const { schema: schemaName, tableName: oldTableName } = this.driver.parseTableName(oldTable);
|
|
604
|
+
newTable.name = schemaName
|
|
605
|
+
? `${schemaName}.${newTableName}`
|
|
606
|
+
: newTableName;
|
|
607
|
+
// rename table
|
|
608
|
+
upQueries.push(new Query_1.Query(`RENAME TABLE ${this.escapePath(oldTable)} TO ${this.escapePath(newTable)}`));
|
|
609
|
+
downQueries.push(new Query_1.Query(`RENAME TABLE ${this.escapePath(newTable)} TO ${this.escapePath(oldTable)}`));
|
|
610
|
+
const hasGeneratedColumns = oldTable.columns.some((col) => col.asExpression != null);
|
|
611
|
+
if (hasGeneratedColumns) {
|
|
612
|
+
const schema = schemaName ?? (await this.getCurrentSchema());
|
|
613
|
+
const updateQuery = this.updateTypeormMetadataSql({
|
|
614
|
+
schema: schema,
|
|
615
|
+
table: oldTableName,
|
|
616
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
617
|
+
valueToSet: { table: newTableName },
|
|
618
|
+
});
|
|
619
|
+
const revertUpdateQuery = this.updateTypeormMetadataSql({
|
|
620
|
+
schema: schema,
|
|
621
|
+
table: newTableName,
|
|
622
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
623
|
+
valueToSet: { table: oldTableName },
|
|
624
|
+
});
|
|
625
|
+
upQueries.push(updateQuery);
|
|
626
|
+
downQueries.push(revertUpdateQuery);
|
|
627
|
+
}
|
|
628
|
+
// drop old FK's. Foreign keys must be dropped before the primary keys are dropped
|
|
629
|
+
newTable.foreignKeys.forEach((foreignKey) => {
|
|
630
|
+
upQueries.push(this.dropForeignKeySql(newTable, foreignKey));
|
|
631
|
+
downQueries.push(this.createForeignKeySql(newTable, foreignKey));
|
|
632
|
+
});
|
|
633
|
+
// SAP HANA does not allow to drop PK's which is referenced by foreign keys.
|
|
634
|
+
// To avoid this, we must drop all referential foreign keys and recreate them later
|
|
635
|
+
const referencedForeignKeySql = `SELECT * FROM "SYS"."REFERENTIAL_CONSTRAINTS" WHERE "REFERENCED_SCHEMA_NAME" = '${schemaName}' AND "REFERENCED_TABLE_NAME" = '${oldTableName}'`;
|
|
636
|
+
const dbForeignKeys = await this.query(referencedForeignKeySql);
|
|
637
|
+
let referencedForeignKeys = [];
|
|
638
|
+
const referencedForeignKeyTableMapping = [];
|
|
639
|
+
if (dbForeignKeys.length > 0) {
|
|
640
|
+
referencedForeignKeys = dbForeignKeys.map((dbForeignKey) => {
|
|
641
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
642
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
643
|
+
referencedForeignKeyTableMapping.push({
|
|
644
|
+
tableName: `${dbForeignKey["SCHEMA_NAME"]}.${dbForeignKey["TABLE_NAME"]}`,
|
|
645
|
+
fkName: dbForeignKey["CONSTRAINT_NAME"],
|
|
646
|
+
});
|
|
647
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
648
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
649
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
650
|
+
referencedDatabase: newTable.database,
|
|
651
|
+
referencedSchema: newTable.schema,
|
|
652
|
+
referencedTableName: newTable.name, // we use renamed table name
|
|
653
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
654
|
+
onDelete: dbForeignKey["DELETE_RULE"] === "RESTRICT"
|
|
655
|
+
? "NO ACTION"
|
|
656
|
+
: dbForeignKey["DELETE_RULE"],
|
|
657
|
+
onUpdate: dbForeignKey["UPDATE_RULE"] === "RESTRICT"
|
|
658
|
+
? "NO ACTION"
|
|
659
|
+
: dbForeignKey["UPDATE_RULE"],
|
|
660
|
+
deferrable: dbForeignKey["CHECK_TIME"].replace("_", " "), // "CHECK_TIME" is "INITIALLY_IMMEDIATE" or "INITIALLY DEFERRED"
|
|
661
|
+
});
|
|
662
|
+
});
|
|
663
|
+
// drop referenced foreign keys
|
|
664
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
665
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
666
|
+
upQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
667
|
+
downQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
668
|
+
});
|
|
669
|
+
}
|
|
670
|
+
// rename primary key constraint
|
|
671
|
+
if (newTable.primaryColumns.length > 0) {
|
|
672
|
+
const columnNames = newTable.primaryColumns.map((column) => column.name);
|
|
673
|
+
const columnNamesString = columnNames
|
|
674
|
+
.map((columnName) => `"${columnName}"`)
|
|
675
|
+
.join(", ");
|
|
676
|
+
const oldPkName = this.dataSource.namingStrategy.primaryKeyName(oldTable, columnNames);
|
|
677
|
+
const newPkName = this.dataSource.namingStrategy.primaryKeyName(newTable, columnNames);
|
|
678
|
+
// drop old PK
|
|
679
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} DROP CONSTRAINT "${oldPkName}"`));
|
|
680
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} ADD CONSTRAINT "${oldPkName}" PRIMARY KEY (${columnNamesString})`));
|
|
681
|
+
// create new PK
|
|
682
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} ADD CONSTRAINT "${newPkName}" PRIMARY KEY (${columnNamesString})`));
|
|
683
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} DROP CONSTRAINT "${newPkName}"`));
|
|
684
|
+
}
|
|
685
|
+
// recreate foreign keys with new constraint names
|
|
686
|
+
newTable.foreignKeys.forEach((foreignKey) => {
|
|
687
|
+
// replace constraint name
|
|
688
|
+
foreignKey.name = this.dataSource.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
689
|
+
// create new FK's
|
|
690
|
+
upQueries.push(this.createForeignKeySql(newTable, foreignKey));
|
|
691
|
+
downQueries.push(this.dropForeignKeySql(newTable, foreignKey));
|
|
692
|
+
});
|
|
693
|
+
// restore referenced foreign keys
|
|
694
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
695
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
696
|
+
upQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
697
|
+
downQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
698
|
+
});
|
|
699
|
+
// rename index constraints
|
|
700
|
+
newTable.indices.forEach((index) => {
|
|
701
|
+
// build new constraint name
|
|
702
|
+
const newIndexName = this.dataSource.namingStrategy.indexName(newTable, index.columnNames, index.where);
|
|
703
|
+
// drop old index
|
|
704
|
+
upQueries.push(this.dropIndexSql(newTable, index));
|
|
705
|
+
downQueries.push(this.createIndexSql(newTable, index));
|
|
706
|
+
// replace constraint name
|
|
707
|
+
index.name = newIndexName;
|
|
708
|
+
// create new index
|
|
709
|
+
upQueries.push(this.createIndexSql(newTable, index));
|
|
710
|
+
downQueries.push(this.dropIndexSql(newTable, index));
|
|
711
|
+
});
|
|
712
|
+
await this.executeQueries(upQueries, downQueries);
|
|
713
|
+
// rename old table and replace it in cached tabled;
|
|
714
|
+
oldTable.name = newTable.name;
|
|
715
|
+
this.replaceCachedTable(oldTable, newTable);
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* Creates a new column from the column in the table.
|
|
719
|
+
*
|
|
720
|
+
* @param tableOrName
|
|
721
|
+
* @param column
|
|
722
|
+
*/
|
|
723
|
+
async addColumn(tableOrName, column) {
|
|
724
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
725
|
+
? tableOrName
|
|
726
|
+
: await this.getCachedTable(tableOrName);
|
|
727
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
728
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
729
|
+
const clonedTable = table.clone();
|
|
730
|
+
const upQueries = [];
|
|
731
|
+
const downQueries = [];
|
|
732
|
+
upQueries.push(new Query_1.Query(this.addColumnSql(table, column)));
|
|
733
|
+
downQueries.push(new Query_1.Query(this.dropColumnSql(table, column)));
|
|
734
|
+
// create or update primary key constraint
|
|
735
|
+
if (column.isPrimary) {
|
|
736
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
737
|
+
// if table already have primary key, me must drop it and recreate again
|
|
738
|
+
if (primaryColumns.length > 0) {
|
|
739
|
+
// SAP HANA does not allow to drop PK's which is referenced by foreign keys.
|
|
740
|
+
// To avoid this, we must drop all referential foreign keys and recreate them later
|
|
741
|
+
const referencedForeignKeySql = `SELECT * FROM "SYS"."REFERENTIAL_CONSTRAINTS" WHERE "REFERENCED_SCHEMA_NAME" = '${parsedTableName.schema}' AND "REFERENCED_TABLE_NAME" = '${parsedTableName.tableName}'`;
|
|
742
|
+
const dbForeignKeys = await this.query(referencedForeignKeySql);
|
|
743
|
+
let referencedForeignKeys = [];
|
|
744
|
+
const referencedForeignKeyTableMapping = [];
|
|
745
|
+
if (dbForeignKeys.length > 0) {
|
|
746
|
+
referencedForeignKeys = dbForeignKeys.map((dbForeignKey) => {
|
|
747
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
748
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
749
|
+
referencedForeignKeyTableMapping.push({
|
|
750
|
+
tableName: `${dbForeignKey["SCHEMA_NAME"]}.${dbForeignKey["TABLE_NAME"]}`,
|
|
751
|
+
fkName: dbForeignKey["CONSTRAINT_NAME"],
|
|
752
|
+
});
|
|
753
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
754
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
755
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
756
|
+
referencedDatabase: table.database,
|
|
757
|
+
referencedSchema: table.schema,
|
|
758
|
+
referencedTableName: table.name,
|
|
759
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
760
|
+
onDelete: dbForeignKey["DELETE_RULE"] === "RESTRICT"
|
|
761
|
+
? "NO ACTION"
|
|
762
|
+
: dbForeignKey["DELETE_RULE"],
|
|
763
|
+
onUpdate: dbForeignKey["UPDATE_RULE"] === "RESTRICT"
|
|
764
|
+
? "NO ACTION"
|
|
765
|
+
: dbForeignKey["UPDATE_RULE"],
|
|
766
|
+
deferrable: dbForeignKey["CHECK_TIME"].replace("_", " "),
|
|
767
|
+
});
|
|
768
|
+
});
|
|
769
|
+
// drop referenced foreign keys
|
|
770
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
771
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
772
|
+
upQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
773
|
+
downQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
774
|
+
});
|
|
775
|
+
}
|
|
776
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
|
|
777
|
+
const columnNames = primaryColumns
|
|
778
|
+
.map((column) => `"${column.name}"`)
|
|
779
|
+
.join(", ");
|
|
780
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
781
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
782
|
+
// restore referenced foreign keys
|
|
783
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
784
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
785
|
+
upQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
786
|
+
downQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
primaryColumns.push(column);
|
|
790
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
|
|
791
|
+
const columnNames = primaryColumns
|
|
792
|
+
.map((column) => `"${column.name}"`)
|
|
793
|
+
.join(", ");
|
|
794
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
795
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
796
|
+
}
|
|
797
|
+
if (column.asExpression) {
|
|
798
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
799
|
+
schema: parsedTableName.schema,
|
|
800
|
+
table: parsedTableName.tableName,
|
|
801
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
802
|
+
name: column.name,
|
|
803
|
+
value: column.asExpression,
|
|
804
|
+
});
|
|
805
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
806
|
+
schema: parsedTableName.schema,
|
|
807
|
+
table: parsedTableName.tableName,
|
|
808
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
809
|
+
name: column.name,
|
|
810
|
+
});
|
|
811
|
+
upQueries.push(insertQuery);
|
|
812
|
+
downQueries.push(deleteQuery);
|
|
813
|
+
}
|
|
814
|
+
// create column index
|
|
815
|
+
const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
|
|
816
|
+
index.columnNames[0] === column.name);
|
|
817
|
+
if (columnIndex) {
|
|
818
|
+
upQueries.push(this.createIndexSql(table, columnIndex));
|
|
819
|
+
downQueries.push(this.dropIndexSql(table, columnIndex));
|
|
820
|
+
}
|
|
821
|
+
else if (column.isUnique) {
|
|
822
|
+
const uniqueIndex = new TableIndex_1.TableIndex({
|
|
823
|
+
name: this.dataSource.namingStrategy.indexName(table, [
|
|
824
|
+
column.name,
|
|
825
|
+
]),
|
|
826
|
+
columnNames: [column.name],
|
|
827
|
+
isUnique: true,
|
|
828
|
+
});
|
|
829
|
+
clonedTable.indices.push(uniqueIndex);
|
|
830
|
+
clonedTable.uniques.push(new TableUnique_1.TableUnique({
|
|
831
|
+
name: uniqueIndex.name,
|
|
832
|
+
columnNames: uniqueIndex.columnNames,
|
|
833
|
+
}));
|
|
834
|
+
upQueries.push(this.createIndexSql(table, uniqueIndex));
|
|
835
|
+
downQueries.push(this.dropIndexSql(table, uniqueIndex));
|
|
836
|
+
}
|
|
837
|
+
await this.executeQueries(upQueries, downQueries);
|
|
838
|
+
clonedTable.addColumn(column);
|
|
839
|
+
this.replaceCachedTable(table, clonedTable);
|
|
840
|
+
}
|
|
841
|
+
/**
|
|
842
|
+
* Creates a new columns from the column in the table.
|
|
843
|
+
*
|
|
844
|
+
* @param tableOrName
|
|
845
|
+
* @param columns
|
|
846
|
+
*/
|
|
847
|
+
async addColumns(tableOrName, columns) {
|
|
848
|
+
for (const column of columns) {
|
|
849
|
+
await this.addColumn(tableOrName, column);
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Renames column in the given table.
|
|
854
|
+
*
|
|
855
|
+
* @param tableOrName
|
|
856
|
+
* @param oldTableColumnOrName
|
|
857
|
+
* @param newTableColumnOrName
|
|
858
|
+
*/
|
|
859
|
+
async renameColumn(tableOrName, oldTableColumnOrName, newTableColumnOrName) {
|
|
860
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
861
|
+
? tableOrName
|
|
862
|
+
: await this.getCachedTable(tableOrName);
|
|
863
|
+
const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
|
|
864
|
+
? oldTableColumnOrName
|
|
865
|
+
: table.columns.find((c) => c.name === oldTableColumnOrName);
|
|
866
|
+
if (!oldColumn)
|
|
867
|
+
throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the "${table.name}" table.`);
|
|
868
|
+
let newColumn;
|
|
869
|
+
if (InstanceChecker_1.InstanceChecker.isTableColumn(newTableColumnOrName)) {
|
|
870
|
+
newColumn = newTableColumnOrName;
|
|
871
|
+
}
|
|
872
|
+
else {
|
|
873
|
+
newColumn = oldColumn.clone();
|
|
874
|
+
newColumn.name = newTableColumnOrName;
|
|
875
|
+
}
|
|
876
|
+
await this.changeColumn(table, oldColumn, newColumn);
|
|
877
|
+
}
|
|
878
|
+
/**
|
|
879
|
+
* Changes a column in the table.
|
|
880
|
+
*
|
|
881
|
+
* @param tableOrName
|
|
882
|
+
* @param oldTableColumnOrName
|
|
883
|
+
* @param newColumn
|
|
884
|
+
*/
|
|
885
|
+
async changeColumn(tableOrName, oldTableColumnOrName, newColumn) {
|
|
886
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
887
|
+
? tableOrName
|
|
888
|
+
: await this.getCachedTable(tableOrName);
|
|
889
|
+
let clonedTable = table.clone();
|
|
890
|
+
const upQueries = [];
|
|
891
|
+
const downQueries = [];
|
|
892
|
+
const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
|
|
893
|
+
? oldTableColumnOrName
|
|
894
|
+
: table.columns.find((column) => column.name === oldTableColumnOrName);
|
|
895
|
+
if (!oldColumn)
|
|
896
|
+
throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the "${table.name}" table.`);
|
|
897
|
+
if ((newColumn.isGenerated !== oldColumn.isGenerated &&
|
|
898
|
+
newColumn.generationStrategy !== "uuid") ||
|
|
899
|
+
newColumn.type !== oldColumn.type ||
|
|
900
|
+
newColumn.length !== oldColumn.length ||
|
|
901
|
+
(newColumn.asExpression ?? "").trim() !==
|
|
902
|
+
(oldColumn.asExpression ?? "").trim()) {
|
|
903
|
+
// SQL Server does not support changing of IDENTITY column, so we must drop column and recreate it again.
|
|
904
|
+
// Also, we recreate column if column type changed
|
|
905
|
+
await this.dropColumn(table, oldColumn);
|
|
906
|
+
await this.addColumn(table, newColumn);
|
|
907
|
+
// update cloned table
|
|
908
|
+
clonedTable = table.clone();
|
|
909
|
+
}
|
|
910
|
+
else {
|
|
911
|
+
if (newColumn.name !== oldColumn.name) {
|
|
912
|
+
// rename column
|
|
913
|
+
upQueries.push(new Query_1.Query(`RENAME COLUMN ${this.escapePath(table)}."${oldColumn.name}" TO "${newColumn.name}"`));
|
|
914
|
+
downQueries.push(new Query_1.Query(`RENAME COLUMN ${this.escapePath(table)}."${newColumn.name}" TO "${oldColumn.name}"`));
|
|
915
|
+
if (oldColumn.isPrimary === true) {
|
|
916
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
917
|
+
// build old primary constraint name
|
|
918
|
+
const columnNames = primaryColumns.map((column) => column.name);
|
|
919
|
+
const oldPkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, columnNames);
|
|
920
|
+
// replace old column name with new column name
|
|
921
|
+
columnNames.splice(columnNames.indexOf(oldColumn.name), 1);
|
|
922
|
+
columnNames.push(newColumn.name);
|
|
923
|
+
const columnNamesString = columnNames
|
|
924
|
+
.map((columnName) => `"${columnName}"`)
|
|
925
|
+
.join(", ");
|
|
926
|
+
// drop old PK
|
|
927
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${oldPkName}"`));
|
|
928
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${oldPkName}" PRIMARY KEY (${columnNamesString})`));
|
|
929
|
+
// build new primary constraint name
|
|
930
|
+
const newPkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, columnNames);
|
|
931
|
+
// create new PK
|
|
932
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${newPkName}" PRIMARY KEY (${columnNamesString})`));
|
|
933
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${newPkName}"`));
|
|
934
|
+
}
|
|
935
|
+
if (oldColumn.asExpression != null) {
|
|
936
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
937
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
938
|
+
const updateQuery = this.updateTypeormMetadataSql({
|
|
939
|
+
schema: parsedTableName.schema,
|
|
940
|
+
table: parsedTableName.tableName,
|
|
941
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
942
|
+
name: oldColumn.name,
|
|
943
|
+
valueToSet: { name: newColumn.name },
|
|
944
|
+
});
|
|
945
|
+
const revertUpdateQuery = this.updateTypeormMetadataSql({
|
|
946
|
+
schema: parsedTableName.schema,
|
|
947
|
+
table: parsedTableName.tableName,
|
|
948
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
949
|
+
name: newColumn.name,
|
|
950
|
+
valueToSet: { name: oldColumn.name },
|
|
951
|
+
});
|
|
952
|
+
upQueries.push(updateQuery);
|
|
953
|
+
downQueries.push(revertUpdateQuery);
|
|
954
|
+
}
|
|
955
|
+
// rename index constraints
|
|
956
|
+
clonedTable.findColumnIndices(oldColumn).forEach((index) => {
|
|
957
|
+
// build new constraint name
|
|
958
|
+
index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
|
|
959
|
+
index.columnNames.push(newColumn.name);
|
|
960
|
+
const newIndexName = this.dataSource.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
|
|
961
|
+
// drop old index
|
|
962
|
+
upQueries.push(this.dropIndexSql(clonedTable, index));
|
|
963
|
+
downQueries.push(this.createIndexSql(clonedTable, index));
|
|
964
|
+
// replace constraint name
|
|
965
|
+
index.name = newIndexName;
|
|
966
|
+
// create new index
|
|
967
|
+
upQueries.push(this.createIndexSql(clonedTable, index));
|
|
968
|
+
downQueries.push(this.dropIndexSql(clonedTable, index));
|
|
969
|
+
});
|
|
970
|
+
// rename foreign key constraints
|
|
971
|
+
clonedTable
|
|
972
|
+
.findColumnForeignKeys(oldColumn)
|
|
973
|
+
.forEach((foreignKey) => {
|
|
974
|
+
// build new constraint name
|
|
975
|
+
foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
|
|
976
|
+
foreignKey.columnNames.push(newColumn.name);
|
|
977
|
+
const newForeignKeyName = this.dataSource.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
978
|
+
upQueries.push(this.dropForeignKeySql(clonedTable, foreignKey));
|
|
979
|
+
downQueries.push(this.createForeignKeySql(clonedTable, foreignKey));
|
|
980
|
+
// replace constraint name
|
|
981
|
+
foreignKey.name = newForeignKeyName;
|
|
982
|
+
// create new FK's
|
|
983
|
+
upQueries.push(this.createForeignKeySql(clonedTable, foreignKey));
|
|
984
|
+
downQueries.push(this.dropForeignKeySql(clonedTable, foreignKey));
|
|
985
|
+
});
|
|
986
|
+
// rename check constraints
|
|
987
|
+
clonedTable.findColumnChecks(oldColumn).forEach((check) => {
|
|
988
|
+
// build new constraint name
|
|
989
|
+
check.columnNames.splice(check.columnNames.indexOf(oldColumn.name), 1);
|
|
990
|
+
check.columnNames.push(newColumn.name);
|
|
991
|
+
const newCheckName = this.dataSource.namingStrategy.checkConstraintName(clonedTable, check.expression);
|
|
992
|
+
upQueries.push(this.dropCheckConstraintSql(clonedTable, check));
|
|
993
|
+
downQueries.push(this.createCheckConstraintSql(clonedTable, check));
|
|
994
|
+
// replace constraint name
|
|
995
|
+
check.name = newCheckName;
|
|
996
|
+
upQueries.push(this.createCheckConstraintSql(clonedTable, check));
|
|
997
|
+
downQueries.push(this.dropCheckConstraintSql(clonedTable, check));
|
|
998
|
+
});
|
|
999
|
+
// rename old column in the Table object
|
|
1000
|
+
const oldTableColumn = clonedTable.columns.find((column) => column.name === oldColumn.name);
|
|
1001
|
+
clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
|
|
1002
|
+
oldColumn.name = newColumn.name;
|
|
1003
|
+
}
|
|
1004
|
+
if (this.isColumnChanged(oldColumn, newColumn, true)) {
|
|
1005
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(newColumn, !(oldColumn.default === null ||
|
|
1006
|
+
oldColumn.default === undefined), !oldColumn.isNullable)})`));
|
|
1007
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(oldColumn, !(newColumn.default === null ||
|
|
1008
|
+
newColumn.default === undefined), !newColumn.isNullable)})`));
|
|
1009
|
+
}
|
|
1010
|
+
else if (oldColumn.comment !== newColumn.comment) {
|
|
1011
|
+
upQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${oldColumn.name}" IS ${this.escapeComment(newColumn.comment)}`));
|
|
1012
|
+
downQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${newColumn.name}" IS ${this.escapeComment(oldColumn.comment)}`));
|
|
1013
|
+
}
|
|
1014
|
+
if (newColumn.isPrimary !== oldColumn.isPrimary) {
|
|
1015
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
1016
|
+
// if primary column state changed, we must always drop existed constraint.
|
|
1017
|
+
if (primaryColumns.length > 0) {
|
|
1018
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
|
|
1019
|
+
const columnNames = primaryColumns
|
|
1020
|
+
.map((column) => `"${column.name}"`)
|
|
1021
|
+
.join(", ");
|
|
1022
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
1023
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
1024
|
+
}
|
|
1025
|
+
if (newColumn.isPrimary === true) {
|
|
1026
|
+
primaryColumns.push(newColumn);
|
|
1027
|
+
// update column in table
|
|
1028
|
+
const column = clonedTable.columns.find((column) => column.name === newColumn.name);
|
|
1029
|
+
column.isPrimary = true;
|
|
1030
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
|
|
1031
|
+
const columnNames = primaryColumns
|
|
1032
|
+
.map((column) => `"${column.name}"`)
|
|
1033
|
+
.join(", ");
|
|
1034
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
1035
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
1036
|
+
}
|
|
1037
|
+
else {
|
|
1038
|
+
const primaryColumn = primaryColumns.find((c) => c.name === newColumn.name);
|
|
1039
|
+
primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
|
|
1040
|
+
// update column in table
|
|
1041
|
+
const column = clonedTable.columns.find((column) => column.name === newColumn.name);
|
|
1042
|
+
column.isPrimary = false;
|
|
1043
|
+
// if we have another primary keys, we must recreate constraint.
|
|
1044
|
+
if (primaryColumns.length > 0) {
|
|
1045
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
|
|
1046
|
+
const columnNames = primaryColumns
|
|
1047
|
+
.map((column) => `"${column.name}"`)
|
|
1048
|
+
.join(", ");
|
|
1049
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
1050
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
if (newColumn.isUnique !== oldColumn.isUnique) {
|
|
1055
|
+
if (newColumn.isUnique === true) {
|
|
1056
|
+
const uniqueIndex = new TableIndex_1.TableIndex({
|
|
1057
|
+
name: this.dataSource.namingStrategy.indexName(table, [
|
|
1058
|
+
newColumn.name,
|
|
1059
|
+
]),
|
|
1060
|
+
columnNames: [newColumn.name],
|
|
1061
|
+
isUnique: true,
|
|
1062
|
+
});
|
|
1063
|
+
clonedTable.indices.push(uniqueIndex);
|
|
1064
|
+
clonedTable.uniques.push(new TableUnique_1.TableUnique({
|
|
1065
|
+
name: uniqueIndex.name,
|
|
1066
|
+
columnNames: uniqueIndex.columnNames,
|
|
1067
|
+
}));
|
|
1068
|
+
upQueries.push(this.createIndexSql(table, uniqueIndex));
|
|
1069
|
+
downQueries.push(this.dropIndexSql(table, uniqueIndex));
|
|
1070
|
+
}
|
|
1071
|
+
else {
|
|
1072
|
+
const uniqueIndex = clonedTable.indices.find((index) => {
|
|
1073
|
+
return (index.columnNames.length === 1 &&
|
|
1074
|
+
index.isUnique === true &&
|
|
1075
|
+
!!index.columnNames.find((columnName) => columnName === newColumn.name));
|
|
1076
|
+
});
|
|
1077
|
+
clonedTable.indices.splice(clonedTable.indices.indexOf(uniqueIndex), 1);
|
|
1078
|
+
const tableUnique = clonedTable.uniques.find((unique) => unique.name === uniqueIndex.name);
|
|
1079
|
+
clonedTable.uniques.splice(clonedTable.uniques.indexOf(tableUnique), 1);
|
|
1080
|
+
upQueries.push(this.dropIndexSql(table, uniqueIndex));
|
|
1081
|
+
downQueries.push(this.createIndexSql(table, uniqueIndex));
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
await this.executeQueries(upQueries, downQueries);
|
|
1085
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
/**
|
|
1089
|
+
* Changes a column in the table.
|
|
1090
|
+
*
|
|
1091
|
+
* @param tableOrName
|
|
1092
|
+
* @param changedColumns
|
|
1093
|
+
*/
|
|
1094
|
+
async changeColumns(tableOrName, changedColumns) {
|
|
1095
|
+
for (const { oldColumn, newColumn } of changedColumns) {
|
|
1096
|
+
await this.changeColumn(tableOrName, oldColumn, newColumn);
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
/**
|
|
1100
|
+
* Drops column in the table.
|
|
1101
|
+
*
|
|
1102
|
+
* @param tableOrName
|
|
1103
|
+
* @param columnOrName
|
|
1104
|
+
* @param ifExists
|
|
1105
|
+
*/
|
|
1106
|
+
async dropColumn(tableOrName, columnOrName, ifExists) {
|
|
1107
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1108
|
+
? tableOrName
|
|
1109
|
+
: await this.getCachedTable(tableOrName);
|
|
1110
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
1111
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
1112
|
+
const column = InstanceChecker_1.InstanceChecker.isTableColumn(columnOrName)
|
|
1113
|
+
? columnOrName
|
|
1114
|
+
: table.findColumnByName(columnOrName);
|
|
1115
|
+
if (!column) {
|
|
1116
|
+
if (ifExists)
|
|
1117
|
+
return;
|
|
1118
|
+
throw new error_1.TypeORMError(`Column "${columnOrName}" was not found in table "${table.name}"`);
|
|
1119
|
+
}
|
|
1120
|
+
const clonedTable = table.clone();
|
|
1121
|
+
const upQueries = [];
|
|
1122
|
+
const downQueries = [];
|
|
1123
|
+
// drop primary key constraint
|
|
1124
|
+
if (column.isPrimary) {
|
|
1125
|
+
// SAP HANA does not allow to drop PK's which is referenced by foreign keys.
|
|
1126
|
+
// To avoid this, we must drop all referential foreign keys and recreate them later
|
|
1127
|
+
const referencedForeignKeySql = `SELECT * FROM "SYS"."REFERENTIAL_CONSTRAINTS" WHERE "REFERENCED_SCHEMA_NAME" = '${parsedTableName.schema}' AND "REFERENCED_TABLE_NAME" = '${parsedTableName.tableName}'`;
|
|
1128
|
+
const dbForeignKeys = await this.query(referencedForeignKeySql);
|
|
1129
|
+
let referencedForeignKeys = [];
|
|
1130
|
+
const referencedForeignKeyTableMapping = [];
|
|
1131
|
+
if (dbForeignKeys.length > 0) {
|
|
1132
|
+
referencedForeignKeys = dbForeignKeys.map((dbForeignKey) => {
|
|
1133
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
1134
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
1135
|
+
referencedForeignKeyTableMapping.push({
|
|
1136
|
+
tableName: `${dbForeignKey["SCHEMA_NAME"]}.${dbForeignKey["TABLE_NAME"]}`,
|
|
1137
|
+
fkName: dbForeignKey["CONSTRAINT_NAME"],
|
|
1138
|
+
});
|
|
1139
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
1140
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
1141
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
1142
|
+
referencedDatabase: table.database,
|
|
1143
|
+
referencedSchema: table.schema,
|
|
1144
|
+
referencedTableName: table.name,
|
|
1145
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
1146
|
+
onDelete: dbForeignKey["DELETE_RULE"] === "RESTRICT"
|
|
1147
|
+
? "NO ACTION"
|
|
1148
|
+
: dbForeignKey["DELETE_RULE"],
|
|
1149
|
+
onUpdate: dbForeignKey["UPDATE_RULE"] === "RESTRICT"
|
|
1150
|
+
? "NO ACTION"
|
|
1151
|
+
: dbForeignKey["UPDATE_RULE"],
|
|
1152
|
+
deferrable: dbForeignKey["CHECK_TIME"].replace("_", " "),
|
|
1153
|
+
});
|
|
1154
|
+
});
|
|
1155
|
+
// drop referenced foreign keys
|
|
1156
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
1157
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
1158
|
+
upQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
1159
|
+
downQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
1160
|
+
});
|
|
1161
|
+
}
|
|
1162
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
|
|
1163
|
+
const columnNames = clonedTable.primaryColumns
|
|
1164
|
+
.map((primaryColumn) => `"${primaryColumn.name}"`)
|
|
1165
|
+
.join(", ");
|
|
1166
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
|
|
1167
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
1168
|
+
// update column in table
|
|
1169
|
+
const tableColumn = clonedTable.findColumnByName(column.name);
|
|
1170
|
+
tableColumn.isPrimary = false;
|
|
1171
|
+
// if primary key have multiple columns, we must recreate it without dropped column
|
|
1172
|
+
if (clonedTable.primaryColumns.length > 0) {
|
|
1173
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
|
|
1174
|
+
const columnNames = clonedTable.primaryColumns
|
|
1175
|
+
.map((primaryColumn) => `"${primaryColumn.name}"`)
|
|
1176
|
+
.join(", ");
|
|
1177
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
|
|
1178
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
|
|
1179
|
+
}
|
|
1180
|
+
// restore referenced foreign keys
|
|
1181
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
1182
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
1183
|
+
upQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
1184
|
+
downQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
// drop column index
|
|
1188
|
+
const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
|
|
1189
|
+
index.columnNames[0] === column.name);
|
|
1190
|
+
if (columnIndex) {
|
|
1191
|
+
clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
|
|
1192
|
+
upQueries.push(this.dropIndexSql(table, columnIndex));
|
|
1193
|
+
downQueries.push(this.createIndexSql(table, columnIndex));
|
|
1194
|
+
}
|
|
1195
|
+
else if (column.isUnique) {
|
|
1196
|
+
// we splice constraints both from table uniques and indices.
|
|
1197
|
+
const uniqueName = this.dataSource.namingStrategy.uniqueConstraintName(table, [
|
|
1198
|
+
column.name,
|
|
1199
|
+
]);
|
|
1200
|
+
const foundUnique = clonedTable.uniques.find((unique) => unique.name === uniqueName);
|
|
1201
|
+
if (foundUnique) {
|
|
1202
|
+
clonedTable.uniques.splice(clonedTable.uniques.indexOf(foundUnique), 1);
|
|
1203
|
+
upQueries.push(this.dropIndexSql(table, uniqueName));
|
|
1204
|
+
downQueries.push(new Query_1.Query(`CREATE UNIQUE INDEX "${uniqueName}" ON ${this.escapePath(table)} ("${column.name}")`));
|
|
1205
|
+
}
|
|
1206
|
+
const indexName = this.dataSource.namingStrategy.indexName(table, [
|
|
1207
|
+
column.name,
|
|
1208
|
+
]);
|
|
1209
|
+
const foundIndex = clonedTable.indices.find((index) => index.name === indexName);
|
|
1210
|
+
if (foundIndex) {
|
|
1211
|
+
clonedTable.indices.splice(clonedTable.indices.indexOf(foundIndex), 1);
|
|
1212
|
+
upQueries.push(this.dropIndexSql(table, indexName));
|
|
1213
|
+
downQueries.push(new Query_1.Query(`CREATE UNIQUE INDEX "${indexName}" ON ${this.escapePath(table)} ("${column.name}")`));
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
// drop column check
|
|
1217
|
+
const columnCheck = clonedTable.checks.find((check) => !!check.columnNames &&
|
|
1218
|
+
check.columnNames.length === 1 &&
|
|
1219
|
+
check.columnNames[0] === column.name);
|
|
1220
|
+
if (columnCheck) {
|
|
1221
|
+
clonedTable.checks.splice(clonedTable.checks.indexOf(columnCheck), 1);
|
|
1222
|
+
upQueries.push(this.dropCheckConstraintSql(table, columnCheck));
|
|
1223
|
+
downQueries.push(this.createCheckConstraintSql(table, columnCheck));
|
|
1224
|
+
}
|
|
1225
|
+
if (column.asExpression != null) {
|
|
1226
|
+
const deleteQuery = this.deleteTypeormMetadataSql({
|
|
1227
|
+
schema: parsedTableName.schema,
|
|
1228
|
+
table: parsedTableName.tableName,
|
|
1229
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
1230
|
+
name: column.name,
|
|
1231
|
+
});
|
|
1232
|
+
upQueries.push(deleteQuery);
|
|
1233
|
+
if (column.asExpression) {
|
|
1234
|
+
const insertQuery = this.insertTypeormMetadataSql({
|
|
1235
|
+
schema: parsedTableName.schema,
|
|
1236
|
+
table: parsedTableName.tableName,
|
|
1237
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
1238
|
+
name: column.name,
|
|
1239
|
+
value: column.asExpression,
|
|
1240
|
+
});
|
|
1241
|
+
downQueries.push(insertQuery);
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
upQueries.push(new Query_1.Query(this.dropColumnSql(table, column)));
|
|
1245
|
+
downQueries.push(new Query_1.Query(this.addColumnSql(table, column)));
|
|
1246
|
+
await this.executeQueries(upQueries, downQueries);
|
|
1247
|
+
clonedTable.removeColumn(column);
|
|
1248
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1249
|
+
}
|
|
1250
|
+
/**
|
|
1251
|
+
* Drops the columns in the table.
|
|
1252
|
+
*
|
|
1253
|
+
* @param tableOrName
|
|
1254
|
+
* @param columns
|
|
1255
|
+
* @param ifExists
|
|
1256
|
+
*/
|
|
1257
|
+
async dropColumns(tableOrName, columns, ifExists) {
|
|
1258
|
+
for (const column of [...columns]) {
|
|
1259
|
+
await this.dropColumn(tableOrName, column, ifExists);
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
/**
|
|
1263
|
+
* Creates a new primary key.
|
|
1264
|
+
*
|
|
1265
|
+
* @param tableOrName
|
|
1266
|
+
* @param columnNames
|
|
1267
|
+
*/
|
|
1268
|
+
async createPrimaryKey(tableOrName, columnNames) {
|
|
1269
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1270
|
+
? tableOrName
|
|
1271
|
+
: await this.getCachedTable(tableOrName);
|
|
1272
|
+
const clonedTable = table.clone();
|
|
1273
|
+
const up = this.createPrimaryKeySql(table, columnNames);
|
|
1274
|
+
// mark columns as primary, because dropPrimaryKeySql build constraint name from table primary column names.
|
|
1275
|
+
clonedTable.columns.forEach((column) => {
|
|
1276
|
+
if (columnNames.find((columnName) => columnName === column.name))
|
|
1277
|
+
column.isPrimary = true;
|
|
1278
|
+
});
|
|
1279
|
+
const down = this.dropPrimaryKeySql(clonedTable);
|
|
1280
|
+
await this.executeQueries(up, down);
|
|
1281
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1282
|
+
}
|
|
1283
|
+
/**
|
|
1284
|
+
* Updates composite primary keys.
|
|
1285
|
+
*
|
|
1286
|
+
* @param tableOrName
|
|
1287
|
+
* @param columns
|
|
1288
|
+
*/
|
|
1289
|
+
async updatePrimaryKeys(tableOrName, columns) {
|
|
1290
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1291
|
+
? tableOrName
|
|
1292
|
+
: await this.getCachedTable(tableOrName);
|
|
1293
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
1294
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
1295
|
+
const clonedTable = table.clone();
|
|
1296
|
+
const columnNames = columns.map((column) => column.name);
|
|
1297
|
+
const upQueries = [];
|
|
1298
|
+
const downQueries = [];
|
|
1299
|
+
// SAP HANA does not allow to drop PK's which is referenced by foreign keys.
|
|
1300
|
+
// To avoid this, we must drop all referential foreign keys and recreate them later
|
|
1301
|
+
const referencedForeignKeySql = `SELECT * FROM "SYS"."REFERENTIAL_CONSTRAINTS" WHERE "REFERENCED_SCHEMA_NAME" = '${parsedTableName.schema}' AND "REFERENCED_TABLE_NAME" = '${parsedTableName.tableName}'`;
|
|
1302
|
+
const dbForeignKeys = await this.query(referencedForeignKeySql);
|
|
1303
|
+
let referencedForeignKeys = [];
|
|
1304
|
+
const referencedForeignKeyTableMapping = [];
|
|
1305
|
+
if (dbForeignKeys.length > 0) {
|
|
1306
|
+
referencedForeignKeys = dbForeignKeys.map((dbForeignKey) => {
|
|
1307
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
1308
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
1309
|
+
referencedForeignKeyTableMapping.push({
|
|
1310
|
+
tableName: `${dbForeignKey["SCHEMA_NAME"]}.${dbForeignKey["TABLE_NAME"]}`,
|
|
1311
|
+
fkName: dbForeignKey["CONSTRAINT_NAME"],
|
|
1312
|
+
});
|
|
1313
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
1314
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
1315
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
1316
|
+
referencedDatabase: table.database,
|
|
1317
|
+
referencedSchema: table.schema,
|
|
1318
|
+
referencedTableName: table.name,
|
|
1319
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
1320
|
+
onDelete: dbForeignKey["DELETE_RULE"] === "RESTRICT"
|
|
1321
|
+
? "NO ACTION"
|
|
1322
|
+
: dbForeignKey["DELETE_RULE"],
|
|
1323
|
+
onUpdate: dbForeignKey["UPDATE_RULE"] === "RESTRICT"
|
|
1324
|
+
? "NO ACTION"
|
|
1325
|
+
: dbForeignKey["UPDATE_RULE"],
|
|
1326
|
+
deferrable: dbForeignKey["CHECK_TIME"].replace("_", " "),
|
|
1327
|
+
});
|
|
1328
|
+
});
|
|
1329
|
+
// drop referenced foreign keys
|
|
1330
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
1331
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
1332
|
+
upQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
1333
|
+
downQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
1334
|
+
});
|
|
1335
|
+
}
|
|
1336
|
+
// if table already have primary columns, we must drop them.
|
|
1337
|
+
const primaryColumns = clonedTable.primaryColumns;
|
|
1338
|
+
if (primaryColumns.length > 0) {
|
|
1339
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
|
|
1340
|
+
const columnNamesString = primaryColumns
|
|
1341
|
+
.map((column) => `"${column.name}"`)
|
|
1342
|
+
.join(", ");
|
|
1343
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
1344
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
|
|
1345
|
+
}
|
|
1346
|
+
// update columns in table.
|
|
1347
|
+
clonedTable.columns
|
|
1348
|
+
.filter((column) => columnNames.indexOf(column.name) !== -1)
|
|
1349
|
+
.forEach((column) => {
|
|
1350
|
+
column.isPrimary = true;
|
|
1351
|
+
});
|
|
1352
|
+
const pkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, columnNames);
|
|
1353
|
+
const columnNamesString = columnNames
|
|
1354
|
+
.map((columnName) => `"${columnName}"`)
|
|
1355
|
+
.join(", ");
|
|
1356
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
|
|
1357
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
|
|
1358
|
+
// restore referenced foreign keys
|
|
1359
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
1360
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
1361
|
+
upQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
1362
|
+
downQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
1363
|
+
});
|
|
1364
|
+
await this.executeQueries(upQueries, downQueries);
|
|
1365
|
+
this.replaceCachedTable(table, clonedTable);
|
|
1366
|
+
}
|
|
1367
|
+
/**
|
|
1368
|
+
* Drops a primary key.
|
|
1369
|
+
*
|
|
1370
|
+
* @param tableOrName
|
|
1371
|
+
* @param constraintName
|
|
1372
|
+
* @param ifExists
|
|
1373
|
+
*/
|
|
1374
|
+
async dropPrimaryKey(tableOrName, constraintName, ifExists) {
|
|
1375
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1376
|
+
? tableOrName
|
|
1377
|
+
: await this.getCachedTable(tableOrName);
|
|
1378
|
+
if (ifExists && table.primaryColumns.length === 0)
|
|
1379
|
+
return;
|
|
1380
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
1381
|
+
parsedTableName.schema ??= await this.getCurrentSchema();
|
|
1382
|
+
const upQueries = [];
|
|
1383
|
+
const downQueries = [];
|
|
1384
|
+
// SAP HANA does not allow to drop PK's which is referenced by foreign keys.
|
|
1385
|
+
// To avoid this, we must drop all referential foreign keys and recreate them later
|
|
1386
|
+
const referencedForeignKeySql = `SELECT * FROM "SYS"."REFERENTIAL_CONSTRAINTS" WHERE "REFERENCED_SCHEMA_NAME" = '${parsedTableName.schema}' AND "REFERENCED_TABLE_NAME" = '${parsedTableName.tableName}'`;
|
|
1387
|
+
const dbForeignKeys = await this.query(referencedForeignKeySql);
|
|
1388
|
+
let referencedForeignKeys = [];
|
|
1389
|
+
const referencedForeignKeyTableMapping = [];
|
|
1390
|
+
if (dbForeignKeys.length > 0) {
|
|
1391
|
+
referencedForeignKeys = dbForeignKeys.map((dbForeignKey) => {
|
|
1392
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
1393
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
1394
|
+
referencedForeignKeyTableMapping.push({
|
|
1395
|
+
tableName: `${dbForeignKey["SCHEMA_NAME"]}.${dbForeignKey["TABLE_NAME"]}`,
|
|
1396
|
+
fkName: dbForeignKey["CONSTRAINT_NAME"],
|
|
1397
|
+
});
|
|
1398
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
1399
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
1400
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
1401
|
+
referencedDatabase: table.database,
|
|
1402
|
+
referencedSchema: table.schema,
|
|
1403
|
+
referencedTableName: table.name,
|
|
1404
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
1405
|
+
onDelete: dbForeignKey["DELETE_RULE"] === "RESTRICT"
|
|
1406
|
+
? "NO ACTION"
|
|
1407
|
+
: dbForeignKey["DELETE_RULE"],
|
|
1408
|
+
onUpdate: dbForeignKey["UPDATE_RULE"] === "RESTRICT"
|
|
1409
|
+
? "NO ACTION"
|
|
1410
|
+
: dbForeignKey["UPDATE_RULE"],
|
|
1411
|
+
deferrable: dbForeignKey["CHECK_TIME"].replace("_", " "),
|
|
1412
|
+
});
|
|
1413
|
+
});
|
|
1414
|
+
// drop referenced foreign keys
|
|
1415
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
1416
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
1417
|
+
upQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
1418
|
+
downQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1421
|
+
upQueries.push(this.dropPrimaryKeySql(table));
|
|
1422
|
+
downQueries.push(this.createPrimaryKeySql(table, table.primaryColumns.map((column) => column.name)));
|
|
1423
|
+
// restore referenced foreign keys
|
|
1424
|
+
referencedForeignKeys.forEach((foreignKey) => {
|
|
1425
|
+
const mapping = referencedForeignKeyTableMapping.find((it) => it.fkName === foreignKey.name);
|
|
1426
|
+
upQueries.push(this.createForeignKeySql(mapping.tableName, foreignKey));
|
|
1427
|
+
downQueries.push(this.dropForeignKeySql(mapping.tableName, foreignKey));
|
|
1428
|
+
});
|
|
1429
|
+
await this.executeQueries(upQueries, downQueries);
|
|
1430
|
+
table.primaryColumns.forEach((column) => {
|
|
1431
|
+
column.isPrimary = false;
|
|
1432
|
+
});
|
|
1433
|
+
}
|
|
1434
|
+
/**
|
|
1435
|
+
* Creates a new unique constraint.
|
|
1436
|
+
*
|
|
1437
|
+
* @param tableOrName
|
|
1438
|
+
* @param uniqueConstraint
|
|
1439
|
+
*/
|
|
1440
|
+
async createUniqueConstraint(tableOrName, uniqueConstraint) {
|
|
1441
|
+
throw new error_1.TypeORMError(`SAP HANA does not support unique constraints. Use unique index instead.`);
|
|
1442
|
+
}
|
|
1443
|
+
/**
|
|
1444
|
+
* Creates a new unique constraints.
|
|
1445
|
+
*
|
|
1446
|
+
* @param tableOrName
|
|
1447
|
+
* @param uniqueConstraints
|
|
1448
|
+
*/
|
|
1449
|
+
async createUniqueConstraints(tableOrName, uniqueConstraints) {
|
|
1450
|
+
throw new error_1.TypeORMError(`SAP HANA does not support unique constraints. Use unique index instead.`);
|
|
1451
|
+
}
|
|
1452
|
+
/**
|
|
1453
|
+
* Drops unique constraint.
|
|
1454
|
+
*
|
|
1455
|
+
* @param tableOrName
|
|
1456
|
+
* @param uniqueOrName
|
|
1457
|
+
* @param ifExists
|
|
1458
|
+
*/
|
|
1459
|
+
async dropUniqueConstraint(tableOrName, uniqueOrName, ifExists) {
|
|
1460
|
+
throw new error_1.TypeORMError(`SAP HANA does not support unique constraints. Use unique index instead.`);
|
|
1461
|
+
}
|
|
1462
|
+
/**
|
|
1463
|
+
* Drops unique constraints.
|
|
1464
|
+
*
|
|
1465
|
+
* @param tableOrName
|
|
1466
|
+
* @param uniqueConstraints
|
|
1467
|
+
* @param ifExists
|
|
1468
|
+
*/
|
|
1469
|
+
async dropUniqueConstraints(tableOrName, uniqueConstraints, ifExists) {
|
|
1470
|
+
throw new error_1.TypeORMError(`SAP HANA does not support unique constraints. Use unique index instead.`);
|
|
1471
|
+
}
|
|
1472
|
+
/**
|
|
1473
|
+
* Creates a new check constraint.
|
|
1474
|
+
*
|
|
1475
|
+
* @param tableOrName
|
|
1476
|
+
* @param checkConstraint
|
|
1477
|
+
*/
|
|
1478
|
+
async createCheckConstraint(tableOrName, checkConstraint) {
|
|
1479
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1480
|
+
? tableOrName
|
|
1481
|
+
: await this.getCachedTable(tableOrName);
|
|
1482
|
+
// new unique constraint may be passed without name. In this case we generate unique name manually.
|
|
1483
|
+
checkConstraint.name ??=
|
|
1484
|
+
this.dataSource.namingStrategy.checkConstraintName(table, checkConstraint.expression);
|
|
1485
|
+
const up = this.createCheckConstraintSql(table, checkConstraint);
|
|
1486
|
+
const down = this.dropCheckConstraintSql(table, checkConstraint);
|
|
1487
|
+
await this.executeQueries(up, down);
|
|
1488
|
+
table.addCheckConstraint(checkConstraint);
|
|
1489
|
+
}
|
|
1490
|
+
/**
|
|
1491
|
+
* Creates a new check constraints.
|
|
1492
|
+
*
|
|
1493
|
+
* @param tableOrName
|
|
1494
|
+
* @param checkConstraints
|
|
1495
|
+
*/
|
|
1496
|
+
async createCheckConstraints(tableOrName, checkConstraints) {
|
|
1497
|
+
const promises = checkConstraints.map((checkConstraint) => this.createCheckConstraint(tableOrName, checkConstraint));
|
|
1498
|
+
await Promise.all(promises);
|
|
1499
|
+
}
|
|
1500
|
+
/**
|
|
1501
|
+
* Drops check constraint.
|
|
1502
|
+
*
|
|
1503
|
+
* @param tableOrName
|
|
1504
|
+
* @param checkOrName
|
|
1505
|
+
* @param ifExists
|
|
1506
|
+
*/
|
|
1507
|
+
async dropCheckConstraint(tableOrName, checkOrName, ifExists) {
|
|
1508
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1509
|
+
? tableOrName
|
|
1510
|
+
: await this.getCachedTable(tableOrName);
|
|
1511
|
+
const checkConstraint = InstanceChecker_1.InstanceChecker.isTableCheck(checkOrName)
|
|
1512
|
+
? checkOrName
|
|
1513
|
+
: table.checks.find((c) => c.name === checkOrName);
|
|
1514
|
+
if (!checkConstraint) {
|
|
1515
|
+
if (ifExists)
|
|
1516
|
+
return;
|
|
1517
|
+
throw new error_1.TypeORMError(`Supplied check constraint was not found in table ${table.name}`);
|
|
1518
|
+
}
|
|
1519
|
+
const up = this.dropCheckConstraintSql(table, checkConstraint);
|
|
1520
|
+
const down = this.createCheckConstraintSql(table, checkConstraint);
|
|
1521
|
+
await this.executeQueries(up, down);
|
|
1522
|
+
table.removeCheckConstraint(checkConstraint);
|
|
1523
|
+
}
|
|
1524
|
+
/**
|
|
1525
|
+
* Drops check constraints.
|
|
1526
|
+
*
|
|
1527
|
+
* @param tableOrName
|
|
1528
|
+
* @param checkConstraints
|
|
1529
|
+
* @param ifExists
|
|
1530
|
+
*/
|
|
1531
|
+
async dropCheckConstraints(tableOrName, checkConstraints, ifExists) {
|
|
1532
|
+
const promises = checkConstraints.map((checkConstraint) => this.dropCheckConstraint(tableOrName, checkConstraint, ifExists));
|
|
1533
|
+
await Promise.all(promises);
|
|
1534
|
+
}
|
|
1535
|
+
/**
|
|
1536
|
+
* Creates a new exclusion constraint.
|
|
1537
|
+
*
|
|
1538
|
+
* @param tableOrName
|
|
1539
|
+
* @param exclusionConstraint
|
|
1540
|
+
*/
|
|
1541
|
+
async createExclusionConstraint(tableOrName, exclusionConstraint) {
|
|
1542
|
+
throw new error_1.TypeORMError(`SAP HANA does not support exclusion constraints.`);
|
|
1543
|
+
}
|
|
1544
|
+
/**
|
|
1545
|
+
* Creates a new exclusion constraints.
|
|
1546
|
+
*
|
|
1547
|
+
* @param tableOrName
|
|
1548
|
+
* @param exclusionConstraints
|
|
1549
|
+
*/
|
|
1550
|
+
async createExclusionConstraints(tableOrName, exclusionConstraints) {
|
|
1551
|
+
throw new error_1.TypeORMError(`SAP HANA does not support exclusion constraints.`);
|
|
1552
|
+
}
|
|
1553
|
+
/**
|
|
1554
|
+
* Drops exclusion constraint.
|
|
1555
|
+
*
|
|
1556
|
+
* @param tableOrName
|
|
1557
|
+
* @param exclusionOrName
|
|
1558
|
+
* @param ifExists
|
|
1559
|
+
*/
|
|
1560
|
+
async dropExclusionConstraint(tableOrName, exclusionOrName, ifExists) {
|
|
1561
|
+
throw new error_1.TypeORMError(`SAP HANA does not support exclusion constraints.`);
|
|
1562
|
+
}
|
|
1563
|
+
/**
|
|
1564
|
+
* Drops exclusion constraints.
|
|
1565
|
+
*
|
|
1566
|
+
* @param tableOrName
|
|
1567
|
+
* @param exclusionConstraints
|
|
1568
|
+
* @param ifExists
|
|
1569
|
+
*/
|
|
1570
|
+
async dropExclusionConstraints(tableOrName, exclusionConstraints, ifExists) {
|
|
1571
|
+
throw new error_1.TypeORMError(`SAP HANA does not support exclusion constraints.`);
|
|
1572
|
+
}
|
|
1573
|
+
/**
|
|
1574
|
+
* Creates a new foreign key.
|
|
1575
|
+
*
|
|
1576
|
+
* @param tableOrName
|
|
1577
|
+
* @param foreignKey
|
|
1578
|
+
*/
|
|
1579
|
+
async createForeignKey(tableOrName, foreignKey) {
|
|
1580
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1581
|
+
? tableOrName
|
|
1582
|
+
: await this.getCachedTable(tableOrName);
|
|
1583
|
+
// new FK may be passed without name. In this case we generate FK name manually.
|
|
1584
|
+
foreignKey.name ??= this.dataSource.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
1585
|
+
const up = this.createForeignKeySql(table, foreignKey);
|
|
1586
|
+
const down = this.dropForeignKeySql(table, foreignKey);
|
|
1587
|
+
await this.executeQueries(up, down);
|
|
1588
|
+
table.addForeignKey(foreignKey);
|
|
1589
|
+
}
|
|
1590
|
+
/**
|
|
1591
|
+
* Creates a new foreign keys.
|
|
1592
|
+
*
|
|
1593
|
+
* @param tableOrName
|
|
1594
|
+
* @param foreignKeys
|
|
1595
|
+
*/
|
|
1596
|
+
async createForeignKeys(tableOrName, foreignKeys) {
|
|
1597
|
+
const promises = foreignKeys.map((foreignKey) => this.createForeignKey(tableOrName, foreignKey));
|
|
1598
|
+
await Promise.all(promises);
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Drops a foreign key from the table.
|
|
1602
|
+
*
|
|
1603
|
+
* @param tableOrName
|
|
1604
|
+
* @param foreignKeyOrName
|
|
1605
|
+
* @param ifExists
|
|
1606
|
+
*/
|
|
1607
|
+
async dropForeignKey(tableOrName, foreignKeyOrName, ifExists) {
|
|
1608
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1609
|
+
? tableOrName
|
|
1610
|
+
: await this.getCachedTable(tableOrName);
|
|
1611
|
+
const foreignKey = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
|
|
1612
|
+
? foreignKeyOrName
|
|
1613
|
+
: table.foreignKeys.find((fk) => fk.name === foreignKeyOrName);
|
|
1614
|
+
if (!foreignKey) {
|
|
1615
|
+
if (ifExists)
|
|
1616
|
+
return;
|
|
1617
|
+
throw new error_1.TypeORMError(`Supplied foreign key was not found in table ${table.name}`);
|
|
1618
|
+
}
|
|
1619
|
+
foreignKey.name ??= this.dataSource.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
|
|
1620
|
+
const up = this.dropForeignKeySql(table, foreignKey);
|
|
1621
|
+
const down = this.createForeignKeySql(table, foreignKey);
|
|
1622
|
+
await this.executeQueries(up, down);
|
|
1623
|
+
table.removeForeignKey(foreignKey);
|
|
1624
|
+
}
|
|
1625
|
+
/**
|
|
1626
|
+
* Drops a foreign keys from the table.
|
|
1627
|
+
*
|
|
1628
|
+
* @param tableOrName
|
|
1629
|
+
* @param foreignKeys
|
|
1630
|
+
* @param ifExists
|
|
1631
|
+
*/
|
|
1632
|
+
async dropForeignKeys(tableOrName, foreignKeys, ifExists) {
|
|
1633
|
+
const promises = foreignKeys.map((foreignKey) => this.dropForeignKey(tableOrName, foreignKey, ifExists));
|
|
1634
|
+
await Promise.all(promises);
|
|
1635
|
+
}
|
|
1636
|
+
/**
|
|
1637
|
+
* Creates a new index.
|
|
1638
|
+
*
|
|
1639
|
+
* @param tableOrName
|
|
1640
|
+
* @param index
|
|
1641
|
+
*/
|
|
1642
|
+
async createIndex(tableOrName, index) {
|
|
1643
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1644
|
+
? tableOrName
|
|
1645
|
+
: await this.getCachedTable(tableOrName);
|
|
1646
|
+
// new index may be passed without name. In this case we generate index name manually.
|
|
1647
|
+
index.name ??= this.generateIndexName(table, index);
|
|
1648
|
+
const up = this.createIndexSql(table, index);
|
|
1649
|
+
const down = this.dropIndexSql(table, index);
|
|
1650
|
+
await this.executeQueries(up, down);
|
|
1651
|
+
table.addIndex(index);
|
|
1652
|
+
}
|
|
1653
|
+
/**
|
|
1654
|
+
* Creates a new indices
|
|
1655
|
+
*
|
|
1656
|
+
* @param tableOrName
|
|
1657
|
+
* @param indices
|
|
1658
|
+
*/
|
|
1659
|
+
async createIndices(tableOrName, indices) {
|
|
1660
|
+
const promises = indices.map((index) => this.createIndex(tableOrName, index));
|
|
1661
|
+
await Promise.all(promises);
|
|
1662
|
+
}
|
|
1663
|
+
/**
|
|
1664
|
+
* Drops an index.
|
|
1665
|
+
*
|
|
1666
|
+
* @param tableOrName
|
|
1667
|
+
* @param indexOrName
|
|
1668
|
+
* @param ifExists
|
|
1669
|
+
*/
|
|
1670
|
+
async dropIndex(tableOrName, indexOrName, ifExists) {
|
|
1671
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
1672
|
+
? tableOrName
|
|
1673
|
+
: await this.getCachedTable(tableOrName);
|
|
1674
|
+
const index = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
|
|
1675
|
+
? indexOrName
|
|
1676
|
+
: table.indices.find((i) => i.name === indexOrName);
|
|
1677
|
+
if (!index) {
|
|
1678
|
+
if (ifExists)
|
|
1679
|
+
return;
|
|
1680
|
+
throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
|
|
1681
|
+
}
|
|
1682
|
+
// old index may be passed without name. In this case we generate index name manually.
|
|
1683
|
+
index.name ??= this.generateIndexName(table, index);
|
|
1684
|
+
const up = this.dropIndexSql(table, index);
|
|
1685
|
+
const down = this.createIndexSql(table, index);
|
|
1686
|
+
await this.executeQueries(up, down);
|
|
1687
|
+
table.removeIndex(index);
|
|
1688
|
+
}
|
|
1689
|
+
/**
|
|
1690
|
+
* Drops an indices from the table.
|
|
1691
|
+
*
|
|
1692
|
+
* @param tableOrName
|
|
1693
|
+
* @param indices
|
|
1694
|
+
* @param ifExists
|
|
1695
|
+
*/
|
|
1696
|
+
async dropIndices(tableOrName, indices, ifExists) {
|
|
1697
|
+
const promises = indices.map((index) => this.dropIndex(tableOrName, index, ifExists));
|
|
1698
|
+
await Promise.all(promises);
|
|
1699
|
+
}
|
|
1700
|
+
/**
|
|
1701
|
+
* Clears all table contents.
|
|
1702
|
+
* Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.
|
|
1703
|
+
*
|
|
1704
|
+
* @param tablePath
|
|
1705
|
+
* @param options
|
|
1706
|
+
* @param options.cascade
|
|
1707
|
+
*/
|
|
1708
|
+
async clearTable(tablePath, options) {
|
|
1709
|
+
if (options?.cascade) {
|
|
1710
|
+
throw new error_1.TypeORMError(`SAP HANA does not support clearing table with cascade option`);
|
|
1711
|
+
}
|
|
1712
|
+
await this.query(`TRUNCATE TABLE ${this.escapePath(tablePath)}`);
|
|
1713
|
+
}
|
|
1714
|
+
/**
|
|
1715
|
+
* Removes all tables from the currently connected database.
|
|
1716
|
+
*/
|
|
1717
|
+
async clearDatabase() {
|
|
1718
|
+
const schemas = [];
|
|
1719
|
+
this.dataSource.entityMetadatas
|
|
1720
|
+
.filter((metadata) => metadata.schema)
|
|
1721
|
+
.forEach((metadata) => {
|
|
1722
|
+
const isSchemaExist = !!schemas.find((schema) => schema === metadata.schema);
|
|
1723
|
+
if (!isSchemaExist)
|
|
1724
|
+
schemas.push(metadata.schema);
|
|
1725
|
+
});
|
|
1726
|
+
if (this.driver.options.schema) {
|
|
1727
|
+
schemas.push(this.driver.options.schema);
|
|
1728
|
+
}
|
|
1729
|
+
else {
|
|
1730
|
+
const [{ currentSchema }] = await this.query(`SELECT CURRENT_SCHEMA AS "currentSchema" FROM "SYS"."DUMMY"`);
|
|
1731
|
+
schemas.push(currentSchema);
|
|
1732
|
+
}
|
|
1733
|
+
const schemaNamesPlaceholders = schemas.map(() => "?").join(", ");
|
|
1734
|
+
const isAnotherTransactionActive = this.isTransactionActive;
|
|
1735
|
+
if (!isAnotherTransactionActive)
|
|
1736
|
+
await this.startTransaction();
|
|
1737
|
+
try {
|
|
1738
|
+
const selectTableDropsQuery = `SELECT 'DROP TABLE "' || schema_name || '"."' || table_name || '" CASCADE;' as "query" FROM "SYS"."TABLES" WHERE "SCHEMA_NAME" IN (${schemaNamesPlaceholders}) AND "TABLE_NAME" NOT IN ('SYS_AFL_GENERATOR_PARAMETERS') AND "IS_COLUMN_TABLE" = 'TRUE'`;
|
|
1739
|
+
const dropTableQueries = await this.query(selectTableDropsQuery, schemas);
|
|
1740
|
+
await Promise.all(dropTableQueries.map((q) => this.query(q["query"])));
|
|
1741
|
+
if (!isAnotherTransactionActive)
|
|
1742
|
+
await this.commitTransaction();
|
|
1743
|
+
}
|
|
1744
|
+
catch (error) {
|
|
1745
|
+
try {
|
|
1746
|
+
// we throw original error even if rollback thrown an error
|
|
1747
|
+
if (!isAnotherTransactionActive)
|
|
1748
|
+
await this.rollbackTransaction();
|
|
1749
|
+
}
|
|
1750
|
+
catch (rollbackError) { }
|
|
1751
|
+
throw error;
|
|
1752
|
+
}
|
|
1753
|
+
}
|
|
1754
|
+
// -------------------------------------------------------------------------
|
|
1755
|
+
// Protected Methods
|
|
1756
|
+
// -------------------------------------------------------------------------
|
|
1757
|
+
async loadViews(viewNames) {
|
|
1758
|
+
const hasTable = await this.hasTable(this.getTypeormMetadataTableName());
|
|
1759
|
+
if (!hasTable) {
|
|
1760
|
+
return [];
|
|
1761
|
+
}
|
|
1762
|
+
viewNames ??= [];
|
|
1763
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
1764
|
+
const currentSchema = await this.getCurrentSchema();
|
|
1765
|
+
const viewsCondition = viewNames
|
|
1766
|
+
.map((viewName) => {
|
|
1767
|
+
let { schema, tableName: name } = this.driver.parseTableName(viewName);
|
|
1768
|
+
schema ??= currentSchema;
|
|
1769
|
+
return `("t"."schema" = '${schema}' AND "t"."name" = '${name}')`;
|
|
1770
|
+
})
|
|
1771
|
+
.join(" OR ");
|
|
1772
|
+
const query = `SELECT "t".* FROM ${this.escapePath(this.getTypeormMetadataTableName())} "t" WHERE "t"."type" = '${MetadataTableType_1.MetadataTableType.VIEW}' ${viewsCondition ? `AND (${viewsCondition})` : ""}`;
|
|
1773
|
+
const dbViews = await this.query(query);
|
|
1774
|
+
return dbViews.map((dbView) => {
|
|
1775
|
+
const view = new View_1.View();
|
|
1776
|
+
const schema = dbView["schema"] === currentSchema &&
|
|
1777
|
+
!this.driver.options.schema
|
|
1778
|
+
? undefined
|
|
1779
|
+
: dbView["schema"];
|
|
1780
|
+
view.database = currentDatabase;
|
|
1781
|
+
view.schema = dbView["schema"];
|
|
1782
|
+
view.name = this.driver.buildTableName(dbView["name"], schema);
|
|
1783
|
+
view.expression = dbView["value"];
|
|
1784
|
+
return view;
|
|
1785
|
+
});
|
|
1786
|
+
}
|
|
1787
|
+
/**
|
|
1788
|
+
* Loads all tables (with given names) from the database and creates a Table from them.
|
|
1789
|
+
*
|
|
1790
|
+
* @param tableNames
|
|
1791
|
+
*/
|
|
1792
|
+
async loadTables(tableNames) {
|
|
1793
|
+
const hasTable = await this.hasTable(this.getTypeormMetadataTableName());
|
|
1794
|
+
if (tableNames?.length === 0) {
|
|
1795
|
+
return [];
|
|
1796
|
+
}
|
|
1797
|
+
const currentSchema = await this.getCurrentSchema();
|
|
1798
|
+
const currentDatabase = await this.getCurrentDatabase();
|
|
1799
|
+
const dbTables = [];
|
|
1800
|
+
if (!tableNames) {
|
|
1801
|
+
const tablesSql = `SELECT "SCHEMA_NAME", "TABLE_NAME", "COMMENTS" FROM "SYS"."TABLES"`;
|
|
1802
|
+
dbTables.push(...(await this.query(tablesSql)));
|
|
1803
|
+
}
|
|
1804
|
+
else {
|
|
1805
|
+
const tablesCondition = tableNames
|
|
1806
|
+
.map((tableName) => {
|
|
1807
|
+
let [schema, name] = tableName.split(".");
|
|
1808
|
+
if (!name) {
|
|
1809
|
+
name = schema;
|
|
1810
|
+
schema = this.driver.options.schema ?? currentSchema;
|
|
1811
|
+
}
|
|
1812
|
+
return `("SCHEMA_NAME" = '${schema}' AND "TABLE_NAME" = '${name}')`;
|
|
1813
|
+
})
|
|
1814
|
+
.join(" OR ");
|
|
1815
|
+
const tablesSql = `SELECT "SCHEMA_NAME", "TABLE_NAME", "COMMENTS" FROM "SYS"."TABLES" WHERE ` +
|
|
1816
|
+
tablesCondition;
|
|
1817
|
+
dbTables.push(...(await this.query(tablesSql)));
|
|
1818
|
+
}
|
|
1819
|
+
// if tables were not found in the db, no need to proceed
|
|
1820
|
+
if (dbTables.length === 0)
|
|
1821
|
+
return [];
|
|
1822
|
+
const columnsCondition = dbTables
|
|
1823
|
+
.map(({ SCHEMA_NAME, TABLE_NAME }) => {
|
|
1824
|
+
return `("SCHEMA_NAME" = '${SCHEMA_NAME}' AND "TABLE_NAME" = '${TABLE_NAME}')`;
|
|
1825
|
+
})
|
|
1826
|
+
.join(" OR ");
|
|
1827
|
+
const columnsSql = `SELECT * FROM "SYS"."TABLE_COLUMNS" WHERE ` +
|
|
1828
|
+
columnsCondition +
|
|
1829
|
+
` ORDER BY "POSITION"`;
|
|
1830
|
+
const constraintsCondition = dbTables
|
|
1831
|
+
.map(({ SCHEMA_NAME, TABLE_NAME }) => {
|
|
1832
|
+
return `("SCHEMA_NAME" = '${SCHEMA_NAME}' AND "TABLE_NAME" = '${TABLE_NAME}')`;
|
|
1833
|
+
})
|
|
1834
|
+
.join(" OR ");
|
|
1835
|
+
const constraintsSql = `SELECT * FROM "SYS"."CONSTRAINTS" WHERE (${constraintsCondition}) ORDER BY "POSITION"`;
|
|
1836
|
+
const indicesCondition = dbTables
|
|
1837
|
+
.map(({ SCHEMA_NAME, TABLE_NAME }) => {
|
|
1838
|
+
return `("I"."SCHEMA_NAME" = '${SCHEMA_NAME}' AND "I"."TABLE_NAME" = '${TABLE_NAME}')`;
|
|
1839
|
+
})
|
|
1840
|
+
.join(" OR ");
|
|
1841
|
+
// excluding primary key and autogenerated fulltext indices
|
|
1842
|
+
const indicesSql = `SELECT "I"."INDEX_TYPE", "I"."SCHEMA_NAME", "I"."TABLE_NAME", "I"."INDEX_NAME", "IC"."COLUMN_NAME", "I"."CONSTRAINT" ` +
|
|
1843
|
+
`FROM "SYS"."INDEXES" "I" INNER JOIN "SYS"."INDEX_COLUMNS" "IC" ON "IC"."INDEX_OID" = "I"."INDEX_OID" ` +
|
|
1844
|
+
`WHERE (${indicesCondition}) AND ("I"."CONSTRAINT" IS NULL OR "I"."CONSTRAINT" != 'PRIMARY KEY') AND "I"."INDEX_NAME" NOT LIKE '%_SYS_FULLTEXT_%' ORDER BY "IC"."POSITION"`;
|
|
1845
|
+
const foreignKeysCondition = dbTables
|
|
1846
|
+
.map(({ SCHEMA_NAME, TABLE_NAME }) => {
|
|
1847
|
+
return `("SCHEMA_NAME" = '${SCHEMA_NAME}' AND "TABLE_NAME" = '${TABLE_NAME}')`;
|
|
1848
|
+
})
|
|
1849
|
+
.join(" OR ");
|
|
1850
|
+
const foreignKeysSql = `SELECT * FROM "SYS"."REFERENTIAL_CONSTRAINTS" WHERE (${foreignKeysCondition}) ORDER BY "POSITION"`;
|
|
1851
|
+
const [dbColumns, dbConstraints, dbIndices, dbForeignKeys,] = await Promise.all([
|
|
1852
|
+
this.query(columnsSql),
|
|
1853
|
+
this.query(constraintsSql),
|
|
1854
|
+
this.query(indicesSql),
|
|
1855
|
+
this.query(foreignKeysSql),
|
|
1856
|
+
]);
|
|
1857
|
+
// create tables for loaded tables
|
|
1858
|
+
return await Promise.all(dbTables.map(async (dbTable) => {
|
|
1859
|
+
const table = new Table_1.Table();
|
|
1860
|
+
const getSchemaFromKey = (dbObject, key) => {
|
|
1861
|
+
return dbObject[key] === currentSchema &&
|
|
1862
|
+
(!this.driver.options.schema ||
|
|
1863
|
+
this.driver.options.schema === currentSchema)
|
|
1864
|
+
? undefined
|
|
1865
|
+
: dbObject[key];
|
|
1866
|
+
};
|
|
1867
|
+
// We do not need to join schema name, when database is by default.
|
|
1868
|
+
const schema = getSchemaFromKey(dbTable, "SCHEMA_NAME");
|
|
1869
|
+
table.database = currentDatabase;
|
|
1870
|
+
table.schema = dbTable["SCHEMA_NAME"];
|
|
1871
|
+
table.comment = dbTable["COMMENTS"];
|
|
1872
|
+
table.name = this.driver.buildTableName(dbTable["TABLE_NAME"], schema);
|
|
1873
|
+
let dbGeneratedColumns = [];
|
|
1874
|
+
if (hasTable) {
|
|
1875
|
+
const generatedColumnSql = this.selectTypeormMetadataSql({
|
|
1876
|
+
schema: dbTable["SCHEMA_NAME"],
|
|
1877
|
+
table: dbTable["TABLE_NAME"],
|
|
1878
|
+
type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
|
|
1879
|
+
});
|
|
1880
|
+
dbGeneratedColumns = await this.query(generatedColumnSql?.query, generatedColumnSql?.parameters);
|
|
1881
|
+
}
|
|
1882
|
+
// create columns from the loaded columns
|
|
1883
|
+
table.columns = dbColumns
|
|
1884
|
+
.filter((dbColumn) => dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
|
|
1885
|
+
dbColumn["SCHEMA_NAME"] === dbTable["SCHEMA_NAME"])
|
|
1886
|
+
.map((dbColumn) => {
|
|
1887
|
+
const columnConstraints = dbConstraints.filter((dbConstraint) => dbConstraint["TABLE_NAME"] ===
|
|
1888
|
+
dbColumn["TABLE_NAME"] &&
|
|
1889
|
+
dbConstraint["SCHEMA_NAME"] ===
|
|
1890
|
+
dbColumn["SCHEMA_NAME"] &&
|
|
1891
|
+
dbConstraint["COLUMN_NAME"] ===
|
|
1892
|
+
dbColumn["COLUMN_NAME"]);
|
|
1893
|
+
const columnUniqueIndices = dbIndices.filter((dbIndex) => {
|
|
1894
|
+
return (dbIndex["TABLE_NAME"] ===
|
|
1895
|
+
dbTable["TABLE_NAME"] &&
|
|
1896
|
+
dbIndex["SCHEMA_NAME"] ===
|
|
1897
|
+
dbTable["SCHEMA_NAME"] &&
|
|
1898
|
+
dbIndex["COLUMN_NAME"] ===
|
|
1899
|
+
dbColumn["COLUMN_NAME"] &&
|
|
1900
|
+
dbIndex["CONSTRAINT"] &&
|
|
1901
|
+
dbIndex["CONSTRAINT"].indexOf("UNIQUE") !==
|
|
1902
|
+
-1);
|
|
1903
|
+
});
|
|
1904
|
+
const tableMetadata = this.dataSource.entityMetadatas.find((metadata) => this.getTablePath(table) ===
|
|
1905
|
+
this.getTablePath(metadata));
|
|
1906
|
+
const hasIgnoredIndex = columnUniqueIndices.length > 0 &&
|
|
1907
|
+
tableMetadata?.indices.some((index) => {
|
|
1908
|
+
return columnUniqueIndices.some((uniqueIndex) => {
|
|
1909
|
+
return (index.name ===
|
|
1910
|
+
uniqueIndex["INDEX_NAME"] &&
|
|
1911
|
+
index.synchronize === false);
|
|
1912
|
+
});
|
|
1913
|
+
});
|
|
1914
|
+
const isConstraintComposite = columnUniqueIndices.every((uniqueIndex) => {
|
|
1915
|
+
return dbIndices.some((dbIndex) => dbIndex["INDEX_NAME"] ===
|
|
1916
|
+
uniqueIndex["INDEX_NAME"] &&
|
|
1917
|
+
dbIndex["COLUMN_NAME"] !==
|
|
1918
|
+
dbColumn["COLUMN_NAME"]);
|
|
1919
|
+
});
|
|
1920
|
+
const tableColumn = new TableColumn_1.TableColumn();
|
|
1921
|
+
tableColumn.name = dbColumn["COLUMN_NAME"];
|
|
1922
|
+
tableColumn.type =
|
|
1923
|
+
dbColumn["DATA_TYPE_NAME"].toLowerCase();
|
|
1924
|
+
if (tableColumn.type === "dec" ||
|
|
1925
|
+
tableColumn.type === "decimal") {
|
|
1926
|
+
// If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
|
|
1927
|
+
// we set 'undefined' in to unspecified property to avoid changing column on sync
|
|
1928
|
+
if (dbColumn["LENGTH"] !== null &&
|
|
1929
|
+
!this.isDefaultColumnPrecision(table, tableColumn, dbColumn["LENGTH"])) {
|
|
1930
|
+
tableColumn.precision = dbColumn["LENGTH"];
|
|
1931
|
+
}
|
|
1932
|
+
else if (dbColumn["SCALE"] !== null &&
|
|
1933
|
+
!this.isDefaultColumnScale(table, tableColumn, dbColumn["SCALE"])) {
|
|
1934
|
+
tableColumn.precision = undefined;
|
|
1935
|
+
}
|
|
1936
|
+
if (dbColumn["SCALE"] !== null &&
|
|
1937
|
+
!this.isDefaultColumnScale(table, tableColumn, dbColumn["SCALE"])) {
|
|
1938
|
+
tableColumn.scale = dbColumn["SCALE"];
|
|
1939
|
+
}
|
|
1940
|
+
else if (dbColumn["LENGTH"] !== null &&
|
|
1941
|
+
!this.isDefaultColumnPrecision(table, tableColumn, dbColumn["LENGTH"])) {
|
|
1942
|
+
tableColumn.scale = undefined;
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
if (dbColumn["DATA_TYPE_NAME"].toLowerCase() === "array") {
|
|
1946
|
+
tableColumn.isArray = true;
|
|
1947
|
+
tableColumn.type =
|
|
1948
|
+
dbColumn["CS_DATA_TYPE_NAME"].toLowerCase();
|
|
1949
|
+
}
|
|
1950
|
+
// check only columns that have length property
|
|
1951
|
+
if (this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1 &&
|
|
1952
|
+
dbColumn["LENGTH"]) {
|
|
1953
|
+
const length = dbColumn["LENGTH"].toString();
|
|
1954
|
+
tableColumn.length = !this.isDefaultColumnLength(table, tableColumn, length)
|
|
1955
|
+
? length
|
|
1956
|
+
: "";
|
|
1957
|
+
}
|
|
1958
|
+
tableColumn.isUnique =
|
|
1959
|
+
columnUniqueIndices.length > 0 &&
|
|
1960
|
+
!hasIgnoredIndex &&
|
|
1961
|
+
!isConstraintComposite;
|
|
1962
|
+
tableColumn.isNullable =
|
|
1963
|
+
dbColumn["IS_NULLABLE"] === "TRUE";
|
|
1964
|
+
tableColumn.isPrimary = !!columnConstraints.find((constraint) => constraint["IS_PRIMARY_KEY"] === "TRUE");
|
|
1965
|
+
tableColumn.isGenerated =
|
|
1966
|
+
dbColumn["GENERATION_TYPE"] ===
|
|
1967
|
+
"ALWAYS AS IDENTITY" ||
|
|
1968
|
+
dbColumn["GENERATION_TYPE"] ===
|
|
1969
|
+
"BY DEFAULT AS IDENTITY";
|
|
1970
|
+
if (tableColumn.isGenerated)
|
|
1971
|
+
tableColumn.generationStrategy = "increment";
|
|
1972
|
+
if (dbColumn["DEFAULT_VALUE"] === null ||
|
|
1973
|
+
dbColumn["DEFAULT_VALUE"] === undefined) {
|
|
1974
|
+
tableColumn.default = undefined;
|
|
1975
|
+
}
|
|
1976
|
+
else {
|
|
1977
|
+
if (tableColumn.type === "char" ||
|
|
1978
|
+
tableColumn.type === "nchar" ||
|
|
1979
|
+
tableColumn.type === "varchar" ||
|
|
1980
|
+
tableColumn.type === "nvarchar" ||
|
|
1981
|
+
tableColumn.type === "alphanum" ||
|
|
1982
|
+
tableColumn.type === "shorttext") {
|
|
1983
|
+
tableColumn.default = `'${dbColumn["DEFAULT_VALUE"]}'`;
|
|
1984
|
+
}
|
|
1985
|
+
else if (tableColumn.type === "boolean") {
|
|
1986
|
+
tableColumn.default =
|
|
1987
|
+
dbColumn["DEFAULT_VALUE"] === "1"
|
|
1988
|
+
? "true"
|
|
1989
|
+
: "false";
|
|
1990
|
+
}
|
|
1991
|
+
else {
|
|
1992
|
+
tableColumn.default = dbColumn["DEFAULT_VALUE"];
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
if (dbColumn["GENERATED_ALWAYS_AS"]) {
|
|
1996
|
+
// get generated column expression from typeorm metadata table, as GENERATED_ALWAYS_AS has sanitized expression
|
|
1997
|
+
tableColumn.asExpression =
|
|
1998
|
+
dbGeneratedColumns.find((gc) => gc.name === dbColumn["COLUMN_NAME"])?.value ??
|
|
1999
|
+
dbColumn["GENERATED_ALWAYS_AS"] ??
|
|
2000
|
+
"";
|
|
2001
|
+
}
|
|
2002
|
+
if (dbColumn["COMMENTS"]) {
|
|
2003
|
+
tableColumn.comment = dbColumn["COMMENTS"];
|
|
2004
|
+
}
|
|
2005
|
+
return tableColumn;
|
|
2006
|
+
});
|
|
2007
|
+
// find check constraints of table, group them by constraint name and build TableCheck.
|
|
2008
|
+
const tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter((dbConstraint) => dbConstraint["TABLE_NAME"] ===
|
|
2009
|
+
dbTable["TABLE_NAME"] &&
|
|
2010
|
+
dbConstraint["SCHEMA_NAME"] ===
|
|
2011
|
+
dbTable["SCHEMA_NAME"] &&
|
|
2012
|
+
dbConstraint["CHECK_CONDITION"] !== null &&
|
|
2013
|
+
dbConstraint["CHECK_CONDITION"] !== undefined), (dbConstraint) => dbConstraint["CONSTRAINT_NAME"]);
|
|
2014
|
+
table.checks = tableCheckConstraints.map((constraint) => {
|
|
2015
|
+
const checks = dbConstraints.filter((dbC) => dbC["CONSTRAINT_NAME"] ===
|
|
2016
|
+
constraint["CONSTRAINT_NAME"]);
|
|
2017
|
+
return new TableCheck_1.TableCheck({
|
|
2018
|
+
name: constraint["CONSTRAINT_NAME"],
|
|
2019
|
+
columnNames: checks.map((c) => c["COLUMN_NAME"]),
|
|
2020
|
+
expression: constraint["CHECK_CONDITION"],
|
|
2021
|
+
});
|
|
2022
|
+
});
|
|
2023
|
+
// find foreign key constraints of table, group them by constraint name and build TableForeignKey.
|
|
2024
|
+
const tableForeignKeyConstraints = OrmUtils_1.OrmUtils.uniq(dbForeignKeys.filter((dbForeignKey) => dbForeignKey["TABLE_NAME"] ===
|
|
2025
|
+
dbTable["TABLE_NAME"] &&
|
|
2026
|
+
dbForeignKey["SCHEMA_NAME"] ===
|
|
2027
|
+
dbTable["SCHEMA_NAME"]), (dbForeignKey) => dbForeignKey["CONSTRAINT_NAME"]);
|
|
2028
|
+
table.foreignKeys = tableForeignKeyConstraints.map((dbForeignKey) => {
|
|
2029
|
+
const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
|
|
2030
|
+
dbForeignKey["CONSTRAINT_NAME"]);
|
|
2031
|
+
// if referenced table located in currently used schema, we don't need to concat schema name to table name.
|
|
2032
|
+
const schema = getSchemaFromKey(dbForeignKey, "REFERENCED_SCHEMA_NAME");
|
|
2033
|
+
const referencedTableName = this.driver.buildTableName(dbForeignKey["REFERENCED_TABLE_NAME"], schema);
|
|
2034
|
+
return new TableForeignKey_1.TableForeignKey({
|
|
2035
|
+
name: dbForeignKey["CONSTRAINT_NAME"],
|
|
2036
|
+
columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
|
|
2037
|
+
referencedDatabase: table.database,
|
|
2038
|
+
referencedSchema: dbForeignKey["REFERENCED_SCHEMA_NAME"],
|
|
2039
|
+
referencedTableName: referencedTableName,
|
|
2040
|
+
referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
|
|
2041
|
+
onDelete: dbForeignKey["DELETE_RULE"] === "RESTRICT"
|
|
2042
|
+
? "NO ACTION"
|
|
2043
|
+
: dbForeignKey["DELETE_RULE"],
|
|
2044
|
+
onUpdate: dbForeignKey["UPDATE_RULE"] === "RESTRICT"
|
|
2045
|
+
? "NO ACTION"
|
|
2046
|
+
: dbForeignKey["UPDATE_RULE"],
|
|
2047
|
+
deferrable: dbForeignKey["CHECK_TIME"].replace("_", " "),
|
|
2048
|
+
});
|
|
2049
|
+
});
|
|
2050
|
+
// find index constraints of table, group them by constraint name and build TableIndex.
|
|
2051
|
+
const tableIndexConstraints = OrmUtils_1.OrmUtils.uniq(dbIndices.filter((dbIndex) => dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
|
|
2052
|
+
dbIndex["SCHEMA_NAME"] === dbTable["SCHEMA_NAME"]), (dbIndex) => dbIndex["INDEX_NAME"]);
|
|
2053
|
+
table.indices = tableIndexConstraints.map((constraint) => {
|
|
2054
|
+
const indices = dbIndices.filter((index) => {
|
|
2055
|
+
return (index["SCHEMA_NAME"] ===
|
|
2056
|
+
constraint["SCHEMA_NAME"] &&
|
|
2057
|
+
index["TABLE_NAME"] === constraint["TABLE_NAME"] &&
|
|
2058
|
+
index["INDEX_NAME"] === constraint["INDEX_NAME"]);
|
|
2059
|
+
});
|
|
2060
|
+
return new TableIndex_1.TableIndex({
|
|
2061
|
+
table: table,
|
|
2062
|
+
name: constraint["INDEX_NAME"],
|
|
2063
|
+
columnNames: indices.map((i) => i["COLUMN_NAME"]),
|
|
2064
|
+
isUnique: constraint["CONSTRAINT"] &&
|
|
2065
|
+
constraint["CONSTRAINT"].indexOf("UNIQUE") !== -1,
|
|
2066
|
+
isFulltext: constraint["INDEX_TYPE"] === "FULLTEXT",
|
|
2067
|
+
});
|
|
2068
|
+
});
|
|
2069
|
+
return table;
|
|
2070
|
+
}));
|
|
2071
|
+
}
|
|
2072
|
+
/**
|
|
2073
|
+
* Builds and returns SQL for create table.
|
|
2074
|
+
*
|
|
2075
|
+
* @param table
|
|
2076
|
+
* @param createForeignKeys
|
|
2077
|
+
*/
|
|
2078
|
+
createTableSql(table, createForeignKeys) {
|
|
2079
|
+
const columnDefinitions = table.columns
|
|
2080
|
+
.map((column) => this.buildCreateColumnSql(column))
|
|
2081
|
+
.join(", ");
|
|
2082
|
+
let sql = `CREATE TABLE ${this.escapePath(table)} (${columnDefinitions}`;
|
|
2083
|
+
// we create unique indexes instead of unique constraints, because SAP HANA does not have unique constraints.
|
|
2084
|
+
// if we mark column as Unique, it means that we create UNIQUE INDEX.
|
|
2085
|
+
table.columns
|
|
2086
|
+
.filter((column) => column.isUnique)
|
|
2087
|
+
.forEach((column) => {
|
|
2088
|
+
const isUniqueIndexExist = table.indices.some((index) => {
|
|
2089
|
+
return (index.columnNames.length === 1 &&
|
|
2090
|
+
!!index.isUnique &&
|
|
2091
|
+
index.columnNames.indexOf(column.name) !== -1);
|
|
2092
|
+
});
|
|
2093
|
+
const isUniqueConstraintExist = table.uniques.some((unique) => {
|
|
2094
|
+
return (unique.columnNames.length === 1 &&
|
|
2095
|
+
unique.columnNames.indexOf(column.name) !== -1);
|
|
2096
|
+
});
|
|
2097
|
+
if (!isUniqueIndexExist && !isUniqueConstraintExist)
|
|
2098
|
+
table.indices.push(new TableIndex_1.TableIndex({
|
|
2099
|
+
name: this.dataSource.namingStrategy.uniqueConstraintName(table, [column.name]),
|
|
2100
|
+
columnNames: [column.name],
|
|
2101
|
+
isUnique: true,
|
|
2102
|
+
}));
|
|
2103
|
+
});
|
|
2104
|
+
// as SAP HANA does not have unique constraints, we must create table indices from table uniques and mark them as unique.
|
|
2105
|
+
if (table.uniques.length > 0) {
|
|
2106
|
+
table.uniques.forEach((unique) => {
|
|
2107
|
+
const uniqueExist = table.indices.some((index) => index.name === unique.name);
|
|
2108
|
+
if (!uniqueExist) {
|
|
2109
|
+
table.indices.push(new TableIndex_1.TableIndex({
|
|
2110
|
+
name: unique.name,
|
|
2111
|
+
columnNames: unique.columnNames,
|
|
2112
|
+
isUnique: true,
|
|
2113
|
+
}));
|
|
2114
|
+
}
|
|
2115
|
+
});
|
|
2116
|
+
}
|
|
2117
|
+
if (table.checks.length > 0) {
|
|
2118
|
+
const checksSql = table.checks
|
|
2119
|
+
.map((check) => {
|
|
2120
|
+
const checkName = check.name ??
|
|
2121
|
+
this.dataSource.namingStrategy.checkConstraintName(table, check.expression);
|
|
2122
|
+
return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
|
|
2123
|
+
})
|
|
2124
|
+
.join(", ");
|
|
2125
|
+
sql += `, ${checksSql}`;
|
|
2126
|
+
}
|
|
2127
|
+
if (table.foreignKeys.length > 0 && createForeignKeys) {
|
|
2128
|
+
const foreignKeysSql = table.foreignKeys
|
|
2129
|
+
.map((fk) => {
|
|
2130
|
+
const columnNames = fk.columnNames
|
|
2131
|
+
.map((columnName) => `"${columnName}"`)
|
|
2132
|
+
.join(", ");
|
|
2133
|
+
fk.name ??= this.dataSource.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
|
|
2134
|
+
const referencedColumnNames = fk.referencedColumnNames
|
|
2135
|
+
.map((columnName) => `"${columnName}"`)
|
|
2136
|
+
.join(", ");
|
|
2137
|
+
let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(this.getTablePath(fk))} (${referencedColumnNames})`;
|
|
2138
|
+
// SAP HANA does not have "NO ACTION" option for FK's
|
|
2139
|
+
if (fk.onDelete) {
|
|
2140
|
+
const onDelete = fk.onDelete === "NO ACTION"
|
|
2141
|
+
? "RESTRICT"
|
|
2142
|
+
: fk.onDelete;
|
|
2143
|
+
constraint += ` ON DELETE ${onDelete}`;
|
|
2144
|
+
}
|
|
2145
|
+
if (fk.onUpdate) {
|
|
2146
|
+
const onUpdate = fk.onUpdate === "NO ACTION"
|
|
2147
|
+
? "RESTRICT"
|
|
2148
|
+
: fk.onUpdate;
|
|
2149
|
+
constraint += ` ON UPDATE ${onUpdate}`;
|
|
2150
|
+
}
|
|
2151
|
+
if (fk.deferrable) {
|
|
2152
|
+
constraint += ` ${fk.deferrable}`;
|
|
2153
|
+
}
|
|
2154
|
+
return constraint;
|
|
2155
|
+
})
|
|
2156
|
+
.join(", ");
|
|
2157
|
+
sql += `, ${foreignKeysSql}`;
|
|
2158
|
+
}
|
|
2159
|
+
const primaryColumns = table.columns.filter((column) => column.isPrimary);
|
|
2160
|
+
if (primaryColumns.length > 0) {
|
|
2161
|
+
const primaryKeyName = this.dataSource.namingStrategy.primaryKeyName(table, primaryColumns.map((column) => column.name));
|
|
2162
|
+
const columnNames = primaryColumns
|
|
2163
|
+
.map((column) => `"${column.name}"`)
|
|
2164
|
+
.join(", ");
|
|
2165
|
+
sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`;
|
|
2166
|
+
}
|
|
2167
|
+
sql += `)`;
|
|
2168
|
+
if (table.comment) {
|
|
2169
|
+
sql += ` COMMENT ${this.escapeComment(table.comment)}`;
|
|
2170
|
+
}
|
|
2171
|
+
return new Query_1.Query(sql);
|
|
2172
|
+
}
|
|
2173
|
+
/**
|
|
2174
|
+
* Builds drop table sql.
|
|
2175
|
+
*
|
|
2176
|
+
* @param tableOrName
|
|
2177
|
+
* @param ifExists
|
|
2178
|
+
*/
|
|
2179
|
+
dropTableSql(tableOrName, ifExists) {
|
|
2180
|
+
const query = ifExists
|
|
2181
|
+
? `DROP TABLE IF EXISTS ${this.escapePath(tableOrName)}`
|
|
2182
|
+
: `DROP TABLE ${this.escapePath(tableOrName)}`;
|
|
2183
|
+
return new Query_1.Query(query);
|
|
2184
|
+
}
|
|
2185
|
+
createViewSql(view) {
|
|
2186
|
+
if (typeof view.expression === "string") {
|
|
2187
|
+
return new Query_1.Query(`CREATE VIEW ${this.escapePath(view)} AS ${view.expression}`);
|
|
2188
|
+
}
|
|
2189
|
+
else {
|
|
2190
|
+
return new Query_1.Query(`CREATE VIEW ${this.escapePath(view)} AS ${view
|
|
2191
|
+
.expression(this.dataSource)
|
|
2192
|
+
.getQuery()}`);
|
|
2193
|
+
}
|
|
2194
|
+
}
|
|
2195
|
+
async insertViewDefinitionSql(view) {
|
|
2196
|
+
let { schema, tableName: name } = this.driver.parseTableName(view);
|
|
2197
|
+
schema ??= await this.getCurrentSchema();
|
|
2198
|
+
const expression = typeof view.expression === "string"
|
|
2199
|
+
? view.expression.trim()
|
|
2200
|
+
: view.expression(this.dataSource).getQuery();
|
|
2201
|
+
return this.insertTypeormMetadataSql({
|
|
2202
|
+
type: MetadataTableType_1.MetadataTableType.VIEW,
|
|
2203
|
+
schema: schema,
|
|
2204
|
+
name: name,
|
|
2205
|
+
value: expression,
|
|
2206
|
+
});
|
|
2207
|
+
}
|
|
2208
|
+
/**
|
|
2209
|
+
* Builds drop view sql.
|
|
2210
|
+
*
|
|
2211
|
+
* @param viewOrPath
|
|
2212
|
+
*/
|
|
2213
|
+
dropViewSql(viewOrPath) {
|
|
2214
|
+
return new Query_1.Query(`DROP VIEW ${this.escapePath(viewOrPath)}`);
|
|
2215
|
+
}
|
|
2216
|
+
/**
|
|
2217
|
+
* Builds remove view sql.
|
|
2218
|
+
*
|
|
2219
|
+
* @param viewOrPath
|
|
2220
|
+
*/
|
|
2221
|
+
async deleteViewDefinitionSql(viewOrPath) {
|
|
2222
|
+
let { schema, tableName: name } = this.driver.parseTableName(viewOrPath);
|
|
2223
|
+
schema ??= await this.getCurrentSchema();
|
|
2224
|
+
return this.deleteTypeormMetadataSql({
|
|
2225
|
+
type: MetadataTableType_1.MetadataTableType.VIEW,
|
|
2226
|
+
schema,
|
|
2227
|
+
name,
|
|
2228
|
+
});
|
|
2229
|
+
}
|
|
2230
|
+
addColumnSql(table, column) {
|
|
2231
|
+
return `ALTER TABLE ${this.escapePath(table)} ADD (${this.buildCreateColumnSql(column)})`;
|
|
2232
|
+
}
|
|
2233
|
+
dropColumnSql(table, column) {
|
|
2234
|
+
return `ALTER TABLE ${this.escapePath(table)} DROP ("${column.name}")`;
|
|
2235
|
+
}
|
|
2236
|
+
/**
|
|
2237
|
+
* Builds create index sql.
|
|
2238
|
+
*
|
|
2239
|
+
* @param table
|
|
2240
|
+
* @param index
|
|
2241
|
+
*/
|
|
2242
|
+
createIndexSql(table, index) {
|
|
2243
|
+
const columns = index.columnNames
|
|
2244
|
+
.map((columnName) => `"${columnName}"`)
|
|
2245
|
+
.join(", ");
|
|
2246
|
+
let indexType = "";
|
|
2247
|
+
if (index.isUnique) {
|
|
2248
|
+
indexType += "UNIQUE ";
|
|
2249
|
+
}
|
|
2250
|
+
if (index.isFulltext && this.driver.isFullTextColumnTypeSupported()) {
|
|
2251
|
+
indexType += "FULLTEXT ";
|
|
2252
|
+
}
|
|
2253
|
+
return new Query_1.Query(`CREATE ${indexType}INDEX "${index.name}" ON ${this.escapePath(table)} (${columns}) ${index.where ? "WHERE " + index.where : ""}`);
|
|
2254
|
+
}
|
|
2255
|
+
/**
|
|
2256
|
+
* Builds drop index sql.
|
|
2257
|
+
*
|
|
2258
|
+
* @param table
|
|
2259
|
+
* @param indexOrName
|
|
2260
|
+
*/
|
|
2261
|
+
dropIndexSql(table, indexOrName) {
|
|
2262
|
+
const indexName = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
|
|
2263
|
+
? indexOrName.name
|
|
2264
|
+
: indexOrName;
|
|
2265
|
+
const parsedTableName = this.driver.parseTableName(table);
|
|
2266
|
+
if (!parsedTableName.schema) {
|
|
2267
|
+
return new Query_1.Query(`DROP INDEX "${indexName}"`);
|
|
2268
|
+
}
|
|
2269
|
+
else {
|
|
2270
|
+
return new Query_1.Query(`DROP INDEX "${parsedTableName.schema}"."${indexName}"`);
|
|
2271
|
+
}
|
|
2272
|
+
}
|
|
2273
|
+
/**
|
|
2274
|
+
* Builds create primary key sql.
|
|
2275
|
+
*
|
|
2276
|
+
* @param table
|
|
2277
|
+
* @param columnNames
|
|
2278
|
+
*/
|
|
2279
|
+
createPrimaryKeySql(table, columnNames) {
|
|
2280
|
+
const primaryKeyName = this.dataSource.namingStrategy.primaryKeyName(table, columnNames);
|
|
2281
|
+
const columnNamesString = columnNames
|
|
2282
|
+
.map((columnName) => `"${columnName}"`)
|
|
2283
|
+
.join(", ");
|
|
2284
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`);
|
|
2285
|
+
}
|
|
2286
|
+
/**
|
|
2287
|
+
* Builds drop primary key sql.
|
|
2288
|
+
*
|
|
2289
|
+
* @param table
|
|
2290
|
+
*/
|
|
2291
|
+
dropPrimaryKeySql(table) {
|
|
2292
|
+
const columnNames = table.primaryColumns.map((column) => column.name);
|
|
2293
|
+
const primaryKeyName = this.dataSource.namingStrategy.primaryKeyName(table, columnNames);
|
|
2294
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`);
|
|
2295
|
+
}
|
|
2296
|
+
/**
|
|
2297
|
+
* Builds create check constraint sql.
|
|
2298
|
+
*
|
|
2299
|
+
* @param table
|
|
2300
|
+
* @param checkConstraint
|
|
2301
|
+
*/
|
|
2302
|
+
createCheckConstraintSql(table, checkConstraint) {
|
|
2303
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${checkConstraint.name}" CHECK (${checkConstraint.expression})`);
|
|
2304
|
+
}
|
|
2305
|
+
/**
|
|
2306
|
+
* Builds drop check constraint sql.
|
|
2307
|
+
*
|
|
2308
|
+
* @param table
|
|
2309
|
+
* @param checkOrName
|
|
2310
|
+
*/
|
|
2311
|
+
dropCheckConstraintSql(table, checkOrName) {
|
|
2312
|
+
const checkName = InstanceChecker_1.InstanceChecker.isTableCheck(checkOrName)
|
|
2313
|
+
? checkOrName.name
|
|
2314
|
+
: checkOrName;
|
|
2315
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${checkName}"`);
|
|
2316
|
+
}
|
|
2317
|
+
/**
|
|
2318
|
+
* Builds create foreign key sql.
|
|
2319
|
+
*
|
|
2320
|
+
* @param tableOrName
|
|
2321
|
+
* @param foreignKey
|
|
2322
|
+
*/
|
|
2323
|
+
createForeignKeySql(tableOrName, foreignKey) {
|
|
2324
|
+
const columnNames = foreignKey.columnNames
|
|
2325
|
+
.map((column) => `"` + column + `"`)
|
|
2326
|
+
.join(", ");
|
|
2327
|
+
const referencedColumnNames = foreignKey.referencedColumnNames
|
|
2328
|
+
.map((column) => `"` + column + `"`)
|
|
2329
|
+
.join(",");
|
|
2330
|
+
let sql = `ALTER TABLE ${this.escapePath(tableOrName)} ADD CONSTRAINT "${foreignKey.name}" FOREIGN KEY (${columnNames}) ` +
|
|
2331
|
+
`REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
|
|
2332
|
+
// SAP HANA does not have "NO ACTION" option for FK's
|
|
2333
|
+
if (foreignKey.onDelete) {
|
|
2334
|
+
const onDelete = foreignKey.onDelete === "NO ACTION"
|
|
2335
|
+
? "RESTRICT"
|
|
2336
|
+
: foreignKey.onDelete;
|
|
2337
|
+
sql += ` ON DELETE ${onDelete}`;
|
|
2338
|
+
}
|
|
2339
|
+
if (foreignKey.onUpdate) {
|
|
2340
|
+
const onUpdate = foreignKey.onUpdate === "NO ACTION"
|
|
2341
|
+
? "RESTRICT"
|
|
2342
|
+
: foreignKey.onUpdate;
|
|
2343
|
+
sql += ` ON UPDATE ${onUpdate}`;
|
|
2344
|
+
}
|
|
2345
|
+
if (foreignKey.deferrable) {
|
|
2346
|
+
sql += ` ${foreignKey.deferrable}`;
|
|
2347
|
+
}
|
|
2348
|
+
return new Query_1.Query(sql);
|
|
2349
|
+
}
|
|
2350
|
+
/**
|
|
2351
|
+
* Builds drop foreign key sql.
|
|
2352
|
+
*
|
|
2353
|
+
* @param tableOrName
|
|
2354
|
+
* @param foreignKeyOrName
|
|
2355
|
+
*/
|
|
2356
|
+
dropForeignKeySql(tableOrName, foreignKeyOrName) {
|
|
2357
|
+
const foreignKeyName = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
|
|
2358
|
+
? foreignKeyOrName.name
|
|
2359
|
+
: foreignKeyOrName;
|
|
2360
|
+
return new Query_1.Query(`ALTER TABLE ${this.escapePath(tableOrName)} DROP CONSTRAINT "${foreignKeyName}"`);
|
|
2361
|
+
}
|
|
2362
|
+
/**
|
|
2363
|
+
* Escapes a given comment so it's safe to include in a query.
|
|
2364
|
+
*
|
|
2365
|
+
* @param comment
|
|
2366
|
+
*/
|
|
2367
|
+
escapeComment(comment) {
|
|
2368
|
+
if (!comment || comment.length === 0) {
|
|
2369
|
+
return "NULL";
|
|
2370
|
+
}
|
|
2371
|
+
comment = comment.replaceAll("'", "''").replaceAll("\u0000", ""); // Null bytes aren't allowed in comments
|
|
2372
|
+
return `'${comment}'`;
|
|
2373
|
+
}
|
|
2374
|
+
/**
|
|
2375
|
+
* Escapes given table or view path.
|
|
2376
|
+
*
|
|
2377
|
+
* @param target
|
|
2378
|
+
*/
|
|
2379
|
+
escapePath(target) {
|
|
2380
|
+
const { schema, tableName } = this.driver.parseTableName(target);
|
|
2381
|
+
if (schema) {
|
|
2382
|
+
return `"${schema}"."${tableName}"`;
|
|
2383
|
+
}
|
|
2384
|
+
return `"${tableName}"`;
|
|
2385
|
+
}
|
|
2386
|
+
/**
|
|
2387
|
+
* Builds a query for create column.
|
|
2388
|
+
*
|
|
2389
|
+
* @param column
|
|
2390
|
+
* @param explicitDefault
|
|
2391
|
+
* @param explicitNullable
|
|
2392
|
+
*/
|
|
2393
|
+
buildCreateColumnSql(column, explicitDefault, explicitNullable) {
|
|
2394
|
+
let c = `"${column.name}" ` + this.dataSource.driver.createFullType(column);
|
|
2395
|
+
if (column.default !== undefined && column.default !== null) {
|
|
2396
|
+
c += " DEFAULT " + column.default;
|
|
2397
|
+
}
|
|
2398
|
+
else if (explicitDefault) {
|
|
2399
|
+
c += " DEFAULT NULL";
|
|
2400
|
+
}
|
|
2401
|
+
if (!column.isGenerated) {
|
|
2402
|
+
// NOT NULL is not supported with GENERATED
|
|
2403
|
+
if (column.isNullable !== true)
|
|
2404
|
+
c += " NOT NULL";
|
|
2405
|
+
else if (explicitNullable)
|
|
2406
|
+
c += " NULL";
|
|
2407
|
+
}
|
|
2408
|
+
if (column.isGenerated === true &&
|
|
2409
|
+
column.generationStrategy === "increment") {
|
|
2410
|
+
// GENERATED BY DEFAULT allows TypeORM to explicitly insert values
|
|
2411
|
+
// into identity columns when needed (e.g., synchronize, migrations).
|
|
2412
|
+
// GENERATED ALWAYS rejects any explicit value — even the DEFAULT
|
|
2413
|
+
// keyword — making it impossible to insert into tables whose only
|
|
2414
|
+
// column is an identity column.
|
|
2415
|
+
c += " GENERATED BY DEFAULT AS IDENTITY";
|
|
2416
|
+
}
|
|
2417
|
+
if (column.asExpression) {
|
|
2418
|
+
c += ` GENERATED ALWAYS AS (${column.asExpression})`;
|
|
2419
|
+
}
|
|
2420
|
+
if (column.comment) {
|
|
2421
|
+
c += ` COMMENT ${this.escapeComment(column.comment)}`;
|
|
2422
|
+
}
|
|
2423
|
+
return c;
|
|
2424
|
+
}
|
|
2425
|
+
/**
|
|
2426
|
+
* Change table comment.
|
|
2427
|
+
*
|
|
2428
|
+
* @param tableOrName
|
|
2429
|
+
* @param newComment
|
|
2430
|
+
*/
|
|
2431
|
+
async changeTableComment(tableOrName, newComment) {
|
|
2432
|
+
const upQueries = [];
|
|
2433
|
+
const downQueries = [];
|
|
2434
|
+
const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
|
|
2435
|
+
? tableOrName
|
|
2436
|
+
: await this.getCachedTable(tableOrName);
|
|
2437
|
+
const escapedNewComment = this.escapeComment(newComment);
|
|
2438
|
+
const escapedComment = this.escapeComment(table.comment);
|
|
2439
|
+
if (escapedNewComment === escapedComment) {
|
|
2440
|
+
return;
|
|
2441
|
+
}
|
|
2442
|
+
const newTable = table.clone();
|
|
2443
|
+
newTable.comment = newComment;
|
|
2444
|
+
upQueries.push(new Query_1.Query(`COMMENT ON TABLE ${this.escapePath(newTable)} IS ${escapedNewComment}`));
|
|
2445
|
+
downQueries.push(new Query_1.Query(`COMMENT ON TABLE ${this.escapePath(table)} IS ${escapedComment}`));
|
|
2446
|
+
await this.executeQueries(upQueries, downQueries);
|
|
2447
|
+
table.comment = newTable.comment;
|
|
2448
|
+
this.replaceCachedTable(table, newTable);
|
|
2449
|
+
}
|
|
2450
|
+
}
|
|
2451
|
+
exports.SapQueryRunner = SapQueryRunner;
|
|
2452
|
+
//# sourceMappingURL=SapQueryRunner.js.map
|