typeorm 0.2.28 → 0.2.32
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 +54 -49
- package/browser/cache/QueryResultCache.js +1 -1
- package/browser/cache/QueryResultCacheOptions.js +1 -1
- package/browser/common/DeepPartial.js +1 -1
- package/browser/common/EntityFieldsNames.d.ts +6 -0
- package/browser/common/EntityFieldsNames.js +3 -0
- package/browser/common/EntityFieldsNames.js.map +1 -0
- package/browser/common/EntityTarget.js +1 -1
- package/browser/common/ObjectLiteral.js +1 -1
- package/browser/common/ObjectType.js +1 -1
- package/browser/connection/BaseConnectionOptions.js +1 -1
- package/browser/connection/Connection.d.ts +2 -2
- package/browser/connection/Connection.js +4 -2
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.js +5 -5
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptions.js +1 -1
- package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
- package/browser/connection/ConnectionOptionsReader.js +30 -30
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +9 -2
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.js +1 -1
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/options/ColumnCommonOptions.js +1 -1
- package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
- package/browser/decorator/options/ColumnEnumOptions.js +1 -1
- package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
- package/browser/decorator/options/ColumnNumericOptions.js +1 -1
- package/browser/decorator/options/ColumnOptions.js +1 -1
- package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
- package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
- package/browser/decorator/options/EntityOptions.js +1 -1
- package/browser/decorator/options/IndexOptions.js +1 -1
- package/browser/decorator/options/JoinColumnOptions.js +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
- package/browser/decorator/options/JoinTableOptions.js +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +10 -0
- package/browser/decorator/options/RelationOptions.js +1 -1
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/SpatialColumnOptions.js +1 -1
- package/browser/decorator/options/TransactionOptions.js +1 -1
- package/browser/decorator/options/ValueTransformer.js +1 -1
- package/browser/decorator/options/ViewColumnOptions.js +1 -1
- package/browser/decorator/options/ViewEntityOptions.js +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +6 -6
- package/browser/decorator/relations/ManyToOne.js +5 -5
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +3 -2
- package/browser/decorator/relations/OneToMany.js +4 -3
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/transaction/Transaction.d.ts +1 -1
- package/browser/decorator/transaction/Transaction.js +6 -6
- package/browser/decorator/transaction/Transaction.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +2 -1
- package/browser/decorator/tree/Tree.js +3 -2
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/driver/Driver.d.ts +1 -1
- package/browser/driver/Driver.js +1 -1
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +10 -0
- package/browser/driver/DriverUtils.js +99 -12
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +3 -3
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -6
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +6 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +72 -11
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +26 -2
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -11
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +6 -9
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +112 -42
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
- package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +72 -14
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +8 -0
- package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +8 -4
- package/browser/driver/mongodb/MongoDriver.js +26 -14
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +2 -2
- package/browser/driver/mysql/MysqlDriver.js +15 -14
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/browser/driver/mysql/MysqlQueryRunner.js +118 -43
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +4 -0
- package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +1 -1
- package/browser/driver/oracle/OracleDriver.js +28 -3
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +53 -7
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
- package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
- package/browser/driver/postgres/PostgresDriver.js +63 -29
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +9 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +335 -211
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +1 -2
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.js +1 -1
- package/browser/driver/sap/SapConnectionOptions.js +1 -1
- package/browser/driver/sap/SapDriver.d.ts +1 -1
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +58 -10
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +4 -0
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -8
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +2 -2
- package/browser/driver/sqlserver/SqlServerDriver.js +33 -8
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +166 -86
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/DataTypeDefaults.js +1 -1
- package/browser/driver/types/DatabaseType.js +1 -1
- package/browser/driver/types/IsolationLevel.js +1 -1
- package/browser/driver/types/MappedColumnTypes.js +1 -1
- package/browser/driver/types/ReplicationMode.js +1 -1
- package/browser/entity-manager/EntityManager.d.ts +16 -2
- package/browser/entity-manager/EntityManager.js +5 -16
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
- package/browser/entity-manager/MongoEntityManager.js +53 -48
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
- package/browser/error/index.d.ts +61 -0
- package/browser/error/index.js +63 -0
- package/browser/error/index.js.map +1 -0
- package/browser/find-options/FindConditions.js +1 -1
- package/browser/find-options/FindManyOptions.js +1 -1
- package/browser/find-options/FindOneOptions.d.ts +10 -2
- package/browser/find-options/FindOneOptions.js +1 -1
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.d.ts +25 -6
- package/browser/find-options/FindOperator.js +32 -6
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +15 -2
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/JoinOptions.d.ts +16 -4
- package/browser/find-options/JoinOptions.js +1 -1
- package/browser/find-options/JoinOptions.js.map +1 -1
- package/browser/find-options/OrderByCondition.js +1 -1
- package/browser/find-options/operator/ILike.d.ts +6 -0
- package/browser/find-options/operator/ILike.js +10 -0
- package/browser/find-options/operator/ILike.js.map +1 -0
- package/browser/find-options/operator/Raw.d.ts +14 -2
- package/browser/find-options/operator/Raw.js +5 -6
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/index.d.ts +3 -1
- package/browser/index.js +25 -1
- package/browser/index.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
- package/browser/logger/FileLogger.d.ts +2 -2
- package/browser/logger/Logger.d.ts +1 -1
- package/browser/logger/Logger.js +1 -1
- package/browser/logger/Logger.js.map +1 -1
- package/browser/logger/LoggerOptions.js +1 -1
- package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
- package/browser/metadata/ColumnMetadata.d.ts +1 -1
- package/browser/metadata/ColumnMetadata.js +23 -15
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.js +2 -2
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +5 -0
- package/browser/metadata/EntityMetadata.js +3 -2
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +15 -0
- package/browser/metadata/RelationMetadata.js +23 -7
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/browser/metadata/types/ClosureTreeOptions.js +3 -0
- package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/browser/metadata/types/DeferrableType.js +1 -1
- package/browser/metadata/types/EventListenerTypes.d.ts +7 -7
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata/types/OnDeleteType.js +1 -1
- package/browser/metadata/types/OnUpdateType.js +1 -1
- package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
- package/browser/metadata/types/RelationTypeInFunction.js +1 -1
- package/browser/metadata/types/RelationTypes.js +1 -1
- package/browser/metadata/types/TableTypes.js +1 -1
- package/browser/metadata/types/TreeTypes.js +1 -1
- package/browser/metadata-args/CheckMetadataArgs.js +1 -1
- package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
- package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
- package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
- package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
- package/browser/metadata-args/IndexMetadataArgs.js +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
- package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
- package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationMetadataArgs.js +1 -1
- package/browser/metadata-args/TableMetadataArgs.js +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
- package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/TreeMetadataArgs.js +1 -1
- package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
- package/browser/metadata-args/types/ColumnMode.js +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +5 -3
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +26 -16
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +10 -5
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +8 -4
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +8 -6
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +5 -5
- package/browser/migration/MigrationInterface.js +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js +9 -8
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +6 -1
- package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +55 -52
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.d.ts +4 -4
- package/browser/persistence/Subject.js +8 -7
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangeMap.js +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js +3 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js +2 -2
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +30 -26
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -0
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +9 -4
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js +7 -7
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/query-builder/Alias.d.ts +4 -3
- package/browser/query-builder/Alias.js +3 -3
- package/browser/query-builder/DeleteQueryBuilder.js +7 -2
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +6 -0
- package/browser/query-builder/InsertQueryBuilder.js +63 -14
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.d.ts +10 -10
- package/browser/query-builder/JoinAttribute.js +10 -10
- package/browser/query-builder/JoinOptions.js +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +8 -1
- package/browser/query-builder/QueryBuilder.js +172 -37
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +10 -2
- package/browser/query-builder/QueryExpressionMap.js +4 -2
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.js +1 -1
- package/browser/query-builder/RelationLoader.js +4 -4
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.js +1 -1
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.js +11 -11
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/SelectQuery.js +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +7 -6
- package/browser/query-builder/SelectQueryBuilder.js +129 -67
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +6 -1
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereExpression.js +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js +2 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +62 -12
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +10 -7
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js +3 -3
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +1 -1
- package/browser/query-runner/QueryRunner.js +1 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.d.ts +2 -2
- package/browser/repository/AbstractRepository.js +2 -2
- package/browser/repository/BaseEntity.d.ts +1 -1
- package/browser/repository/BaseEntity.js +3 -3
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/EntityId.js +1 -1
- package/browser/repository/RemoveOptions.js +1 -1
- package/browser/repository/Repository.d.ts +4 -4
- package/browser/repository/Repository.js +3 -3
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/SaveOptions.js +1 -1
- package/browser/repository/TreeRepository.js +3 -3
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
- package/browser/schema-builder/RdbmsSchemaBuilder.js +80 -79
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/SchemaBuilder.js +1 -1
- package/browser/schema-builder/options/TableCheckOptions.js +1 -1
- package/browser/schema-builder/options/TableColumnOptions.js +1 -1
- package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.js +1 -1
- package/browser/schema-builder/options/TableOptions.js +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
- package/browser/schema-builder/options/ViewOptions.js +1 -1
- package/browser/schema-builder/table/Table.d.ts +1 -1
- package/browser/schema-builder/table/Table.js +1 -1
- package/browser/schema-builder/table/TableCheck.js +2 -2
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.js +3 -3
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.js +2 -2
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.js +2 -2
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +24 -0
- package/browser/subscriber/Broadcaster.js +120 -0
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +27 -0
- package/browser/subscriber/EntitySubscriberInterface.js +1 -1
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/InsertEvent.js +1 -1
- package/browser/subscriber/event/LoadEvent.js +1 -1
- package/browser/subscriber/event/RemoveEvent.js +1 -1
- package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
- package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionStartEvent.js +3 -0
- package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/browser/subscriber/event/UpdateEvent.js +1 -1
- package/browser/util/DateUtils.d.ts +1 -1
- package/browser/util/DateUtils.js +1 -7
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +1 -1
- package/browser/util/OrmUtils.js +2 -2
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +1 -0
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.js +1 -0
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/RedisQueryResultCache.js +1 -0
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli.js +2 -2
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.js +1 -0
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.js +1 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +6 -2
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +3 -0
- package/commands/InitCommand.js +37 -6
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +6 -0
- package/commands/MigrationCreateCommand.js +23 -4
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +10 -0
- package/commands/MigrationGenerateCommand.js +72 -34
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +1 -0
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +1 -0
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +1 -0
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +2 -0
- package/commands/QueryCommand.js +17 -6
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +1 -0
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +1 -0
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +1 -0
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +6 -2
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +1 -0
- package/commands/VersionCommand.js.map +1 -1
- package/common/EntityFieldsNames.d.ts +6 -0
- package/common/EntityFieldsNames.js +4 -0
- package/common/EntityFieldsNames.js.map +1 -0
- package/connection/Connection.d.ts +2 -2
- package/connection/Connection.js +5 -2
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionManager.js +1 -0
- package/connection/ConnectionManager.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.js +5 -4
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.d.ts +3 -3
- package/connection/ConnectionOptionsReader.js +31 -30
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +2 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsXmlReader.js +1 -0
- package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js +2 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/container.js +1 -0
- package/container.js.map +1 -1
- package/decorator/Check.js +1 -0
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.js +1 -0
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.js +1 -0
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.js +1 -0
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.js +1 -0
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.js +1 -0
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.js +1 -0
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.js +1 -0
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.js +1 -0
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.js +1 -0
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +9 -2
- package/decorator/columns/PrimaryColumn.js +1 -0
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.js +1 -0
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.js +1 -0
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.js +1 -0
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.js +2 -1
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.js +1 -0
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.js +1 -0
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.js +1 -0
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.js +1 -0
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.js +1 -0
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRemove.js +1 -0
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.js +1 -0
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.js +1 -0
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRemove.js +1 -0
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.js +1 -0
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.js +1 -0
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +10 -0
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.js +1 -0
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.js +1 -0
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.js +1 -0
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +6 -6
- package/decorator/relations/ManyToOne.js +6 -5
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +3 -2
- package/decorator/relations/OneToMany.js +5 -3
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.js +1 -0
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.js +1 -0
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.js +1 -0
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/transaction/Transaction.d.ts +1 -1
- package/decorator/transaction/Transaction.js +6 -5
- package/decorator/transaction/Transaction.js.map +1 -1
- package/decorator/transaction/TransactionManager.js +1 -0
- package/decorator/transaction/TransactionManager.js.map +1 -1
- package/decorator/transaction/TransactionRepository.js +1 -0
- package/decorator/transaction/TransactionRepository.js.map +1 -1
- package/decorator/tree/Tree.d.ts +2 -1
- package/decorator/tree/Tree.js +4 -2
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.js +1 -0
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.js +1 -0
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.js +1 -0
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.d.ts +1 -1
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.js +1 -0
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.d.ts +10 -0
- package/driver/DriverUtils.js +99 -11
- package/driver/DriverUtils.js.map +1 -1
- package/driver/Query.js +1 -0
- package/driver/Query.js.map +1 -1
- package/driver/SqlInMemory.js +1 -0
- package/driver/SqlInMemory.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -0
- package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +3 -3
- package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -6
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +6 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +73 -11
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +27 -2
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +60 -11
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +1 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
- package/driver/cockroachdb/CockroachDriver.js +6 -8
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
- package/driver/cockroachdb/CockroachQueryRunner.js +113 -42
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +1 -0
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +1 -0
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js +1 -0
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +73 -14
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +8 -0
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +8 -4
- package/driver/mongodb/MongoDriver.js +27 -14
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/driver/mongodb/MongoQueryRunner.js +1 -0
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
- package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +2 -2
- package/driver/mysql/MysqlDriver.js +16 -14
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/driver/mysql/MysqlQueryRunner.js +119 -43
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js +1 -0
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js +1 -0
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +4 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +1 -1
- package/driver/oracle/OracleDriver.js +29 -3
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +54 -7
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +2 -2
- package/driver/postgres/PostgresDriver.js +63 -28
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +9 -1
- package/driver/postgres/PostgresQueryRunner.js +337 -211
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +2 -2
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +1 -0
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +1 -1
- package/driver/sap/SapDriver.js +1 -0
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +58 -9
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +1 -0
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +5 -0
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +5 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +56 -8
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +1 -0
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +1 -0
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.js +1 -0
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +2 -2
- package/driver/sqlserver/SqlServerDriver.js +34 -8
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
- package/driver/sqlserver/SqlServerQueryRunner.js +166 -85
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +16 -2
- package/entity-manager/EntityManager.js +6 -16
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.js +1 -0
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +1 -4
- package/entity-manager/MongoEntityManager.js +54 -48
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.js +1 -0
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchema.js +1 -0
- package/entity-schema/EntitySchema.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.js +1 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +1 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js +1 -0
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js +1 -0
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.js +1 -0
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.js +1 -0
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js +1 -0
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.js +1 -0
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js +1 -0
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js +1 -0
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js +1 -0
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js +1 -0
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js +1 -0
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js +1 -0
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -0
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -0
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.js +1 -0
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.js +1 -0
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js +1 -0
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js +1 -0
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityColumnNotFound.js +1 -0
- package/error/EntityColumnNotFound.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js +1 -0
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js +1 -0
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +1 -0
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/InitializedRelationError.js +1 -0
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.js +1 -0
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.js +1 -0
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js +1 -0
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.js +1 -0
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -0
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.js +1 -0
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js +1 -0
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.js +1 -0
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js +1 -0
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.js +1 -0
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js +1 -0
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.js +1 -0
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.js +1 -0
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js +1 -0
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js +1 -0
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js +1 -0
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js +1 -0
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js +1 -0
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js +1 -0
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.js +1 -0
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.js +1 -0
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js +1 -0
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.js +1 -0
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js +1 -0
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -0
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotFoundError.js +1 -0
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.js +1 -0
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.js +1 -0
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.js +1 -0
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.js +1 -0
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.js +1 -0
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.js +1 -0
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.js +1 -0
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/UpdateValuesMissingError.js +1 -0
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js +1 -0
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -0
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js +1 -0
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -0
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.d.ts +61 -0
- package/error/index.js +66 -0
- package/error/index.js.map +1 -0
- package/find-options/FindOneOptions.d.ts +10 -2
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.d.ts +25 -6
- package/find-options/FindOperator.js +33 -6
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsUtils.js +16 -2
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/JoinOptions.d.ts +16 -4
- package/find-options/JoinOptions.js.map +1 -1
- package/find-options/operator/Any.js +1 -0
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/Between.js +1 -0
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.js +1 -0
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.d.ts +6 -0
- package/find-options/operator/ILike.js +14 -0
- package/find-options/operator/ILike.js.map +1 -0
- package/find-options/operator/In.js +1 -0
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.js +1 -0
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/LessThan.js +1 -0
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.js +1 -0
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.js +1 -0
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.js +1 -0
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.js +1 -0
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.js +1 -0
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Raw.d.ts +14 -2
- package/find-options/operator/Raw.js +6 -6
- package/find-options/operator/Raw.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +44 -19
- package/index.js.map +1 -1
- package/logger/AdvancedConsoleLogger.d.ts +2 -1
- package/logger/AdvancedConsoleLogger.js +1 -0
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.js +1 -0
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.d.ts +2 -2
- package/logger/FileLogger.js +1 -0
- package/logger/FileLogger.js.map +1 -1
- package/logger/Logger.d.ts +1 -1
- package/logger/Logger.js.map +1 -1
- package/logger/LoggerFactory.js +1 -0
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/SimpleConsoleLogger.d.ts +2 -1
- package/logger/SimpleConsoleLogger.js +1 -0
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.js +1 -0
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.d.ts +1 -1
- package/metadata/ColumnMetadata.js +23 -14
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.js +2 -1
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.js +1 -0
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +5 -0
- package/metadata/EntityMetadata.js +3 -1
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.js +1 -0
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.js +1 -0
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.js +1 -0
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationCountMetadata.js +1 -0
- package/metadata/RelationCountMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.js +1 -0
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +15 -0
- package/metadata/RelationMetadata.js +23 -6
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.js +1 -0
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/metadata/types/ClosureTreeOptions.js +4 -0
- package/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/metadata/types/EventListenerTypes.d.ts +7 -7
- package/metadata/types/EventListenerTypes.js +1 -0
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.js +1 -0
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +6 -3
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +26 -15
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +11 -5
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +8 -3
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.js +1 -0
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
- package/metadata-builder/RelationJoinColumnBuilder.js +9 -6
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/Migration.js +1 -0
- package/migration/Migration.js.map +1 -1
- package/migration/MigrationExecutor.js +6 -5
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
- package/naming-strategy/DefaultNamingStrategy.js +9 -7
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +6 -1
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +46 -43
- package/persistence/EntityPersistExecutor.js +56 -52
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.d.ts +4 -4
- package/persistence/Subject.js +8 -6
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js +4 -1
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +2 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js +31 -26
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopoligicalSorter.js +6 -5
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -0
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +3 -0
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +10 -4
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -0
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
- package/persistence/tree/ClosureSubjectExecutor.js +7 -6
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -0
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.js +1 -0
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.js +5 -4
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.d.ts +4 -3
- package/query-builder/Alias.js +4 -3
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.js +1 -0
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js +8 -2
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +6 -0
- package/query-builder/InsertQueryBuilder.js +64 -14
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.d.ts +10 -10
- package/query-builder/JoinAttribute.js +11 -10
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +8 -1
- package/query-builder/QueryBuilder.js +172 -36
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderUtils.js +1 -0
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +10 -2
- package/query-builder/QueryExpressionMap.js +5 -2
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/RelationIdLoader.js +1 -0
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.js +4 -3
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.js +2 -1
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js +11 -10
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js +1 -0
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.js +1 -0
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +7 -6
- package/query-builder/SelectQueryBuilder.js +129 -66
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +1 -0
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +7 -1
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/query-builder/relation-count/RelationCountAttribute.js +8 -7
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.js +3 -1
- package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +1 -0
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/query-builder/relation-id/RelationIdAttribute.js +9 -8
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js +62 -11
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -0
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/result/DeleteResult.js +1 -0
- package/query-builder/result/DeleteResult.js.map +1 -1
- package/query-builder/result/InsertResult.js +1 -0
- package/query-builder/result/InsertResult.js.map +1 -1
- package/query-builder/result/UpdateResult.js +1 -0
- package/query-builder/result/UpdateResult.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.js +1 -0
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -3
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +10 -6
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.js +3 -2
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +1 -1
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/AbstractRepository.d.ts +2 -2
- package/repository/AbstractRepository.js +3 -2
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +1 -1
- package/repository/BaseEntity.js +3 -2
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.js +1 -0
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +4 -4
- package/repository/Repository.js +3 -2
- package/repository/Repository.js.map +1 -1
- package/repository/RepositoryFactory.js +1 -0
- package/repository/RepositoryFactory.js.map +1 -1
- package/repository/TreeRepository.js +4 -3
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.js +1 -0
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
- package/schema-builder/RdbmsSchemaBuilder.js +81 -79
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +1 -1
- package/schema-builder/table/Table.js +2 -1
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.js +2 -1
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.js +1 -0
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.js +1 -0
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.js +3 -2
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.js +2 -1
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.js +2 -1
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.js +1 -0
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/schema-builder/view/View.js +1 -0
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +24 -0
- package/subscriber/Broadcaster.js +121 -0
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js +1 -0
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +27 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/subscriber/event/TransactionCommitEvent.js +4 -0
- package/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/subscriber/event/TransactionRollbackEvent.js +4 -0
- package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/subscriber/event/TransactionStartEvent.js +4 -0
- package/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/typeorm-model-shim.js +145 -128
- package/util/ApplyValueTransformers.js +1 -0
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.d.ts +1 -1
- package/util/DateUtils.js +2 -7
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +1 -0
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +1 -0
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ObjectUtils.js +1 -0
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +1 -1
- package/util/OrmUtils.js +2 -1
- package/util/OrmUtils.js.map +1 -1
- package/util/RandomGenerator.js +1 -0
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.js +1 -0
- package/util/StringUtils.js.map +1 -1
- package/util/VersionUtils.js +1 -0
- package/util/VersionUtils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/InitCommand.ts"],"names":[],"mappings":"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","file":"InitCommand.js","sourcesContent":["import {CommandUtils} from \"./CommandUtils\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport * as path from \"path\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\n\n/**\n * Generates a new project with TypeORM.\n */\nexport class InitCommand implements yargs.CommandModule {\n command = \"init\";\n describe = \"Generates initial TypeORM project structure. \" +\n \"If name specified then creates files inside directory called as name. \" +\n \"If its not specified then creates files inside current directory.\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which to run a query\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the project directory.\"\n })\n .option(\"db\", {\n alias: \"database\",\n describe: \"Database type you'll use in your project.\"\n })\n .option(\"express\", {\n describe: \"Indicates if express should be included in the project.\"\n })\n .option(\"docker\", {\n describe: \"Set to true if docker-compose must be generated as well. False by default.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n try {\n const database: string = args.database as any || \"mysql\";\n const isExpress = args.express !== undefined ? true : false;\n const isDocker = args.docker !== undefined ? true : false;\n const basePath = process.cwd() + (args.name ? (\"/\" + args.name) : \"\");\n const projectName = args.name ? path.basename(args.name as any) : undefined;\n await CommandUtils.createFile(basePath + \"/package.json\", InitCommand.getPackageJsonTemplate(projectName), false);\n if (isDocker)\n await CommandUtils.createFile(basePath + \"/docker-compose.yml\", InitCommand.getDockerComposeTemplate(database), false);\n await CommandUtils.createFile(basePath + \"/.gitignore\", InitCommand.getGitIgnoreFile());\n await CommandUtils.createFile(basePath + \"/README.md\", InitCommand.getReadmeTemplate({ docker: isDocker }), false);\n await CommandUtils.createFile(basePath + \"/tsconfig.json\", InitCommand.getTsConfigTemplate());\n await CommandUtils.createFile(basePath + \"/ormconfig.json\", InitCommand.getOrmConfigTemplate(database));\n await CommandUtils.createFile(basePath + \"/src/entity/User.ts\", InitCommand.getUserEntityTemplate(database));\n await CommandUtils.createFile(basePath + \"/src/index.ts\", InitCommand.getAppIndexTemplate(isExpress));\n await CommandUtils.createDirectories(basePath + \"/src/migration\");\n\n // generate extra files for express application\n if (isExpress) {\n await CommandUtils.createFile(basePath + \"/src/routes.ts\", InitCommand.getRoutesTemplate());\n await CommandUtils.createFile(basePath + \"/src/controller/UserController.ts\", InitCommand.getControllerTemplate());\n }\n\n const packageJsonContents = await CommandUtils.readFile(basePath + \"/package.json\");\n await CommandUtils.createFile(basePath + \"/package.json\", InitCommand.appendPackageJson(packageJsonContents, database, isExpress));\n\n if (args.name) {\n console.log(chalk.green(`Project created inside ${chalk.blue(basePath)} directory.`));\n\n } else {\n console.log(chalk.green(`Project created inside current directory.`));\n }\n\n } catch (err) {\n console.log(chalk.black.bgRed(\"Error during project initialization:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the ormconfig file.\n */\n protected static getOrmConfigTemplate(database: string): string {\n const options: ObjectLiteral = { };\n switch (database) {\n case \"mysql\":\n Object.assign(options, {\n type: \"mysql\",\n host: \"localhost\",\n port: 3306,\n username: \"test\",\n password: \"test\",\n database: \"test\",\n });\n break;\n case \"mariadb\":\n Object.assign(options, {\n type: \"mariadb\",\n host: \"localhost\",\n port: 3306,\n username: \"test\",\n password: \"test\",\n database: \"test\",\n });\n break;\n case \"sqlite\":\n Object.assign(options, {\n type: \"sqlite\",\n \"database\": \"database.sqlite\",\n });\n break;\n case \"better-sqlite3\":\n Object.assign(options, {\n type: \"better-sqlite3\",\n \"database\": \"database.sqlite\",\n });\n break;\n case \"postgres\":\n Object.assign(options, {\n \"type\": \"postgres\",\n \"host\": \"localhost\",\n \"port\": 5432,\n \"username\": \"test\",\n \"password\": \"test\",\n \"database\": \"test\",\n });\n break;\n case \"cockroachdb\":\n Object.assign(options, {\n \"type\": \"cockroachdb\",\n \"host\": \"localhost\",\n \"port\": 26257,\n \"username\": \"root\",\n \"password\": \"\",\n \"database\": \"defaultdb\",\n });\n break;\n case \"mssql\":\n Object.assign(options, {\n \"type\": \"mssql\",\n \"host\": \"localhost\",\n \"username\": \"sa\",\n \"password\": \"Admin12345\",\n \"database\": \"tempdb\",\n });\n break;\n case \"oracle\":\n Object.assign(options, {\n \"type\": \"oracle\",\n \"host\": \"localhost\",\n \"username\": \"system\",\n \"password\": \"oracle\",\n \"port\": 1521,\n \"sid\": \"xe.oracle.docker\",\n });\n break;\n case \"mongodb\":\n Object.assign(options, {\n \"type\": \"mongodb\",\n \"database\": \"test\",\n });\n break;\n }\n Object.assign(options, {\n synchronize: true,\n logging: false,\n entities: [\n \"src/entity/**/*.ts\"\n ],\n migrations: [\n \"src/migration/**/*.ts\"\n ],\n subscribers: [\n \"src/subscriber/**/*.ts\"\n ],\n cli: {\n entitiesDir: \"src/entity\",\n migrationsDir: \"src/migration\",\n subscribersDir: \"src/subscriber\"\n }\n });\n return JSON.stringify(options, undefined, 3);\n }\n\n /**\n * Gets contents of the ormconfig file.\n */\n protected static getTsConfigTemplate(): string {\n return JSON.stringify({\n compilerOptions: {\n lib: [\"es5\", \"es6\"],\n target: \"es5\",\n module: \"commonjs\",\n moduleResolution: \"node\",\n outDir: \"./build\",\n emitDecoratorMetadata: true,\n experimentalDecorators: true,\n sourceMap: true\n }\n }\n , undefined, 3);\n }\n\n /**\n * Gets contents of the .gitignore file.\n */\n protected static getGitIgnoreFile(): string {\n return `.idea/\n.vscode/\nnode_modules/\nbuild/\ntmp/\ntemp/`;\n }\n\n /**\n * Gets contents of the user entity.\n */\n protected static getUserEntityTemplate(database: string): string {\n return `import {Entity, ${ database === \"mongodb\" ? \"ObjectIdColumn, ObjectID\" : \"PrimaryGeneratedColumn\" }, Column} from \"typeorm\";\n\n@Entity()\nexport class User {\n\n ${ database === \"mongodb\" ? \"@ObjectIdColumn()\" : \"@PrimaryGeneratedColumn()\" }\n id: ${ database === \"mongodb\" ? \"ObjectID\" : \"number\" };\n\n @Column()\n firstName: string;\n\n @Column()\n lastName: string;\n\n @Column()\n age: number;\n\n}\n`;\n }\n\n /**\n * Gets contents of the route file (used when express is enabled).\n */\n protected static getRoutesTemplate(): string {\n return `import {UserController} from \"./controller/UserController\";\n\nexport const Routes = [{\n method: \"get\",\n route: \"/users\",\n controller: UserController,\n action: \"all\"\n}, {\n method: \"get\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"one\"\n}, {\n method: \"post\",\n route: \"/users\",\n controller: UserController,\n action: \"save\"\n}, {\n method: \"delete\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"remove\"\n}];`;\n }\n\n /**\n * Gets contents of the user controller file (used when express is enabled).\n */\n protected static getControllerTemplate(): string {\n return `import {getRepository} from \"typeorm\";\nimport {NextFunction, Request, Response} from \"express\";\nimport {User} from \"../entity/User\";\n\nexport class UserController {\n\n private userRepository = getRepository(User);\n\n async all(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.find();\n }\n\n async one(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.findOne(request.params.id);\n }\n\n async save(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.save(request.body);\n }\n\n async remove(request: Request, response: Response, next: NextFunction) {\n let userToRemove = await this.userRepository.findOne(request.params.id);\n await this.userRepository.remove(userToRemove);\n }\n\n}`;\n }\n\n /**\n * Gets contents of the main (index) application file.\n */\n protected static getAppIndexTemplate(express: boolean): string {\n if (express) {\n return `import \"reflect-metadata\";\nimport {createConnection} from \"typeorm\";\nimport * as express from \"express\";\nimport * as bodyParser from \"body-parser\";\nimport {Request, Response} from \"express\";\nimport {Routes} from \"./routes\";\nimport {User} from \"./entity/User\";\n\ncreateConnection().then(async connection => {\n\n // create express app\n const app = express();\n app.use(bodyParser.json());\n\n // register express routes from defined application routes\n Routes.forEach(route => {\n (app as any)[route.method](route.route, (req: Request, res: Response, next: Function) => {\n const result = (new (route.controller as any))[route.action](req, res, next);\n if (result instanceof Promise) {\n result.then(result => result !== null && result !== undefined ? res.send(result) : undefined);\n\n } else if (result !== null && result !== undefined) {\n res.json(result);\n }\n });\n });\n\n // setup express app here\n // ...\n\n // start express server\n app.listen(3000);\n\n // insert new users for test\n await connection.manager.save(connection.manager.create(User, {\n firstName: \"Timber\",\n lastName: \"Saw\",\n age: 27\n }));\n await connection.manager.save(connection.manager.create(User, {\n firstName: \"Phantom\",\n lastName: \"Assassin\",\n age: 24\n }));\n\n console.log(\"Express server has started on port 3000. Open http://localhost:3000/users to see results\");\n\n}).catch(error => console.log(error));\n`;\n\n } else {\n return `import \"reflect-metadata\";\nimport {createConnection} from \"typeorm\";\nimport {User} from \"./entity/User\";\n\ncreateConnection().then(async connection => {\n\n console.log(\"Inserting a new user into the database...\");\n const user = new User();\n user.firstName = \"Timber\";\n user.lastName = \"Saw\";\n user.age = 25;\n await connection.manager.save(user);\n console.log(\"Saved a new user with id: \" + user.id);\n\n console.log(\"Loading users from the database...\");\n const users = await connection.manager.find(User);\n console.log(\"Loaded users: \", users);\n\n console.log(\"Here you can setup and run express/koa/any other framework.\");\n\n}).catch(error => console.log(error));\n`;\n }\n }\n\n /**\n * Gets contents of the new package.json file.\n */\n protected static getPackageJsonTemplate(projectName?: string): string {\n return JSON.stringify({\n name: projectName || \"new-typeorm-project\",\n version: \"0.0.1\",\n description: \"Awesome project developed with TypeORM.\",\n devDependencies: {\n },\n dependencies: {\n },\n scripts: {\n }\n }, undefined, 3);\n }\n\n /**\n * Gets contents of the new docker-compose.yml file.\n */\n protected static getDockerComposeTemplate(database: string): string {\n\n switch (database) {\n case \"mysql\":\n return `version: '3'\nservices:\n\n mysql:\n image: \"mysql:5.7.10\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"admin\"\n MYSQL_USER: \"test\"\n MYSQL_PASSWORD: \"test\"\n MYSQL_DATABASE: \"test\"\n\n`;\n case \"mariadb\":\n return `version: '3'\nservices:\n\n mariadb:\n image: \"mariadb:10.1.16\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"admin\"\n MYSQL_USER: \"test\"\n MYSQL_PASSWORD: \"test\"\n MYSQL_DATABASE: \"test\"\n\n`;\n case \"postgres\":\n return `version: '3'\nservices:\n\n postgres:\n image: \"postgres:9.6.1\"\n ports:\n - \"5432:5432\"\n environment:\n POSTGRES_USER: \"test\"\n POSTGRES_PASSWORD: \"test\"\n POSTGRES_DB: \"test\"\n\n`;\n case \"cockroachdb\":\n return `version: '3'\nservices:\n\n cockroachdb:\n image: \"cockroachdb/cockroach:v2.1.4\"\n command: start --insecure\n ports:\n - \"26257:26257\"\n\n`;\n case \"sqlite\":\n case \"better-sqlite3\":\n return `version: '3'\nservices:\n`;\n case \"oracle\":\n throw new Error(`You cannot initialize a project with docker for Oracle driver yet.`); // todo: implement for oracle as well\n\n case \"mssql\":\n return `version: '3'\nservices:\n\n mssql:\n image: \"microsoft/mssql-server-linux:rc2\"\n ports:\n - \"1433:1433\"\n environment:\n SA_PASSWORD: \"Admin12345\"\n ACCEPT_EULA: \"Y\"\n\n`;\n case \"mongodb\":\n return `version: '3'\nservices:\n\n mongodb:\n image: \"mongo:4.0.6\"\n container_name: \"typeorm-mongodb\"\n ports:\n - \"27017:27017\"\n\n`;\n }\n return \"\";\n }\n\n /**\n * Gets contents of the new readme.md file.\n */\n protected static getReadmeTemplate(options: { docker: boolean }): string {\n let template = `# Awesome Project Build with TypeORM\n\nSteps to run this project:\n\n1. Run \\`npm i\\` command\n`;\n\n if (options.docker) {\n template += `2. Run \\`docker-compose up\\` command\n`;\n } else {\n template += `2. Setup database settings inside \\`ormconfig.json\\` file\n`;\n }\n\n template += `3. Run \\`npm start\\` command\n`;\n return template;\n }\n\n /**\n * Appends to a given package.json template everything needed.\n */\n protected static appendPackageJson(packageJsonContents: string, database: string, express: boolean /*, docker: boolean*/): string {\n const packageJson = JSON.parse(packageJsonContents);\n\n if (!packageJson.devDependencies) packageJson.devDependencies = {};\n Object.assign(packageJson.devDependencies, {\n \"ts-node\": \"3.3.0\",\n \"@types/node\": \"^8.0.29\",\n \"typescript\": \"3.3.3333\"\n });\n\n if (!packageJson.dependencies) packageJson.dependencies = {};\n Object.assign(packageJson.dependencies, {\n \"typeorm\": require(\"../package.json\").version,\n \"reflect-metadata\": \"^0.1.10\"\n });\n\n switch (database) {\n case \"mysql\":\n case \"mariadb\":\n packageJson.dependencies[\"mysql\"] = \"^2.14.1\";\n break;\n case \"postgres\":\n case \"cockroachdb\":\n packageJson.dependencies[\"pg\"] = \"^7.3.0\";\n break;\n case \"sqlite\":\n packageJson.dependencies[\"sqlite3\"] = \"^4.0.3\";\n break;\n case \"better-sqlite3\":\n packageJson.dependencies[\"better-sqlite3\"] = \"^7.0.0\";\n break;\n case \"oracle\":\n packageJson.dependencies[\"oracledb\"] = \"^1.13.1\";\n break;\n case \"mssql\":\n packageJson.dependencies[\"mssql\"] = \"^4.0.4\";\n break;\n case \"mongodb\":\n packageJson.dependencies[\"mongodb\"] = \"^3.0.8\";\n break;\n }\n\n if (express) {\n packageJson.dependencies[\"express\"] = \"^4.15.4\";\n packageJson.dependencies[\"body-parser\"] = \"^1.18.1\";\n }\n\n if (!packageJson.scripts) packageJson.scripts = {};\n Object.assign(packageJson.scripts, {\n start: /*(docker ? \"docker-compose up && \" : \"\") + */\"ts-node src/index.ts\"\n });\n return JSON.stringify(packageJson, undefined, 3);\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/commands/InitCommand.ts"],"names":[],"mappings":"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","file":"InitCommand.js","sourcesContent":["import { CommandUtils } from \"./CommandUtils\";\nimport { ObjectLiteral } from \"../common/ObjectLiteral\";\nimport * as path from \"path\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { exec } from \"child_process\";\n\n/**\n * Generates a new project with TypeORM.\n */\nexport class InitCommand implements yargs.CommandModule {\n command = \"init\";\n describe = \"Generates initial TypeORM project structure. \" +\n \"If name specified then creates files inside directory called as name. \" +\n \"If its not specified then creates files inside current directory.\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which to run a query\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the project directory.\"\n })\n .option(\"db\", {\n alias: \"database\",\n describe: \"Database type you'll use in your project.\"\n })\n .option(\"express\", {\n describe: \"Indicates if express should be included in the project.\"\n })\n .option(\"docker\", {\n describe: \"Set to true if docker-compose must be generated as well. False by default.\"\n })\n .option(\"pm\", {\n alias: \"manager\",\n choices: [\"npm\", \"yarn\"],\n default: \"npm\",\n describe: \"Install packages, expected values are npm or yarn.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n try {\n const database: string = args.database as any || \"mysql\";\n const isExpress = args.express !== undefined ? true : false;\n const isDocker = args.docker !== undefined ? true : false;\n const basePath = process.cwd() + (args.name ? (\"/\" + args.name) : \"\");\n const projectName = args.name ? path.basename(args.name as any) : undefined;\n const installNpm = args.pm === \"yarn\" ? false : true;\n await CommandUtils.createFile(basePath + \"/package.json\", InitCommand.getPackageJsonTemplate(projectName), false);\n if (isDocker)\n await CommandUtils.createFile(basePath + \"/docker-compose.yml\", InitCommand.getDockerComposeTemplate(database), false);\n await CommandUtils.createFile(basePath + \"/.gitignore\", InitCommand.getGitIgnoreFile());\n await CommandUtils.createFile(basePath + \"/README.md\", InitCommand.getReadmeTemplate({ docker: isDocker }), false);\n await CommandUtils.createFile(basePath + \"/tsconfig.json\", InitCommand.getTsConfigTemplate());\n await CommandUtils.createFile(basePath + \"/ormconfig.json\", InitCommand.getOrmConfigTemplate(database));\n await CommandUtils.createFile(basePath + \"/src/entity/User.ts\", InitCommand.getUserEntityTemplate(database));\n await CommandUtils.createFile(basePath + \"/src/index.ts\", InitCommand.getAppIndexTemplate(isExpress));\n await CommandUtils.createDirectories(basePath + \"/src/migration\");\n\n // generate extra files for express application\n if (isExpress) {\n await CommandUtils.createFile(basePath + \"/src/routes.ts\", InitCommand.getRoutesTemplate());\n await CommandUtils.createFile(basePath + \"/src/controller/UserController.ts\", InitCommand.getControllerTemplate());\n }\n\n const packageJsonContents = await CommandUtils.readFile(basePath + \"/package.json\");\n await CommandUtils.createFile(basePath + \"/package.json\", InitCommand.appendPackageJson(packageJsonContents, database, isExpress));\n\n if (args.name) {\n console.log(chalk.green(`Project created inside ${chalk.blue(basePath)} directory.`));\n\n } else {\n console.log(chalk.green(`Project created inside current directory.`));\n }\n\n if (args.pm && installNpm) {\n await InitCommand.executeCommand(\"npm install\");\n } else {\n await InitCommand.executeCommand(\"yarn install\");\n }\n\n } catch (err) {\n console.log(chalk.black.bgRed(\"Error during project initialization:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n protected static executeCommand(command: string) {\n return new Promise<string>((ok, fail) => {\n exec(command, (error: any, stdout: any, stderr: any) => {\n if (stdout) return ok(stdout);\n if (stderr) return fail(stderr);\n if (error) return fail(error);\n ok(\"\");\n });\n });\n }\n\n /**\n * Gets contents of the ormconfig file.\n */\n protected static getOrmConfigTemplate(database: string): string {\n const options: ObjectLiteral = {};\n switch (database) {\n case \"mysql\":\n Object.assign(options, {\n type: \"mysql\",\n host: \"localhost\",\n port: 3306,\n username: \"test\",\n password: \"test\",\n database: \"test\",\n });\n break;\n case \"mariadb\":\n Object.assign(options, {\n type: \"mariadb\",\n host: \"localhost\",\n port: 3306,\n username: \"test\",\n password: \"test\",\n database: \"test\",\n });\n break;\n case \"sqlite\":\n Object.assign(options, {\n type: \"sqlite\",\n \"database\": \"database.sqlite\",\n });\n break;\n case \"better-sqlite3\":\n Object.assign(options, {\n type: \"better-sqlite3\",\n \"database\": \"database.sqlite\",\n });\n break;\n case \"postgres\":\n Object.assign(options, {\n \"type\": \"postgres\",\n \"host\": \"localhost\",\n \"port\": 5432,\n \"username\": \"test\",\n \"password\": \"test\",\n \"database\": \"test\",\n });\n break;\n case \"cockroachdb\":\n Object.assign(options, {\n \"type\": \"cockroachdb\",\n \"host\": \"localhost\",\n \"port\": 26257,\n \"username\": \"root\",\n \"password\": \"\",\n \"database\": \"defaultdb\",\n });\n break;\n case \"mssql\":\n Object.assign(options, {\n \"type\": \"mssql\",\n \"host\": \"localhost\",\n \"username\": \"sa\",\n \"password\": \"Admin12345\",\n \"database\": \"tempdb\",\n });\n break;\n case \"oracle\":\n Object.assign(options, {\n \"type\": \"oracle\",\n \"host\": \"localhost\",\n \"username\": \"system\",\n \"password\": \"oracle\",\n \"port\": 1521,\n \"sid\": \"xe.oracle.docker\",\n });\n break;\n case \"mongodb\":\n Object.assign(options, {\n \"type\": \"mongodb\",\n \"database\": \"test\",\n });\n break;\n }\n Object.assign(options, {\n synchronize: true,\n logging: false,\n entities: [\n \"src/entity/**/*.ts\"\n ],\n migrations: [\n \"src/migration/**/*.ts\"\n ],\n subscribers: [\n \"src/subscriber/**/*.ts\"\n ],\n cli: {\n entitiesDir: \"src/entity\",\n migrationsDir: \"src/migration\",\n subscribersDir: \"src/subscriber\"\n }\n });\n return JSON.stringify(options, undefined, 3);\n }\n\n /**\n * Gets contents of the ormconfig file.\n */\n protected static getTsConfigTemplate(): string {\n return JSON.stringify({\n compilerOptions: {\n lib: [\"es5\", \"es6\"],\n target: \"es5\",\n module: \"commonjs\",\n moduleResolution: \"node\",\n outDir: \"./build\",\n emitDecoratorMetadata: true,\n experimentalDecorators: true,\n sourceMap: true\n }\n }\n , undefined, 3);\n }\n\n /**\n * Gets contents of the .gitignore file.\n */\n protected static getGitIgnoreFile(): string {\n return `.idea/\n.vscode/\nnode_modules/\nbuild/\ntmp/\ntemp/`;\n }\n\n /**\n * Gets contents of the user entity.\n */\n protected static getUserEntityTemplate(database: string): string {\n return `import {Entity, ${ database === \"mongodb\" ? \"ObjectIdColumn, ObjectID\" : \"PrimaryGeneratedColumn\" }, Column} from \"typeorm\";\n\n@Entity()\nexport class User {\n\n ${ database === \"mongodb\" ? \"@ObjectIdColumn()\" : \"@PrimaryGeneratedColumn()\" }\n id: ${ database === \"mongodb\" ? \"ObjectID\" : \"number\" };\n\n @Column()\n firstName: string;\n\n @Column()\n lastName: string;\n\n @Column()\n age: number;\n\n}\n`;\n }\n\n /**\n * Gets contents of the route file (used when express is enabled).\n */\n protected static getRoutesTemplate(): string {\n return `import {UserController} from \"./controller/UserController\";\n\nexport const Routes = [{\n method: \"get\",\n route: \"/users\",\n controller: UserController,\n action: \"all\"\n}, {\n method: \"get\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"one\"\n}, {\n method: \"post\",\n route: \"/users\",\n controller: UserController,\n action: \"save\"\n}, {\n method: \"delete\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"remove\"\n}];`;\n }\n\n /**\n * Gets contents of the user controller file (used when express is enabled).\n */\n protected static getControllerTemplate(): string {\n return `import {getRepository} from \"typeorm\";\nimport {NextFunction, Request, Response} from \"express\";\nimport {User} from \"../entity/User\";\n\nexport class UserController {\n\n private userRepository = getRepository(User);\n\n async all(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.find();\n }\n\n async one(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.findOne(request.params.id);\n }\n\n async save(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.save(request.body);\n }\n\n async remove(request: Request, response: Response, next: NextFunction) {\n let userToRemove = await this.userRepository.findOne(request.params.id);\n await this.userRepository.remove(userToRemove);\n }\n\n}`;\n }\n\n /**\n * Gets contents of the main (index) application file.\n */\n protected static getAppIndexTemplate(express: boolean): string {\n if (express) {\n return `import \"reflect-metadata\";\nimport {createConnection} from \"typeorm\";\nimport * as express from \"express\";\nimport * as bodyParser from \"body-parser\";\nimport {Request, Response} from \"express\";\nimport {Routes} from \"./routes\";\nimport {User} from \"./entity/User\";\n\ncreateConnection().then(async connection => {\n\n // create express app\n const app = express();\n app.use(bodyParser.json());\n\n // register express routes from defined application routes\n Routes.forEach(route => {\n (app as any)[route.method](route.route, (req: Request, res: Response, next: Function) => {\n const result = (new (route.controller as any))[route.action](req, res, next);\n if (result instanceof Promise) {\n result.then(result => result !== null && result !== undefined ? res.send(result) : undefined);\n\n } else if (result !== null && result !== undefined) {\n res.json(result);\n }\n });\n });\n\n // setup express app here\n // ...\n\n // start express server\n app.listen(3000);\n\n // insert new users for test\n await connection.manager.save(connection.manager.create(User, {\n firstName: \"Timber\",\n lastName: \"Saw\",\n age: 27\n }));\n await connection.manager.save(connection.manager.create(User, {\n firstName: \"Phantom\",\n lastName: \"Assassin\",\n age: 24\n }));\n\n console.log(\"Express server has started on port 3000. Open http://localhost:3000/users to see results\");\n\n}).catch(error => console.log(error));\n`;\n\n } else {\n return `import \"reflect-metadata\";\nimport {createConnection} from \"typeorm\";\nimport {User} from \"./entity/User\";\n\ncreateConnection().then(async connection => {\n\n console.log(\"Inserting a new user into the database...\");\n const user = new User();\n user.firstName = \"Timber\";\n user.lastName = \"Saw\";\n user.age = 25;\n await connection.manager.save(user);\n console.log(\"Saved a new user with id: \" + user.id);\n\n console.log(\"Loading users from the database...\");\n const users = await connection.manager.find(User);\n console.log(\"Loaded users: \", users);\n\n console.log(\"Here you can setup and run express/koa/any other framework.\");\n\n}).catch(error => console.log(error));\n`;\n }\n }\n\n /**\n * Gets contents of the new package.json file.\n */\n protected static getPackageJsonTemplate(projectName?: string): string {\n return JSON.stringify({\n name: projectName || \"new-typeorm-project\",\n version: \"0.0.1\",\n description: \"Awesome project developed with TypeORM.\",\n devDependencies: {\n },\n dependencies: {\n },\n scripts: {\n }\n }, undefined, 3);\n }\n\n /**\n * Gets contents of the new docker-compose.yml file.\n */\n protected static getDockerComposeTemplate(database: string): string {\n\n switch (database) {\n case \"mysql\":\n return `version: '3'\nservices:\n\n mysql:\n image: \"mysql:5.7.10\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"admin\"\n MYSQL_USER: \"test\"\n MYSQL_PASSWORD: \"test\"\n MYSQL_DATABASE: \"test\"\n\n`;\n case \"mariadb\":\n return `version: '3'\nservices:\n\n mariadb:\n image: \"mariadb:10.1.16\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"admin\"\n MYSQL_USER: \"test\"\n MYSQL_PASSWORD: \"test\"\n MYSQL_DATABASE: \"test\"\n\n`;\n case \"postgres\":\n return `version: '3'\nservices:\n\n postgres:\n image: \"postgres:9.6.1\"\n ports:\n - \"5432:5432\"\n environment:\n POSTGRES_USER: \"test\"\n POSTGRES_PASSWORD: \"test\"\n POSTGRES_DB: \"test\"\n\n`;\n case \"cockroachdb\":\n return `version: '3'\nservices:\n\n cockroachdb:\n image: \"cockroachdb/cockroach:v2.1.4\"\n command: start --insecure\n ports:\n - \"26257:26257\"\n\n`;\n case \"sqlite\":\n case \"better-sqlite3\":\n return `version: '3'\nservices:\n`;\n case \"oracle\":\n throw new Error(`You cannot initialize a project with docker for Oracle driver yet.`); // todo: implement for oracle as well\n\n case \"mssql\":\n return `version: '3'\nservices:\n\n mssql:\n image: \"microsoft/mssql-server-linux:rc2\"\n ports:\n - \"1433:1433\"\n environment:\n SA_PASSWORD: \"Admin12345\"\n ACCEPT_EULA: \"Y\"\n\n`;\n case \"mongodb\":\n return `version: '3'\nservices:\n\n mongodb:\n image: \"mongo:4.0.6\"\n container_name: \"typeorm-mongodb\"\n ports:\n - \"27017:27017\"\n\n`;\n }\n return \"\";\n }\n\n /**\n * Gets contents of the new readme.md file.\n */\n protected static getReadmeTemplate(options: { docker: boolean }): string {\n let template = `# Awesome Project Build with TypeORM\n\nSteps to run this project:\n\n1. Run \\`npm i\\` command\n`;\n\n if (options.docker) {\n template += `2. Run \\`docker-compose up\\` command\n`;\n } else {\n template += `2. Setup database settings inside \\`ormconfig.json\\` file\n`;\n }\n\n template += `3. Run \\`npm start\\` command\n`;\n return template;\n }\n\n /**\n * Appends to a given package.json template everything needed.\n */\n protected static appendPackageJson(packageJsonContents: string, database: string, express: boolean /*, docker: boolean*/): string {\n const packageJson = JSON.parse(packageJsonContents);\n\n if (!packageJson.devDependencies) packageJson.devDependencies = {};\n Object.assign(packageJson.devDependencies, {\n \"ts-node\": \"3.3.0\",\n \"@types/node\": \"^8.0.29\",\n \"typescript\": \"3.3.3333\"\n });\n\n if (!packageJson.dependencies) packageJson.dependencies = {};\n Object.assign(packageJson.dependencies, {\n \"typeorm\": require(\"../package.json\").version,\n \"reflect-metadata\": \"^0.1.10\"\n });\n\n switch (database) {\n case \"mysql\":\n case \"mariadb\":\n packageJson.dependencies[\"mysql\"] = \"^2.14.1\";\n break;\n case \"postgres\":\n case \"cockroachdb\":\n packageJson.dependencies[\"pg\"] = \"^8.4.0\";\n break;\n case \"sqlite\":\n packageJson.dependencies[\"sqlite3\"] = \"^4.0.3\";\n break;\n case \"better-sqlite3\":\n packageJson.dependencies[\"better-sqlite3\"] = \"^7.0.0\";\n break;\n case \"oracle\":\n packageJson.dependencies[\"oracledb\"] = \"^1.13.1\";\n break;\n case \"mssql\":\n packageJson.dependencies[\"mssql\"] = \"^4.0.4\";\n break;\n case \"mongodb\":\n packageJson.dependencies[\"mongodb\"] = \"^3.0.8\";\n break;\n }\n\n if (express) {\n packageJson.dependencies[\"express\"] = \"^4.15.4\";\n packageJson.dependencies[\"body-parser\"] = \"^1.18.1\";\n }\n\n if (!packageJson.scripts) packageJson.scripts = {};\n Object.assign(packageJson.scripts, {\n start: /*(docker ? \"docker-compose up && \" : \"\") + */\"ts-node src/index.ts\"\n });\n return JSON.stringify(packageJson, undefined, 3);\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -14,10 +14,16 @@ export declare class MigrationCreateCommand implements yargs.CommandModule {
|
|
|
14
14
|
d: unknown;
|
|
15
15
|
} & {
|
|
16
16
|
f: string;
|
|
17
|
+
} & {
|
|
18
|
+
o: boolean;
|
|
17
19
|
}>;
|
|
18
20
|
handler(args: yargs.Arguments): Promise<void>;
|
|
19
21
|
/**
|
|
20
22
|
* Gets contents of the migration file.
|
|
21
23
|
*/
|
|
22
24
|
protected static getTemplate(name: string, timestamp: number): string;
|
|
25
|
+
/**
|
|
26
|
+
* Gets contents of the migration file in Javascript.
|
|
27
|
+
*/
|
|
28
|
+
protected static getJavascriptTemplate(name: string, timestamp: number): string;
|
|
23
29
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MigrationCreateCommand = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
5
6
|
var CommandUtils_1 = require("./CommandUtils");
|
|
@@ -34,11 +35,17 @@ var MigrationCreateCommand = /** @class */ (function () {
|
|
|
34
35
|
alias: "config",
|
|
35
36
|
default: "ormconfig",
|
|
36
37
|
describe: "Name of the file with connection configuration."
|
|
38
|
+
})
|
|
39
|
+
.option("o", {
|
|
40
|
+
alias: "outputJs",
|
|
41
|
+
type: "boolean",
|
|
42
|
+
default: false,
|
|
43
|
+
describe: "Generate a migration file on Javascript instead of Typescript",
|
|
37
44
|
});
|
|
38
45
|
};
|
|
39
46
|
MigrationCreateCommand.prototype.handler = function (args) {
|
|
40
47
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
41
|
-
var timestamp, fileContent, filename, directory, connectionOptionsReader, connectionOptions, err_1, path, err_2;
|
|
48
|
+
var timestamp, fileContent, extension, filename, directory, connectionOptionsReader, connectionOptions, err_1, path, err_2;
|
|
42
49
|
return tslib_1.__generator(this, function (_a) {
|
|
43
50
|
switch (_a.label) {
|
|
44
51
|
case 0:
|
|
@@ -49,8 +56,11 @@ var MigrationCreateCommand = /** @class */ (function () {
|
|
|
49
56
|
case 1:
|
|
50
57
|
_a.trys.push([1, 7, , 8]);
|
|
51
58
|
timestamp = new Date().getTime();
|
|
52
|
-
fileContent =
|
|
53
|
-
|
|
59
|
+
fileContent = args.outputJs ?
|
|
60
|
+
MigrationCreateCommand.getJavascriptTemplate(args.name, timestamp)
|
|
61
|
+
: MigrationCreateCommand.getTemplate(args.name, timestamp);
|
|
62
|
+
extension = args.outputJs ? ".js" : ".ts";
|
|
63
|
+
filename = timestamp + "-" + args.name + extension;
|
|
54
64
|
directory = args.dir;
|
|
55
65
|
if (!!directory) return [3 /*break*/, 5];
|
|
56
66
|
_a.label = 2;
|
|
@@ -69,7 +79,10 @@ var MigrationCreateCommand = /** @class */ (function () {
|
|
|
69
79
|
err_1 = _a.sent();
|
|
70
80
|
return [3 /*break*/, 5];
|
|
71
81
|
case 5:
|
|
72
|
-
|
|
82
|
+
if (directory && !directory.startsWith("/")) {
|
|
83
|
+
directory = process.cwd() + "/" + directory;
|
|
84
|
+
}
|
|
85
|
+
path = (directory ? (directory + "/") : "") + filename;
|
|
73
86
|
return [4 /*yield*/, CommandUtils_1.CommandUtils.createFile(path, fileContent)];
|
|
74
87
|
case 6:
|
|
75
88
|
_a.sent();
|
|
@@ -95,6 +108,12 @@ var MigrationCreateCommand = /** @class */ (function () {
|
|
|
95
108
|
MigrationCreateCommand.getTemplate = function (name, timestamp) {
|
|
96
109
|
return "import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class " + StringUtils_1.camelCase(name, true) + timestamp + " implements MigrationInterface {\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n }\n\n}\n";
|
|
97
110
|
};
|
|
111
|
+
/**
|
|
112
|
+
* Gets contents of the migration file in Javascript.
|
|
113
|
+
*/
|
|
114
|
+
MigrationCreateCommand.getJavascriptTemplate = function (name, timestamp) {
|
|
115
|
+
return "const { MigrationInterface, QueryRunner } = require(\"typeorm\");\n\nmodule.exports = class " + StringUtils_1.camelCase(name, true) + timestamp + " {\n\n async up(queryRunner) {\n }\n\n async down(queryRunner) {\n }\n}\n ";
|
|
116
|
+
};
|
|
98
117
|
return MigrationCreateCommand;
|
|
99
118
|
}());
|
|
100
119
|
exports.MigrationCreateCommand = MigrationCreateCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationCreateCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationCreateCommand.ts"],"names":[],"mappings":"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","file":"MigrationCreateCommand.js","sourcesContent":["import {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {CommandUtils} from \"./CommandUtils\";\nimport {camelCase} from \"../util/StringUtils\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\n\n/**\n * Creates a new migration file.\n */\nexport class MigrationCreateCommand implements yargs.CommandModule {\n\n command = \"migration:create\";\n describe = \"Creates a new migration file.\";\n aliases = \"migrations:create\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the migration class.\",\n demand: true\n })\n .option(\"d\", {\n alias: \"dir\",\n describe: \"Directory where migration should be created.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe: \"Generate a migration file on Javascript instead of Typescript\",\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:create\") {\n console.log(\"'migrations:create' is deprecated, please use 'migration:create' instead\");\n }\n\n try {\n const timestamp = new Date().getTime();\n const fileContent = args.outputJs ?\n MigrationCreateCommand.getJavascriptTemplate(args.name as any, timestamp)\n : MigrationCreateCommand.getTemplate(args.name as any, timestamp);\n const extension = args.outputJs ? \".js\" : \".ts\";\n const filename = timestamp + \"-\" + args.name + extension;\n let directory = args.dir as string | undefined;\n\n // if directory is not set then try to open tsconfig and find default path there\n if (!directory) {\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n directory = connectionOptions.cli ? (connectionOptions.cli.migrationsDir || \"\") : \"\";\n } catch (err) { }\n }\n\n if (directory && !directory.startsWith(\"/\")) {\n directory = process.cwd() + \"/\" + directory;\n }\n const path = (directory ? (directory + \"/\") : \"\") + filename;\n await CommandUtils.createFile(path, fileContent);\n console.log(`Migration ${chalk.blue(path)} has been generated successfully.`);\n\n } catch (err) {\n console.log(chalk.black.bgRed(\"Error during migration creation:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the migration file.\n */\n protected static getTemplate(name: string, timestamp: number): string {\n return `import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class ${camelCase(name, true)}${timestamp} implements MigrationInterface {\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n }\n\n}\n`;\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n */\n protected static getJavascriptTemplate(name: string, timestamp: number): string {\n return `const { MigrationInterface, QueryRunner } = require(\"typeorm\");\n\nmodule.exports = class ${camelCase(name, true)}${timestamp} {\n\n async up(queryRunner) {\n }\n\n async down(queryRunner) {\n }\n}\n `;\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -16,6 +16,12 @@ export declare class MigrationGenerateCommand implements yargs.CommandModule {
|
|
|
16
16
|
p: boolean;
|
|
17
17
|
} & {
|
|
18
18
|
f: string;
|
|
19
|
+
} & {
|
|
20
|
+
o: boolean;
|
|
21
|
+
} & {
|
|
22
|
+
dr: boolean;
|
|
23
|
+
} & {
|
|
24
|
+
ch: boolean;
|
|
19
25
|
}>;
|
|
20
26
|
handler(args: yargs.Arguments): Promise<void>;
|
|
21
27
|
/**
|
|
@@ -26,6 +32,10 @@ export declare class MigrationGenerateCommand implements yargs.CommandModule {
|
|
|
26
32
|
* Gets contents of the migration file.
|
|
27
33
|
*/
|
|
28
34
|
protected static getTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string;
|
|
35
|
+
/**
|
|
36
|
+
* Gets contents of the migration file in Javascript.
|
|
37
|
+
*/
|
|
38
|
+
protected static getJavascriptTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string;
|
|
29
39
|
/**
|
|
30
40
|
*
|
|
31
41
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MigrationGenerateCommand = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
5
6
|
var CommandUtils_1 = require("./CommandUtils");
|
|
@@ -45,11 +46,29 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
45
46
|
alias: "config",
|
|
46
47
|
default: "ormconfig",
|
|
47
48
|
describe: "Name of the file with connection configuration."
|
|
49
|
+
})
|
|
50
|
+
.option("o", {
|
|
51
|
+
alias: "outputJs",
|
|
52
|
+
type: "boolean",
|
|
53
|
+
default: false,
|
|
54
|
+
describe: "Generate a migration file on Javascript instead of Typescript",
|
|
55
|
+
})
|
|
56
|
+
.option("dr", {
|
|
57
|
+
alias: "dryrun",
|
|
58
|
+
type: "boolean",
|
|
59
|
+
default: false,
|
|
60
|
+
describe: "Prints out the contents of the migration instead of writing it to a file",
|
|
61
|
+
})
|
|
62
|
+
.option("ch", {
|
|
63
|
+
alias: "check",
|
|
64
|
+
type: "boolean",
|
|
65
|
+
default: false,
|
|
66
|
+
describe: "Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.",
|
|
48
67
|
});
|
|
49
68
|
};
|
|
50
69
|
MigrationGenerateCommand.prototype.handler = function (args) {
|
|
51
70
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
52
|
-
var timestamp, filename, directory, connectionOptionsReader, connectionOptions, err_1,
|
|
71
|
+
var timestamp, extension, filename, directory, connectionOptionsReader, connectionOptions, err_1, connectionOptionsReader, connectionOptions, upSqls_1, downSqls_1, connection, sqlInMemory, fileContent, path, err_2;
|
|
53
72
|
return tslib_1.__generator(this, function (_a) {
|
|
54
73
|
switch (_a.label) {
|
|
55
74
|
case 0:
|
|
@@ -57,7 +76,8 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
57
76
|
console.log("'migrations:generate' is deprecated, please use 'migration:generate' instead");
|
|
58
77
|
}
|
|
59
78
|
timestamp = new Date().getTime();
|
|
60
|
-
|
|
79
|
+
extension = args.outputJs ? ".js" : ".ts";
|
|
80
|
+
filename = timestamp + "-" + args.name + extension;
|
|
61
81
|
directory = args.dir;
|
|
62
82
|
if (!!directory) return [3 /*break*/, 4];
|
|
63
83
|
_a.label = 1;
|
|
@@ -76,16 +96,13 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
76
96
|
err_1 = _a.sent();
|
|
77
97
|
return [3 /*break*/, 4];
|
|
78
98
|
case 4:
|
|
79
|
-
|
|
80
|
-
_a.label = 5;
|
|
81
|
-
case 5:
|
|
82
|
-
_a.trys.push([5, 15, , 18]);
|
|
99
|
+
_a.trys.push([4, 15, , 16]);
|
|
83
100
|
connectionOptionsReader = new ConnectionOptionsReader_1.ConnectionOptionsReader({
|
|
84
101
|
root: process.cwd(),
|
|
85
102
|
configName: args.config
|
|
86
103
|
});
|
|
87
104
|
return [4 /*yield*/, connectionOptionsReader.get(args.connection)];
|
|
88
|
-
case
|
|
105
|
+
case 5:
|
|
89
106
|
connectionOptions = _a.sent();
|
|
90
107
|
Object.assign(connectionOptions, {
|
|
91
108
|
synchronize: false,
|
|
@@ -93,9 +110,13 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
93
110
|
dropSchema: false,
|
|
94
111
|
logging: false
|
|
95
112
|
});
|
|
113
|
+
upSqls_1 = [], downSqls_1 = [];
|
|
96
114
|
return [4 /*yield*/, index_1.createConnection(connectionOptions)];
|
|
97
|
-
case
|
|
115
|
+
case 6:
|
|
98
116
|
connection = _a.sent();
|
|
117
|
+
_a.label = 7;
|
|
118
|
+
case 7:
|
|
119
|
+
_a.trys.push([7, , 9, 11]);
|
|
99
120
|
return [4 /*yield*/, connection.driver.createSchemaBuilder().log()];
|
|
100
121
|
case 8:
|
|
101
122
|
sqlInMemory = _a.sent();
|
|
@@ -107,7 +128,6 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
107
128
|
downQuery.query = MigrationGenerateCommand.prettifyQuery(downQuery.query);
|
|
108
129
|
});
|
|
109
130
|
}
|
|
110
|
-
upSqls_1 = [], downSqls_1 = [];
|
|
111
131
|
// mysql is exceptional here because it uses ` character in to escape names in queries, that's why for mysql
|
|
112
132
|
// we are using simple quoted string instead of template string syntax
|
|
113
133
|
if (connection.driver instanceof MysqlDriver_1.MysqlDriver || connection.driver instanceof AuroraDataApiDriver_1.AuroraDataApiDriver) {
|
|
@@ -126,39 +146,50 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
126
146
|
downSqls_1.push(" await queryRunner.query(`" + downQuery.query.replace(new RegExp("`", "g"), "\\`") + "`" + MigrationGenerateCommand.queryParams(downQuery.parameters) + ");");
|
|
127
147
|
});
|
|
128
148
|
}
|
|
129
|
-
if (!upSqls_1.length) return [3 /*break*/, 12];
|
|
130
|
-
if (!args.name) return [3 /*break*/, 10];
|
|
131
|
-
fileContent = MigrationGenerateCommand.getTemplate(args.name, timestamp, upSqls_1, downSqls_1.reverse());
|
|
132
|
-
path = process.cwd() + "/" + (directory ? (directory + "/") : "") + filename;
|
|
133
|
-
return [4 /*yield*/, CommandUtils_1.CommandUtils.createFile(path, fileContent)];
|
|
134
|
-
case 9:
|
|
135
|
-
_a.sent();
|
|
136
|
-
console.log(chalk_1.default.green("Migration " + chalk_1.default.blue(path) + " has been generated successfully."));
|
|
137
149
|
return [3 /*break*/, 11];
|
|
150
|
+
case 9: return [4 /*yield*/, connection.close()];
|
|
138
151
|
case 10:
|
|
139
|
-
console.log(chalk_1.default.yellow("Please specify a migration name using the `-n` argument"));
|
|
140
|
-
_a.label = 11;
|
|
141
|
-
case 11: return [3 /*break*/, 13];
|
|
142
|
-
case 12:
|
|
143
|
-
console.log(chalk_1.default.yellow("No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command"));
|
|
144
|
-
_a.label = 13;
|
|
145
|
-
case 13: return [4 /*yield*/, connection.close()];
|
|
146
|
-
case 14:
|
|
147
152
|
_a.sent();
|
|
148
|
-
return [
|
|
153
|
+
return [7 /*endfinally*/];
|
|
154
|
+
case 11:
|
|
155
|
+
if (!upSqls_1.length) {
|
|
156
|
+
if (args.check) {
|
|
157
|
+
console.log(chalk_1.default.green("No changes in database schema were found"));
|
|
158
|
+
process.exit(0);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
console.log(chalk_1.default.yellow("No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command"));
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else if (!args.name) {
|
|
166
|
+
console.log(chalk_1.default.yellow("Please specify a migration name using the `-n` argument"));
|
|
167
|
+
process.exit(1);
|
|
168
|
+
}
|
|
169
|
+
fileContent = args.outputJs ?
|
|
170
|
+
MigrationGenerateCommand.getJavascriptTemplate(args.name, timestamp, upSqls_1, downSqls_1.reverse()) :
|
|
171
|
+
MigrationGenerateCommand.getTemplate(args.name, timestamp, upSqls_1, downSqls_1.reverse());
|
|
172
|
+
path = process.cwd() + "/" + (directory ? (directory + "/") : "") + filename;
|
|
173
|
+
if (args.check) {
|
|
174
|
+
console.log(chalk_1.default.yellow("Unexpected changes in database schema were found in check mode:\n\n" + chalk_1.default.white(fileContent)));
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
if (!args.dryrun) return [3 /*break*/, 12];
|
|
178
|
+
console.log(chalk_1.default.green("Migration " + chalk_1.default.blue(path) + " has content:\n\n" + chalk_1.default.white(fileContent)));
|
|
179
|
+
return [3 /*break*/, 14];
|
|
180
|
+
case 12: return [4 /*yield*/, CommandUtils_1.CommandUtils.createFile(path, fileContent)];
|
|
181
|
+
case 13:
|
|
182
|
+
_a.sent();
|
|
183
|
+
console.log(chalk_1.default.green("Migration " + chalk_1.default.blue(path) + " has been generated successfully."));
|
|
184
|
+
_a.label = 14;
|
|
185
|
+
case 14: return [3 /*break*/, 16];
|
|
149
186
|
case 15:
|
|
150
187
|
err_2 = _a.sent();
|
|
151
|
-
if (!connection) return [3 /*break*/, 17];
|
|
152
|
-
return [4 /*yield*/, connection.close()];
|
|
153
|
-
case 16:
|
|
154
|
-
_a.sent();
|
|
155
|
-
_a.label = 17;
|
|
156
|
-
case 17:
|
|
157
188
|
console.log(chalk_1.default.black.bgRed("Error during migration generation:"));
|
|
158
189
|
console.error(err_2);
|
|
159
190
|
process.exit(1);
|
|
160
|
-
return [3 /*break*/,
|
|
161
|
-
case
|
|
191
|
+
return [3 /*break*/, 16];
|
|
192
|
+
case 16: return [2 /*return*/];
|
|
162
193
|
}
|
|
163
194
|
});
|
|
164
195
|
});
|
|
@@ -182,6 +213,13 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
182
213
|
var migrationName = "" + StringUtils_1.camelCase(name, true) + timestamp;
|
|
183
214
|
return "import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class " + migrationName + " implements MigrationInterface {\n name = '" + migrationName + "'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n" + upSqls.join("\n") + "\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n" + downSqls.join("\n") + "\n }\n\n}\n";
|
|
184
215
|
};
|
|
216
|
+
/**
|
|
217
|
+
* Gets contents of the migration file in Javascript.
|
|
218
|
+
*/
|
|
219
|
+
MigrationGenerateCommand.getJavascriptTemplate = function (name, timestamp, upSqls, downSqls) {
|
|
220
|
+
var migrationName = "" + StringUtils_1.camelCase(name, true) + timestamp;
|
|
221
|
+
return "const { MigrationInterface, QueryRunner } = require(\"typeorm\");\n\nmodule.exports = class " + migrationName + " {\n name = '" + migrationName + "'\n\n async up(queryRunner) {\n" + upSqls.join("\n") + "\n }\n\n async down(queryRunner) {\n" + downSqls.join("\n") + "\n }\n}\n";
|
|
222
|
+
};
|
|
185
223
|
/**
|
|
186
224
|
*
|
|
187
225
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationGenerateCommand.ts"],"names":[],"mappings":"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","file":"MigrationGenerateCommand.js","sourcesContent":["import {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {CommandUtils} from \"./CommandUtils\";\nimport {Connection} from \"../connection/Connection\";\nimport {createConnection} from \"../index\";\nimport {MysqlDriver} from \"../driver/mysql/MysqlDriver\";\nimport {camelCase} from \"../util/StringUtils\";\nimport * as yargs from \"yargs\";\nimport {AuroraDataApiDriver} from \"../driver/aurora-data-api/AuroraDataApiDriver\";\nimport chalk from \"chalk\";\nimport { format } from \"@sqltools/formatter/lib/sqlFormatter\";\n\n/**\n * Generates a new migration file with sql needs to be executed to update schema.\n */\nexport class MigrationGenerateCommand implements yargs.CommandModule {\n\n command = \"migration:generate\";\n describe = \"Generates a new migration file with sql needs to be executed to update schema.\";\n aliases = \"migrations:generate\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the migration class.\",\n demand: true,\n type: \"string\"\n })\n .option(\"d\", {\n alias: \"dir\",\n describe: \"Directory where migration should be created.\"\n })\n .option(\"p\", {\n alias: \"pretty\",\n type: \"boolean\",\n default: false,\n describe: \"Pretty-print generated SQL\",\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:generate\") {\n console.log(\"'migrations:generate' is deprecated, please use 'migration:generate' instead\");\n }\n\n const timestamp = new Date().getTime();\n const filename = timestamp + \"-\" + args.name + \".ts\";\n let directory = args.dir;\n\n // if directory is not set then try to open tsconfig and find default path there\n if (!directory) {\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n directory = connectionOptions.cli ? connectionOptions.cli.migrationsDir : undefined;\n } catch (err) { }\n }\n\n let connection: Connection|undefined = undefined;\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false\n });\n connection = await createConnection(connectionOptions);\n const sqlInMemory = await connection.driver.createSchemaBuilder().log();\n\n if (args.pretty) {\n sqlInMemory.upQueries.forEach(upQuery => {\n upQuery.query = MigrationGenerateCommand.prettifyQuery(upQuery.query);\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downQuery.query = MigrationGenerateCommand.prettifyQuery(downQuery.query);\n });\n }\n\n const upSqls: string[] = [], downSqls: string[] = [];\n\n // mysql is exceptional here because it uses ` character in to escape names in queries, that's why for mysql\n // we are using simple quoted string instead of template string syntax\n if (connection.driver instanceof MysqlDriver || connection.driver instanceof AuroraDataApiDriver) {\n sqlInMemory.upQueries.forEach(upQuery => {\n upSqls.push(\" await queryRunner.query(\\\"\" + upQuery.query.replace(new RegExp(`\"`, \"g\"), `\\\\\"`) + \"\\\"\" + MigrationGenerateCommand.queryParams(upQuery.parameters) + \");\");\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downSqls.push(\" await queryRunner.query(\\\"\" + downQuery.query.replace(new RegExp(`\"`, \"g\"), `\\\\\"`) + \"\\\"\" + MigrationGenerateCommand.queryParams(downQuery.parameters) + \");\");\n });\n } else {\n sqlInMemory.upQueries.forEach(upQuery => {\n upSqls.push(\" await queryRunner.query(`\" + upQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(upQuery.parameters) + \");\");\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downSqls.push(\" await queryRunner.query(`\" + downQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(downQuery.parameters) + \");\");\n });\n }\n\n if (upSqls.length) {\n if (args.name) {\n const fileContent = MigrationGenerateCommand.getTemplate(args.name as any, timestamp, upSqls, downSqls.reverse());\n const path = process.cwd() + \"/\" + (directory ? (directory + \"/\") : \"\") + filename;\n await CommandUtils.createFile(path, fileContent);\n\n console.log(chalk.green(`Migration ${chalk.blue(path)} has been generated successfully.`));\n } else {\n console.log(chalk.yellow(\"Please specify a migration name using the `-n` argument\"));\n }\n } else {\n console.log(chalk.yellow(`No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command`));\n }\n await connection.close();\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n\n console.log(chalk.black.bgRed(\"Error during migration generation:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats query parameters for migration queries if parameters actually exist\n */\n protected static queryParams(parameters: any[] | undefined): string {\n if (!parameters || !parameters.length) {\n return \"\";\n }\n\n return `, ${JSON.stringify(parameters)}`;\n }\n\n /**\n * Gets contents of the migration file.\n */\n protected static getTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class ${migrationName} implements MigrationInterface {\n name = '${migrationName}'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n${upSqls.join(`\n`)}\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n${downSqls.join(`\n`)}\n }\n\n}\n`;\n }\n\n /**\n *\n */\n protected static prettifyQuery(query: string) {\n const formattedQuery = format(query, { indent: \" \" });\n return \"\\n\" + formattedQuery.replace(/^/gm, \" \") + \"\\n \";\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationGenerateCommand.ts"],"names":[],"mappings":"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","file":"MigrationGenerateCommand.js","sourcesContent":["import {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {CommandUtils} from \"./CommandUtils\";\nimport {createConnection} from \"../index\";\nimport {MysqlDriver} from \"../driver/mysql/MysqlDriver\";\nimport {camelCase} from \"../util/StringUtils\";\nimport * as yargs from \"yargs\";\nimport {AuroraDataApiDriver} from \"../driver/aurora-data-api/AuroraDataApiDriver\";\nimport chalk from \"chalk\";\nimport { format } from \"@sqltools/formatter/lib/sqlFormatter\";\n\n/**\n * Generates a new migration file with sql needs to be executed to update schema.\n */\nexport class MigrationGenerateCommand implements yargs.CommandModule {\n\n command = \"migration:generate\";\n describe = \"Generates a new migration file with sql needs to be executed to update schema.\";\n aliases = \"migrations:generate\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the migration class.\",\n demand: true,\n type: \"string\"\n })\n .option(\"d\", {\n alias: \"dir\",\n describe: \"Directory where migration should be created.\"\n })\n .option(\"p\", {\n alias: \"pretty\",\n type: \"boolean\",\n default: false,\n describe: \"Pretty-print generated SQL\",\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe: \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"dr\", {\n alias: \"dryrun\",\n type: \"boolean\",\n default: false,\n describe: \"Prints out the contents of the migration instead of writing it to a file\",\n })\n .option(\"ch\", {\n alias: \"check\",\n type: \"boolean\",\n default: false,\n describe: \"Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.\",\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:generate\") {\n console.log(\"'migrations:generate' is deprecated, please use 'migration:generate' instead\");\n }\n\n const timestamp = new Date().getTime();\n const extension = args.outputJs ? \".js\" : \".ts\";\n const filename = timestamp + \"-\" + args.name + extension;\n let directory = args.dir;\n\n // if directory is not set then try to open tsconfig and find default path there\n if (!directory) {\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n directory = connectionOptions.cli ? connectionOptions.cli.migrationsDir : undefined;\n } catch (err) { }\n }\n\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false\n });\n\n const upSqls: string[] = [], downSqls: string[] = [];\n\n const connection = await createConnection(connectionOptions);\n try {\n const sqlInMemory = await connection.driver.createSchemaBuilder().log();\n\n if (args.pretty) {\n sqlInMemory.upQueries.forEach(upQuery => {\n upQuery.query = MigrationGenerateCommand.prettifyQuery(upQuery.query);\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downQuery.query = MigrationGenerateCommand.prettifyQuery(downQuery.query);\n });\n }\n\n // mysql is exceptional here because it uses ` character in to escape names in queries, that's why for mysql\n // we are using simple quoted string instead of template string syntax\n if (connection.driver instanceof MysqlDriver || connection.driver instanceof AuroraDataApiDriver) {\n sqlInMemory.upQueries.forEach(upQuery => {\n upSqls.push(\" await queryRunner.query(\\\"\" + upQuery.query.replace(new RegExp(`\"`, \"g\"), `\\\\\"`) + \"\\\"\" + MigrationGenerateCommand.queryParams(upQuery.parameters) + \");\");\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downSqls.push(\" await queryRunner.query(\\\"\" + downQuery.query.replace(new RegExp(`\"`, \"g\"), `\\\\\"`) + \"\\\"\" + MigrationGenerateCommand.queryParams(downQuery.parameters) + \");\");\n });\n } else {\n sqlInMemory.upQueries.forEach(upQuery => {\n upSqls.push(\" await queryRunner.query(`\" + upQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(upQuery.parameters) + \");\");\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downSqls.push(\" await queryRunner.query(`\" + downQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(downQuery.parameters) + \");\");\n });\n }\n } finally {\n await connection.close();\n }\n\n if (!upSqls.length) {\n if (args.check) {\n console.log(chalk.green(`No changes in database schema were found`));\n process.exit(0);\n } else {\n console.log(chalk.yellow(`No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command`));\n process.exit(1);\n }\n } else if (!args.name) {\n console.log(chalk.yellow(\"Please specify a migration name using the `-n` argument\"));\n process.exit(1);\n }\n\n const fileContent = args.outputJs ?\n MigrationGenerateCommand.getJavascriptTemplate(args.name as any, timestamp, upSqls, downSqls.reverse()) :\n MigrationGenerateCommand.getTemplate(args.name as any, timestamp, upSqls, downSqls.reverse());\n const path = process.cwd() + \"/\" + (directory ? (directory + \"/\") : \"\") + filename;\n\n if (args.check) {\n console.log(chalk.yellow(`Unexpected changes in database schema were found in check mode:\\n\\n${chalk.white(fileContent)}`));\n process.exit(1);\n }\n\n if (args.dryrun) {\n console.log(chalk.green(`Migration ${chalk.blue(path)} has content:\\n\\n${chalk.white(fileContent)}`));\n } else {\n await CommandUtils.createFile(path, fileContent);\n\n console.log(chalk.green(`Migration ${chalk.blue(path)} has been generated successfully.`));\n }\n } catch (err) {\n console.log(chalk.black.bgRed(\"Error during migration generation:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats query parameters for migration queries if parameters actually exist\n */\n protected static queryParams(parameters: any[] | undefined): string {\n if (!parameters || !parameters.length) {\n return \"\";\n }\n\n return `, ${JSON.stringify(parameters)}`;\n }\n\n /**\n * Gets contents of the migration file.\n */\n protected static getTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class ${migrationName} implements MigrationInterface {\n name = '${migrationName}'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n${upSqls.join(`\n`)}\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n${downSqls.join(`\n`)}\n }\n\n}\n`;\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n */\n protected static getJavascriptTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `const { MigrationInterface, QueryRunner } = require(\"typeorm\");\n\nmodule.exports = class ${migrationName} {\n name = '${migrationName}'\n\n async up(queryRunner) {\n${upSqls.join(`\n`)}\n }\n\n async down(queryRunner) {\n${downSqls.join(`\n`)}\n }\n}\n`;\n }\n\n /**\n *\n */\n protected static prettifyQuery(query: string) {\n const formattedQuery = format(query, { indent: \" \" });\n return \"\\n\" + formattedQuery.replace(/^/gm, \" \") + \"\\n \";\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MigrationRevertCommand = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var index_1 = require("../index");
|
|
5
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationRevertCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationRevertCommand.ts"],"names":[],"mappings":";;;;AAAA,kCAA0C;AAC1C,iFAA8E;AAG9E,wDAA0B;AAE1B;;GAEG;AACH;IAAA;QAEI,YAAO,GAAG,kBAAkB,CAAC;QAC7B,aAAQ,GAAG,kCAAkC,CAAC;QAC9C,YAAO,GAAG,mBAAmB,CAAC;IAyElC,CAAC;IAvEG,wCAAO,GAAP,UAAQ,IAAgB;QACpB,OAAO,IAAI;aACN,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,8CAA8C;SAC3D,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,0FAA0F;SACvG,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC9D,CAAC,CAAC;IACX,CAAC;IAEK,wCAAO,GAAb,UAAc,IAAqB;;;;;;wBAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE;4BACnC,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;yBAC3F;wBAEG,UAAU,GAAyB,SAAS,CAAC;;;;wBAEvC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BACxD,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBACjC,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;4BAC7B,WAAW,EAAE,EAAE;4BACf,WAAW,EAAE,KAAK;4BAClB,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;yBACxC,CAAC,CAAC;wBACU,qBAAM,wBAAgB,CAAC,iBAAiB,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;wBAEjD,OAAO,GAAG;4BACZ,WAAW,EAAE,KAAgC;yBAChD,CAAC;wBAEF,QAAQ,IAAI,CAAC,CAAC,EAAE;4BACZ,KAAK,KAAK;gCACN,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;gCAC5B,MAAM;4BACV,KAAK,MAAM,CAAC;4BACZ,KAAK,OAAO;gCACR,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gCAC7B,MAAM;4BACV,KAAK,MAAM;gCACP,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gCAC7B,MAAM;4BACV,QAAQ;4BACJ,OAAO;yBACd;wBAED,qBAAM,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;wBAC5C,qBAAM,UAAU,CAAC,KAAK,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;;;;6BAGrB,UAAU,EAAV,wBAAU;wBAAE,qBAAO,UAAyB,CAAC,KAAK,EAAE,EAAA;;wBAAxC,SAAwC,CAAC;;;wBAEzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;wBACjE,OAAO,CAAC,KAAK,CAAC,KAAG,CAAC,CAAC;wBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEvB;IAEL,6BAAC;AAAD,CA7EA,AA6EC,IAAA;AA7EY,wDAAsB","file":"MigrationRevertCommand.js","sourcesContent":["import {createConnection} from \"../index\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {Connection} from \"../connection/Connection\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\n\n/**\n * Reverts last migration command.\n */\nexport class MigrationRevertCommand implements yargs.CommandModule {\n\n command = \"migration:revert\";\n describe = \"Reverts last executed migration.\";\n aliases = \"migrations:revert\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"transaction\", {\n alias: \"t\",\n default: \"default\",\n describe: \"Indicates if transaction should be used or not for migration revert. Enabled by default.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:revert\") {\n console.log(\"'migrations:revert' is deprecated, please use 'migration:revert' instead\");\n }\n\n let connection: Connection|undefined = undefined;\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n subscribers: [],\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: [\"query\", \"error\", \"schema\"]\n });\n connection = await createConnection(connectionOptions);\n\n const options = {\n transaction: \"all\" as \"all\" | \"none\" | \"each\",\n };\n\n switch (args.t) {\n case \"all\":\n options.transaction = \"all\";\n break;\n case \"none\":\n case \"false\":\n options.transaction = \"none\";\n break;\n case \"each\":\n options.transaction = \"each\";\n break;\n default:\n // noop\n }\n\n await connection.undoLastMigration(options);\n await connection.close();\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n\n console.log(chalk.black.bgRed(\"Error during migration revert:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MigrationRunCommand = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var index_1 = require("../index");
|
|
5
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|