typeorm 0.2.31 → 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.
Files changed (1028) hide show
  1. package/README.md +45 -45
  2. package/browser/cache/QueryResultCache.js +1 -1
  3. package/browser/cache/QueryResultCacheOptions.js +1 -1
  4. package/browser/common/DeepPartial.js +1 -1
  5. package/browser/common/EntityFieldsNames.js +1 -1
  6. package/browser/common/EntityTarget.js +1 -1
  7. package/browser/common/ObjectLiteral.js +1 -1
  8. package/browser/common/ObjectType.js +1 -1
  9. package/browser/connection/BaseConnectionOptions.js +1 -1
  10. package/browser/connection/Connection.d.ts +2 -2
  11. package/browser/connection/Connection.js +4 -2
  12. package/browser/connection/Connection.js.map +1 -1
  13. package/browser/connection/ConnectionMetadataBuilder.js +5 -5
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptions.js +1 -1
  16. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  17. package/browser/connection/ConnectionOptionsReader.js +3 -3
  18. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
  19. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  20. package/browser/decorator/options/ColumnCommonOptions.js +1 -1
  21. package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
  22. package/browser/decorator/options/ColumnEnumOptions.js +1 -1
  23. package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
  24. package/browser/decorator/options/ColumnNumericOptions.js +1 -1
  25. package/browser/decorator/options/ColumnOptions.js +1 -1
  26. package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
  27. package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
  28. package/browser/decorator/options/EntityOptions.js +1 -1
  29. package/browser/decorator/options/IndexOptions.js +1 -1
  30. package/browser/decorator/options/JoinColumnOptions.js +1 -1
  31. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
  32. package/browser/decorator/options/JoinTableOptions.js +1 -1
  33. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
  34. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
  35. package/browser/decorator/options/RelationOptions.js +1 -1
  36. package/browser/decorator/options/SpatialColumnOptions.js +1 -1
  37. package/browser/decorator/options/TransactionOptions.js +1 -1
  38. package/browser/decorator/options/ValueTransformer.js +1 -1
  39. package/browser/decorator/options/ViewColumnOptions.js +1 -1
  40. package/browser/decorator/options/ViewEntityOptions.js +1 -1
  41. package/browser/decorator/transaction/Transaction.js +4 -4
  42. package/browser/decorator/transaction/Transaction.js.map +1 -1
  43. package/browser/driver/Driver.d.ts +1 -1
  44. package/browser/driver/Driver.js +1 -1
  45. package/browser/driver/Driver.js.map +1 -1
  46. package/browser/driver/DriverFactory.js.map +1 -1
  47. package/browser/driver/DriverUtils.d.ts +10 -0
  48. package/browser/driver/DriverUtils.js +79 -0
  49. package/browser/driver/DriverUtils.js.map +1 -1
  50. package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +1 -1
  51. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  52. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +1 -1
  53. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  54. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -3
  55. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -5
  56. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  57. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  58. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +15 -2
  59. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  60. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  61. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +1 -1
  62. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  63. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -0
  64. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +24 -0
  65. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  66. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  67. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +1 -1
  68. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
  69. package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
  70. package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  71. package/browser/driver/cockroachdb/CockroachDriver.js +4 -7
  72. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  73. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  74. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  75. package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
  76. package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
  77. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  78. package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
  79. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  80. package/browser/driver/mongodb/MongoDriver.d.ts +1 -1
  81. package/browser/driver/mongodb/MongoDriver.js +12 -5
  82. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  83. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  84. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
  85. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  86. package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
  87. package/browser/driver/mysql/MysqlDriver.d.ts +2 -2
  88. package/browser/driver/mysql/MysqlDriver.js +12 -11
  89. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  90. package/browser/driver/mysql/MysqlQueryRunner.js +4 -4
  91. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  92. package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
  93. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
  94. package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
  95. package/browser/driver/oracle/OracleDriver.d.ts +1 -1
  96. package/browser/driver/oracle/OracleDriver.js +25 -3
  97. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  98. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  99. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  100. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
  101. package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
  102. package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
  103. package/browser/driver/postgres/PostgresDriver.js +54 -23
  104. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  105. package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  106. package/browser/driver/postgres/PostgresQueryRunner.js +185 -155
  107. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  108. package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
  109. package/browser/driver/sap/SapConnectionCredentialsOptions.js +1 -1
  110. package/browser/driver/sap/SapConnectionOptions.js +1 -1
  111. package/browser/driver/sap/SapDriver.d.ts +1 -1
  112. package/browser/driver/sap/SapDriver.js.map +1 -1
  113. package/browser/driver/sap/SapQueryRunner.js +2 -2
  114. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  115. package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
  116. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  117. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -1
  118. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  119. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +0 -1
  120. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  121. package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
  122. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  123. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
  124. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  125. package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
  126. package/browser/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  127. package/browser/driver/sqlserver/SqlServerDriver.js +33 -8
  128. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  129. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  130. package/browser/driver/sqlserver/SqlServerQueryRunner.js +26 -19
  131. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  132. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  133. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  134. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  135. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  136. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  137. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  138. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  139. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  140. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  141. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  142. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  143. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  144. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  145. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  146. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  147. package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  148. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  149. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  150. package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  151. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  152. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  153. package/browser/driver/types/ColumnTypes.js +1 -1
  154. package/browser/driver/types/DataTypeDefaults.js +1 -1
  155. package/browser/driver/types/DatabaseType.js +1 -1
  156. package/browser/driver/types/IsolationLevel.js +1 -1
  157. package/browser/driver/types/MappedColumnTypes.js +1 -1
  158. package/browser/driver/types/ReplicationMode.js +1 -1
  159. package/browser/entity-manager/EntityManager.d.ts +16 -2
  160. package/browser/entity-manager/EntityManager.js.map +1 -1
  161. package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
  162. package/browser/entity-manager/MongoEntityManager.js +39 -45
  163. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  164. package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
  165. package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
  166. package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
  167. package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
  168. package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
  169. package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
  170. package/browser/find-options/FindConditions.js +1 -1
  171. package/browser/find-options/FindManyOptions.js +1 -1
  172. package/browser/find-options/FindOneOptions.d.ts +4 -1
  173. package/browser/find-options/FindOneOptions.js +1 -1
  174. package/browser/find-options/FindOneOptions.js.map +1 -1
  175. package/browser/find-options/FindOperator.d.ts +7 -7
  176. package/browser/find-options/FindOperator.js +7 -7
  177. package/browser/find-options/FindOperatorType.js +1 -1
  178. package/browser/find-options/FindOptionsUtils.js +10 -1
  179. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  180. package/browser/find-options/JoinOptions.d.ts +16 -4
  181. package/browser/find-options/JoinOptions.js +1 -1
  182. package/browser/find-options/JoinOptions.js.map +1 -1
  183. package/browser/find-options/OrderByCondition.js +1 -1
  184. package/browser/index.js +23 -0
  185. package/browser/index.js.map +1 -1
  186. package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
  187. package/browser/logger/FileLogger.d.ts +2 -2
  188. package/browser/logger/Logger.js +1 -1
  189. package/browser/logger/LoggerOptions.js +1 -1
  190. package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
  191. package/browser/metadata/ColumnMetadata.d.ts +1 -1
  192. package/browser/metadata/ColumnMetadata.js +7 -12
  193. package/browser/metadata/ColumnMetadata.js.map +1 -1
  194. package/browser/metadata/EmbeddedMetadata.js +2 -2
  195. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  196. package/browser/metadata/EntityMetadata.js +2 -2
  197. package/browser/metadata/EntityMetadata.js.map +1 -1
  198. package/browser/metadata/RelationMetadata.js +5 -5
  199. package/browser/metadata/RelationMetadata.js.map +1 -1
  200. package/browser/metadata/types/ClosureTreeOptions.js +1 -1
  201. package/browser/metadata/types/DeferrableType.js +1 -1
  202. package/browser/metadata/types/OnDeleteType.js +1 -1
  203. package/browser/metadata/types/OnUpdateType.js +1 -1
  204. package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
  205. package/browser/metadata/types/RelationTypeInFunction.js +1 -1
  206. package/browser/metadata/types/RelationTypes.js +1 -1
  207. package/browser/metadata/types/TableTypes.js +1 -1
  208. package/browser/metadata/types/TreeTypes.js +1 -1
  209. package/browser/metadata-args/CheckMetadataArgs.js +1 -1
  210. package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
  211. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
  212. package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
  213. package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
  214. package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
  215. package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
  216. package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
  217. package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
  218. package/browser/metadata-args/IndexMetadataArgs.js +1 -1
  219. package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
  220. package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
  221. package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
  222. package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
  223. package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
  224. package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
  225. package/browser/metadata-args/RelationMetadataArgs.js +1 -1
  226. package/browser/metadata-args/TableMetadataArgs.js +1 -1
  227. package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
  228. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
  229. package/browser/metadata-args/TreeMetadataArgs.js +1 -1
  230. package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
  231. package/browser/metadata-args/types/ColumnMode.js +1 -1
  232. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +2 -0
  233. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  234. package/browser/metadata-builder/EntityMetadataBuilder.js +7 -7
  235. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  236. package/browser/metadata-builder/EntityMetadataValidator.js +2 -0
  237. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  238. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +6 -2
  239. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  240. package/browser/metadata-builder/RelationJoinColumnBuilder.js +3 -1
  241. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  242. package/browser/migration/MigrationExecutor.js +5 -5
  243. package/browser/migration/MigrationInterface.js +1 -1
  244. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  245. package/browser/naming-strategy/DefaultNamingStrategy.js +9 -8
  246. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  247. package/browser/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  248. package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
  249. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  250. package/browser/persistence/Subject.d.ts +4 -4
  251. package/browser/persistence/Subject.js +6 -6
  252. package/browser/persistence/Subject.js.map +1 -1
  253. package/browser/persistence/SubjectChangeMap.js +1 -1
  254. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -1
  255. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  256. package/browser/persistence/SubjectDatabaseEntityLoader.js +2 -2
  257. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  258. package/browser/persistence/SubjectExecutor.js +21 -21
  259. package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
  260. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  261. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  262. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -0
  263. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  264. package/browser/persistence/tree/ClosureSubjectExecutor.js +2 -2
  265. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  266. package/browser/query-builder/Alias.d.ts +4 -3
  267. package/browser/query-builder/Alias.js +3 -3
  268. package/browser/query-builder/DeleteQueryBuilder.js +5 -1
  269. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  270. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  271. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  272. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  273. package/browser/query-builder/JoinAttribute.js +10 -10
  274. package/browser/query-builder/JoinOptions.js +1 -1
  275. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  276. package/browser/query-builder/QueryBuilder.js +25 -25
  277. package/browser/query-builder/QueryBuilder.js.map +1 -1
  278. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  279. package/browser/query-builder/QueryExpressionMap.d.ts +6 -2
  280. package/browser/query-builder/QueryExpressionMap.js +3 -2
  281. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  282. package/browser/query-builder/QueryPartialEntity.js +1 -1
  283. package/browser/query-builder/RelationLoader.js +3 -3
  284. package/browser/query-builder/RelationLoader.js.map +1 -1
  285. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  286. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  287. package/browser/query-builder/RelationRemover.js +11 -11
  288. package/browser/query-builder/RelationRemover.js.map +1 -1
  289. package/browser/query-builder/SelectQuery.js +1 -1
  290. package/browser/query-builder/SelectQueryBuilder.d.ts +2 -6
  291. package/browser/query-builder/SelectQueryBuilder.js +35 -15
  292. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  293. package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
  294. package/browser/query-builder/UpdateQueryBuilder.js +4 -0
  295. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  296. package/browser/query-builder/WhereExpression.js +1 -1
  297. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  298. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  299. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  300. package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
  301. package/browser/query-builder/relation-count/RelationCountLoader.js +2 -1
  302. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  303. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  304. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  305. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  306. package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
  307. package/browser/query-builder/relation-id/RelationIdLoader.js +62 -12
  308. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  309. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  310. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  311. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -4
  312. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  313. package/browser/query-runner/BaseQueryRunner.js +3 -3
  314. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  315. package/browser/query-runner/QueryRunner.js +1 -1
  316. package/browser/repository/AbstractRepository.d.ts +2 -2
  317. package/browser/repository/AbstractRepository.js +2 -2
  318. package/browser/repository/BaseEntity.d.ts +1 -1
  319. package/browser/repository/BaseEntity.js +3 -3
  320. package/browser/repository/BaseEntity.js.map +1 -1
  321. package/browser/repository/EntityId.js +1 -1
  322. package/browser/repository/RemoveOptions.js +1 -1
  323. package/browser/repository/Repository.d.ts +1 -1
  324. package/browser/repository/Repository.js +3 -3
  325. package/browser/repository/Repository.js.map +1 -1
  326. package/browser/repository/SaveOptions.js +1 -1
  327. package/browser/repository/TreeRepository.js +2 -2
  328. package/browser/repository/TreeRepository.js.map +1 -1
  329. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  330. package/browser/schema-builder/RdbmsSchemaBuilder.js +78 -78
  331. package/browser/schema-builder/SchemaBuilder.js +1 -1
  332. package/browser/schema-builder/options/TableCheckOptions.js +1 -1
  333. package/browser/schema-builder/options/TableColumnOptions.js +1 -1
  334. package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
  335. package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
  336. package/browser/schema-builder/options/TableIndexOptions.js +1 -1
  337. package/browser/schema-builder/options/TableOptions.js +1 -1
  338. package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
  339. package/browser/schema-builder/options/ViewOptions.js +1 -1
  340. package/browser/schema-builder/table/Table.d.ts +1 -1
  341. package/browser/schema-builder/table/Table.js +1 -1
  342. package/browser/schema-builder/table/TableCheck.js +2 -2
  343. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  344. package/browser/schema-builder/table/TableForeignKey.js +3 -3
  345. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  346. package/browser/schema-builder/table/TableIndex.js +2 -2
  347. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  348. package/browser/schema-builder/table/TableUnique.js +2 -2
  349. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  350. package/browser/subscriber/EntitySubscriberInterface.js +1 -1
  351. package/browser/subscriber/event/InsertEvent.js +1 -1
  352. package/browser/subscriber/event/LoadEvent.js +1 -1
  353. package/browser/subscriber/event/RemoveEvent.js +1 -1
  354. package/browser/subscriber/event/TransactionCommitEvent.js +1 -1
  355. package/browser/subscriber/event/TransactionRollbackEvent.js +1 -1
  356. package/browser/subscriber/event/TransactionStartEvent.js +1 -1
  357. package/browser/subscriber/event/UpdateEvent.js +1 -1
  358. package/browser/util/DateUtils.js.map +1 -1
  359. package/browser/util/OrmUtils.d.ts +1 -1
  360. package/browser/util/OrmUtils.js +2 -2
  361. package/browser/util/OrmUtils.js.map +1 -1
  362. package/browser/util/StringUtils.js.map +1 -1
  363. package/cache/DbQueryResultCache.js +1 -0
  364. package/cache/DbQueryResultCache.js.map +1 -1
  365. package/cache/QueryResultCacheFactory.js +1 -0
  366. package/cache/QueryResultCacheFactory.js.map +1 -1
  367. package/cache/RedisQueryResultCache.js +1 -0
  368. package/cache/RedisQueryResultCache.js.map +1 -1
  369. package/commands/CacheClearCommand.js +1 -0
  370. package/commands/CacheClearCommand.js.map +1 -1
  371. package/commands/CommandUtils.js +1 -0
  372. package/commands/CommandUtils.js.map +1 -1
  373. package/commands/EntityCreateCommand.js +1 -0
  374. package/commands/EntityCreateCommand.js.map +1 -1
  375. package/commands/InitCommand.d.ts +3 -0
  376. package/commands/InitCommand.js +36 -5
  377. package/commands/InitCommand.js.map +1 -1
  378. package/commands/MigrationCreateCommand.js +1 -0
  379. package/commands/MigrationCreateCommand.js.map +1 -1
  380. package/commands/MigrationGenerateCommand.d.ts +4 -0
  381. package/commands/MigrationGenerateCommand.js +39 -15
  382. package/commands/MigrationGenerateCommand.js.map +1 -1
  383. package/commands/MigrationRevertCommand.js +1 -0
  384. package/commands/MigrationRevertCommand.js.map +1 -1
  385. package/commands/MigrationRunCommand.js +1 -0
  386. package/commands/MigrationRunCommand.js.map +1 -1
  387. package/commands/MigrationShowCommand.js +1 -0
  388. package/commands/MigrationShowCommand.js.map +1 -1
  389. package/commands/QueryCommand.js +1 -0
  390. package/commands/QueryCommand.js.map +1 -1
  391. package/commands/SchemaDropCommand.js +1 -0
  392. package/commands/SchemaDropCommand.js.map +1 -1
  393. package/commands/SchemaLogCommand.js +1 -0
  394. package/commands/SchemaLogCommand.js.map +1 -1
  395. package/commands/SchemaSyncCommand.js +1 -0
  396. package/commands/SchemaSyncCommand.js.map +1 -1
  397. package/commands/SubscriberCreateCommand.js +1 -0
  398. package/commands/SubscriberCreateCommand.js.map +1 -1
  399. package/commands/VersionCommand.js +1 -0
  400. package/commands/VersionCommand.js.map +1 -1
  401. package/connection/Connection.d.ts +2 -2
  402. package/connection/Connection.js +5 -2
  403. package/connection/Connection.js.map +1 -1
  404. package/connection/ConnectionManager.js +1 -0
  405. package/connection/ConnectionManager.js.map +1 -1
  406. package/connection/ConnectionMetadataBuilder.js +5 -4
  407. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  408. package/connection/ConnectionOptionsReader.d.ts +3 -3
  409. package/connection/ConnectionOptionsReader.js +4 -3
  410. package/connection/ConnectionOptionsReader.js.map +1 -1
  411. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  412. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  413. package/connection/options-reader/ConnectionOptionsXmlReader.js +1 -0
  414. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  415. package/connection/options-reader/ConnectionOptionsYmlReader.js +2 -1
  416. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  417. package/container.js +1 -0
  418. package/container.js.map +1 -1
  419. package/decorator/Check.js +1 -0
  420. package/decorator/Check.js.map +1 -1
  421. package/decorator/EntityRepository.js +1 -0
  422. package/decorator/EntityRepository.js.map +1 -1
  423. package/decorator/Exclusion.js +1 -0
  424. package/decorator/Exclusion.js.map +1 -1
  425. package/decorator/Generated.js +1 -0
  426. package/decorator/Generated.js.map +1 -1
  427. package/decorator/Index.js +1 -0
  428. package/decorator/Index.js.map +1 -1
  429. package/decorator/Unique.js +1 -0
  430. package/decorator/Unique.js.map +1 -1
  431. package/decorator/columns/Column.js +1 -0
  432. package/decorator/columns/Column.js.map +1 -1
  433. package/decorator/columns/CreateDateColumn.js +1 -0
  434. package/decorator/columns/CreateDateColumn.js.map +1 -1
  435. package/decorator/columns/DeleteDateColumn.js +1 -0
  436. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  437. package/decorator/columns/ObjectIdColumn.js +1 -0
  438. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  439. package/decorator/columns/PrimaryColumn.js +1 -0
  440. package/decorator/columns/PrimaryColumn.js.map +1 -1
  441. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  442. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  443. package/decorator/columns/UpdateDateColumn.js +1 -0
  444. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  445. package/decorator/columns/VersionColumn.js +1 -0
  446. package/decorator/columns/VersionColumn.js.map +1 -1
  447. package/decorator/columns/ViewColumn.js +1 -0
  448. package/decorator/columns/ViewColumn.js.map +1 -1
  449. package/decorator/entity/ChildEntity.js +1 -0
  450. package/decorator/entity/ChildEntity.js.map +1 -1
  451. package/decorator/entity/Entity.js +1 -0
  452. package/decorator/entity/Entity.js.map +1 -1
  453. package/decorator/entity/TableInheritance.js +1 -0
  454. package/decorator/entity/TableInheritance.js.map +1 -1
  455. package/decorator/entity-view/ViewEntity.js +1 -0
  456. package/decorator/entity-view/ViewEntity.js.map +1 -1
  457. package/decorator/listeners/AfterInsert.js +1 -0
  458. package/decorator/listeners/AfterInsert.js.map +1 -1
  459. package/decorator/listeners/AfterLoad.js +1 -0
  460. package/decorator/listeners/AfterLoad.js.map +1 -1
  461. package/decorator/listeners/AfterRemove.js +1 -0
  462. package/decorator/listeners/AfterRemove.js.map +1 -1
  463. package/decorator/listeners/AfterUpdate.js +1 -0
  464. package/decorator/listeners/AfterUpdate.js.map +1 -1
  465. package/decorator/listeners/BeforeInsert.js +1 -0
  466. package/decorator/listeners/BeforeInsert.js.map +1 -1
  467. package/decorator/listeners/BeforeRemove.js +1 -0
  468. package/decorator/listeners/BeforeRemove.js.map +1 -1
  469. package/decorator/listeners/BeforeUpdate.js +1 -0
  470. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  471. package/decorator/listeners/EventSubscriber.js +1 -0
  472. package/decorator/listeners/EventSubscriber.js.map +1 -1
  473. package/decorator/relations/JoinColumn.js +1 -0
  474. package/decorator/relations/JoinColumn.js.map +1 -1
  475. package/decorator/relations/JoinTable.js +1 -0
  476. package/decorator/relations/JoinTable.js.map +1 -1
  477. package/decorator/relations/ManyToMany.js +1 -0
  478. package/decorator/relations/ManyToMany.js.map +1 -1
  479. package/decorator/relations/ManyToOne.js +1 -0
  480. package/decorator/relations/ManyToOne.js.map +1 -1
  481. package/decorator/relations/OneToMany.js +1 -0
  482. package/decorator/relations/OneToMany.js.map +1 -1
  483. package/decorator/relations/OneToOne.js +1 -0
  484. package/decorator/relations/OneToOne.js.map +1 -1
  485. package/decorator/relations/RelationCount.js +1 -0
  486. package/decorator/relations/RelationCount.js.map +1 -1
  487. package/decorator/relations/RelationId.js +1 -0
  488. package/decorator/relations/RelationId.js.map +1 -1
  489. package/decorator/transaction/Transaction.js +4 -3
  490. package/decorator/transaction/Transaction.js.map +1 -1
  491. package/decorator/transaction/TransactionManager.js +1 -0
  492. package/decorator/transaction/TransactionManager.js.map +1 -1
  493. package/decorator/transaction/TransactionRepository.js +1 -0
  494. package/decorator/transaction/TransactionRepository.js.map +1 -1
  495. package/decorator/tree/Tree.js +1 -0
  496. package/decorator/tree/Tree.js.map +1 -1
  497. package/decorator/tree/TreeChildren.js +1 -0
  498. package/decorator/tree/TreeChildren.js.map +1 -1
  499. package/decorator/tree/TreeLevelColumn.js +1 -0
  500. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  501. package/decorator/tree/TreeParent.js +1 -0
  502. package/decorator/tree/TreeParent.js.map +1 -1
  503. package/driver/Driver.d.ts +1 -1
  504. package/driver/Driver.js.map +1 -1
  505. package/driver/DriverFactory.js +1 -0
  506. package/driver/DriverFactory.js.map +1 -1
  507. package/driver/DriverUtils.d.ts +10 -0
  508. package/driver/DriverUtils.js +80 -0
  509. package/driver/DriverUtils.js.map +1 -1
  510. package/driver/Query.js +1 -0
  511. package/driver/Query.js.map +1 -1
  512. package/driver/SqlInMemory.js +1 -0
  513. package/driver/SqlInMemory.js.map +1 -1
  514. package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -0
  515. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  516. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  517. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  518. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -3
  519. package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -5
  520. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  521. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  522. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +16 -2
  523. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  524. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  525. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  526. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -0
  527. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +25 -0
  528. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  529. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +1 -0
  530. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  531. package/driver/better-sqlite3/BetterSqlite3Driver.js +1 -0
  532. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  533. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  534. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  535. package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  536. package/driver/cockroachdb/CockroachDriver.js +4 -6
  537. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  538. package/driver/cockroachdb/CockroachQueryRunner.js +2 -1
  539. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  540. package/driver/cordova/CordovaDriver.js +1 -0
  541. package/driver/cordova/CordovaDriver.js.map +1 -1
  542. package/driver/cordova/CordovaQueryRunner.js +1 -0
  543. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  544. package/driver/expo/ExpoDriver.js +1 -0
  545. package/driver/expo/ExpoDriver.js.map +1 -1
  546. package/driver/expo/ExpoQueryRunner.js +1 -0
  547. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  548. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  549. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  550. package/driver/mongodb/MongoDriver.d.ts +1 -1
  551. package/driver/mongodb/MongoDriver.js +13 -5
  552. package/driver/mongodb/MongoDriver.js.map +1 -1
  553. package/driver/mongodb/MongoQueryRunner.js +1 -0
  554. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  555. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  556. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  557. package/driver/mysql/MysqlDriver.d.ts +2 -2
  558. package/driver/mysql/MysqlDriver.js +13 -11
  559. package/driver/mysql/MysqlDriver.js.map +1 -1
  560. package/driver/mysql/MysqlQueryRunner.js +5 -4
  561. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  562. package/driver/nativescript/NativescriptDriver.js +1 -0
  563. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  564. package/driver/nativescript/NativescriptQueryRunner.js +1 -0
  565. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  566. package/driver/oracle/OracleDriver.d.ts +1 -1
  567. package/driver/oracle/OracleDriver.js +26 -3
  568. package/driver/oracle/OracleDriver.js.map +1 -1
  569. package/driver/oracle/OracleQueryRunner.js +2 -1
  570. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  571. package/driver/postgres/PostgresDriver.d.ts +2 -2
  572. package/driver/postgres/PostgresDriver.js +54 -22
  573. package/driver/postgres/PostgresDriver.js.map +1 -1
  574. package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  575. package/driver/postgres/PostgresQueryRunner.js +186 -155
  576. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  577. package/driver/react-native/ReactNativeDriver.js +1 -0
  578. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  579. package/driver/react-native/ReactNativeQueryRunner.js +1 -0
  580. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  581. package/driver/sap/SapDriver.d.ts +1 -1
  582. package/driver/sap/SapDriver.js +1 -0
  583. package/driver/sap/SapDriver.js.map +1 -1
  584. package/driver/sap/SapQueryRunner.js +2 -1
  585. package/driver/sap/SapQueryRunner.js.map +1 -1
  586. package/driver/sqlite/SqliteDriver.js +1 -0
  587. package/driver/sqlite/SqliteDriver.js.map +1 -1
  588. package/driver/sqlite/SqliteQueryRunner.js +1 -0
  589. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  590. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  591. package/driver/sqlite-abstract/AbstractSqliteDriver.js +5 -1
  592. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  593. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  594. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  595. package/driver/sqljs/SqljsDriver.js +1 -0
  596. package/driver/sqljs/SqljsDriver.js.map +1 -1
  597. package/driver/sqljs/SqljsQueryRunner.js +1 -0
  598. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  599. package/driver/sqlserver/MssqlParameter.js +1 -0
  600. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  601. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  602. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  603. package/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  604. package/driver/sqlserver/SqlServerDriver.js +34 -8
  605. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  606. package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  607. package/driver/sqlserver/SqlServerQueryRunner.js +26 -18
  608. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  609. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  610. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
  611. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  612. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  613. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
  614. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  615. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  616. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
  617. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  618. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  619. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +4 -0
  620. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  621. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  622. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
  623. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  624. package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  625. package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
  626. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  627. package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  628. package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
  629. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  630. package/entity-manager/EntityManager.d.ts +16 -2
  631. package/entity-manager/EntityManager.js +1 -0
  632. package/entity-manager/EntityManager.js.map +1 -1
  633. package/entity-manager/EntityManagerFactory.js +1 -0
  634. package/entity-manager/EntityManagerFactory.js.map +1 -1
  635. package/entity-manager/MongoEntityManager.d.ts +1 -4
  636. package/entity-manager/MongoEntityManager.js +40 -45
  637. package/entity-manager/MongoEntityManager.js.map +1 -1
  638. package/entity-manager/SqljsEntityManager.js +1 -0
  639. package/entity-manager/SqljsEntityManager.js.map +1 -1
  640. package/entity-schema/EntitySchema.js +1 -0
  641. package/entity-schema/EntitySchema.js.map +1 -1
  642. package/entity-schema/EntitySchemaOptions.js +1 -0
  643. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  644. package/entity-schema/EntitySchemaTransformer.js +1 -0
  645. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  646. package/error/AlreadyHasActiveConnectionError.js +1 -0
  647. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  648. package/error/CannotAttachTreeChildrenEntityError.js +1 -0
  649. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  650. package/error/CannotConnectAlreadyConnectedError.js +1 -0
  651. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  652. package/error/CannotCreateEntityIdMapError.js +1 -0
  653. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  654. package/error/CannotDetermineEntityError.js +1 -0
  655. package/error/CannotDetermineEntityError.js.map +1 -1
  656. package/error/CannotExecuteNotConnectedError.js +1 -0
  657. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  658. package/error/CannotGetEntityManagerNotConnectedError.js +1 -0
  659. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  660. package/error/CannotReflectMethodParameterTypeError.js +1 -0
  661. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  662. package/error/CircularRelationsError.js +1 -0
  663. package/error/CircularRelationsError.js.map +1 -1
  664. package/error/ColumnTypeUndefinedError.js +1 -0
  665. package/error/ColumnTypeUndefinedError.js.map +1 -1
  666. package/error/ConnectionIsNotSetError.js +1 -0
  667. package/error/ConnectionIsNotSetError.js.map +1 -1
  668. package/error/ConnectionNotFoundError.js +1 -0
  669. package/error/ConnectionNotFoundError.js.map +1 -1
  670. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -0
  671. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  672. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -0
  673. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  674. package/error/CustomRepositoryNotFoundError.js +1 -0
  675. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  676. package/error/DataTypeNotSupportedError.js +1 -0
  677. package/error/DataTypeNotSupportedError.js.map +1 -1
  678. package/error/DriverOptionNotSetError.js +1 -0
  679. package/error/DriverOptionNotSetError.js.map +1 -1
  680. package/error/DriverPackageNotInstalledError.js +1 -0
  681. package/error/DriverPackageNotInstalledError.js.map +1 -1
  682. package/error/EntityColumnNotFound.js +1 -0
  683. package/error/EntityColumnNotFound.js.map +1 -1
  684. package/error/EntityMetadataNotFoundError.js +1 -0
  685. package/error/EntityMetadataNotFoundError.js.map +1 -1
  686. package/error/EntityNotFoundError.js +1 -0
  687. package/error/EntityNotFoundError.js.map +1 -1
  688. package/error/FindRelationsNotFoundError.js +1 -0
  689. package/error/FindRelationsNotFoundError.js.map +1 -1
  690. package/error/InitializedRelationError.js +1 -0
  691. package/error/InitializedRelationError.js.map +1 -1
  692. package/error/InsertValuesMissingError.js +1 -0
  693. package/error/InsertValuesMissingError.js.map +1 -1
  694. package/error/LimitOnUpdateNotSupportedError.js +1 -0
  695. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  696. package/error/LockNotSupportedOnGivenDriverError.js +1 -0
  697. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  698. package/error/MetadataAlreadyExistsError.js +1 -0
  699. package/error/MetadataAlreadyExistsError.js.map +1 -1
  700. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -0
  701. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  702. package/error/MissingDeleteDateColumnError.js +1 -0
  703. package/error/MissingDeleteDateColumnError.js.map +1 -1
  704. package/error/MissingDriverError.js +1 -0
  705. package/error/MissingDriverError.js.map +1 -1
  706. package/error/MissingJoinColumnError.js +1 -0
  707. package/error/MissingJoinColumnError.js.map +1 -1
  708. package/error/MissingJoinTableError.js +1 -0
  709. package/error/MissingJoinTableError.js.map +1 -1
  710. package/error/MissingPrimaryColumnError.js +1 -0
  711. package/error/MissingPrimaryColumnError.js.map +1 -1
  712. package/error/MustBeEntityError.js +1 -0
  713. package/error/MustBeEntityError.js.map +1 -1
  714. package/error/NamingStrategyNotFoundError.js +1 -0
  715. package/error/NamingStrategyNotFoundError.js.map +1 -1
  716. package/error/NoConnectionForRepositoryError.js +1 -0
  717. package/error/NoConnectionForRepositoryError.js.map +1 -1
  718. package/error/NoConnectionOptionError.js +1 -0
  719. package/error/NoConnectionOptionError.js.map +1 -1
  720. package/error/NoNeedToReleaseEntityManagerError.js +1 -0
  721. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  722. package/error/NoVersionOrUpdateDateColumnError.js +1 -0
  723. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  724. package/error/OffsetWithoutLimitNotSupportedError.js +1 -0
  725. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  726. package/error/OptimisticLockCanNotBeUsedError.js +1 -0
  727. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  728. package/error/OptimisticLockVersionMismatchError.js +1 -0
  729. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  730. package/error/PersistedEntityNotFoundError.js +1 -0
  731. package/error/PersistedEntityNotFoundError.js.map +1 -1
  732. package/error/PessimisticLockTransactionRequiredError.js +1 -0
  733. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  734. package/error/PrimaryColumnCannotBeNullableError.js +1 -0
  735. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  736. package/error/QueryFailedError.js +1 -0
  737. package/error/QueryFailedError.js.map +1 -1
  738. package/error/QueryRunnerAlreadyReleasedError.js +1 -0
  739. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  740. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -0
  741. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  742. package/error/RepositoryNotFoundError.js +1 -0
  743. package/error/RepositoryNotFoundError.js.map +1 -1
  744. package/error/RepositoryNotTreeError.js +1 -0
  745. package/error/RepositoryNotTreeError.js.map +1 -1
  746. package/error/ReturningStatementNotSupportedError.js +1 -0
  747. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  748. package/error/SubjectRemovedAndUpdatedError.js +1 -0
  749. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  750. package/error/SubjectWithoutIdentifierError.js +1 -0
  751. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  752. package/error/TransactionAlreadyStartedError.js +1 -0
  753. package/error/TransactionAlreadyStartedError.js.map +1 -1
  754. package/error/TransactionNotStartedError.js +1 -0
  755. package/error/TransactionNotStartedError.js.map +1 -1
  756. package/error/TreeRepositoryNotSupportedError.js +1 -0
  757. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  758. package/error/UpdateValuesMissingError.js +1 -0
  759. package/error/UpdateValuesMissingError.js.map +1 -1
  760. package/error/UsingJoinColumnIsNotAllowedError.js +1 -0
  761. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  762. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -0
  763. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  764. package/error/UsingJoinTableIsNotAllowedError.js +1 -0
  765. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  766. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -0
  767. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  768. package/find-options/FindOneOptions.d.ts +4 -1
  769. package/find-options/FindOneOptions.js.map +1 -1
  770. package/find-options/FindOperator.d.ts +7 -7
  771. package/find-options/FindOperator.js +8 -7
  772. package/find-options/FindOperator.js.map +1 -1
  773. package/find-options/FindOptionsUtils.js +11 -1
  774. package/find-options/FindOptionsUtils.js.map +1 -1
  775. package/find-options/JoinOptions.d.ts +16 -4
  776. package/find-options/JoinOptions.js.map +1 -1
  777. package/find-options/operator/Any.js +1 -0
  778. package/find-options/operator/Any.js.map +1 -1
  779. package/find-options/operator/Between.js +1 -0
  780. package/find-options/operator/Between.js.map +1 -1
  781. package/find-options/operator/Equal.js +1 -0
  782. package/find-options/operator/Equal.js.map +1 -1
  783. package/find-options/operator/ILike.js +1 -0
  784. package/find-options/operator/ILike.js.map +1 -1
  785. package/find-options/operator/In.js +1 -0
  786. package/find-options/operator/In.js.map +1 -1
  787. package/find-options/operator/IsNull.js +1 -0
  788. package/find-options/operator/IsNull.js.map +1 -1
  789. package/find-options/operator/LessThan.js +1 -0
  790. package/find-options/operator/LessThan.js.map +1 -1
  791. package/find-options/operator/LessThanOrEqual.js +1 -0
  792. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  793. package/find-options/operator/Like.js +1 -0
  794. package/find-options/operator/Like.js.map +1 -1
  795. package/find-options/operator/MoreThan.js +1 -0
  796. package/find-options/operator/MoreThan.js.map +1 -1
  797. package/find-options/operator/MoreThanOrEqual.js +1 -0
  798. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  799. package/find-options/operator/Not.js +1 -0
  800. package/find-options/operator/Not.js.map +1 -1
  801. package/find-options/operator/Raw.js +1 -0
  802. package/find-options/operator/Raw.js.map +1 -1
  803. package/index.js +42 -18
  804. package/index.js.map +1 -1
  805. package/logger/AdvancedConsoleLogger.d.ts +2 -1
  806. package/logger/AdvancedConsoleLogger.js +1 -0
  807. package/logger/AdvancedConsoleLogger.js.map +1 -1
  808. package/logger/DebugLogger.js +1 -0
  809. package/logger/DebugLogger.js.map +1 -1
  810. package/logger/FileLogger.d.ts +2 -2
  811. package/logger/FileLogger.js +1 -0
  812. package/logger/FileLogger.js.map +1 -1
  813. package/logger/LoggerFactory.js +1 -0
  814. package/logger/LoggerFactory.js.map +1 -1
  815. package/logger/SimpleConsoleLogger.d.ts +2 -1
  816. package/logger/SimpleConsoleLogger.js +1 -0
  817. package/logger/SimpleConsoleLogger.js.map +1 -1
  818. package/metadata/CheckMetadata.js +1 -0
  819. package/metadata/CheckMetadata.js.map +1 -1
  820. package/metadata/ColumnMetadata.d.ts +1 -1
  821. package/metadata/ColumnMetadata.js +7 -11
  822. package/metadata/ColumnMetadata.js.map +1 -1
  823. package/metadata/EmbeddedMetadata.js +2 -1
  824. package/metadata/EmbeddedMetadata.js.map +1 -1
  825. package/metadata/EntityListenerMetadata.js +1 -0
  826. package/metadata/EntityListenerMetadata.js.map +1 -1
  827. package/metadata/EntityMetadata.js +2 -1
  828. package/metadata/EntityMetadata.js.map +1 -1
  829. package/metadata/ExclusionMetadata.js +1 -0
  830. package/metadata/ExclusionMetadata.js.map +1 -1
  831. package/metadata/ForeignKeyMetadata.js +1 -0
  832. package/metadata/ForeignKeyMetadata.js.map +1 -1
  833. package/metadata/IndexMetadata.js +1 -0
  834. package/metadata/IndexMetadata.js.map +1 -1
  835. package/metadata/RelationCountMetadata.js +1 -0
  836. package/metadata/RelationCountMetadata.js.map +1 -1
  837. package/metadata/RelationIdMetadata.js +1 -0
  838. package/metadata/RelationIdMetadata.js.map +1 -1
  839. package/metadata/RelationMetadata.js +5 -4
  840. package/metadata/RelationMetadata.js.map +1 -1
  841. package/metadata/UniqueMetadata.js +1 -0
  842. package/metadata/UniqueMetadata.js.map +1 -1
  843. package/metadata/types/EventListenerTypes.js +1 -0
  844. package/metadata/types/EventListenerTypes.js.map +1 -1
  845. package/metadata-args/MetadataArgsStorage.js +1 -0
  846. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  847. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -0
  848. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  849. package/metadata-builder/EntityMetadataBuilder.js +7 -6
  850. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  851. package/metadata-builder/EntityMetadataValidator.js +3 -0
  852. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  853. package/metadata-builder/JunctionEntityMetadataBuilder.js +6 -1
  854. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  855. package/metadata-builder/MetadataUtils.js +1 -0
  856. package/metadata-builder/MetadataUtils.js.map +1 -1
  857. package/metadata-builder/RelationJoinColumnBuilder.js +4 -1
  858. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  859. package/migration/Migration.js +1 -0
  860. package/migration/Migration.js.map +1 -1
  861. package/migration/MigrationExecutor.js +6 -5
  862. package/migration/MigrationExecutor.js.map +1 -1
  863. package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  864. package/naming-strategy/DefaultNamingStrategy.js +9 -7
  865. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  866. package/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  867. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  868. package/package.json +43 -42
  869. package/persistence/EntityPersistExecutor.js +1 -0
  870. package/persistence/EntityPersistExecutor.js.map +1 -1
  871. package/persistence/Subject.d.ts +4 -4
  872. package/persistence/Subject.js +6 -5
  873. package/persistence/Subject.js.map +1 -1
  874. package/persistence/SubjectChangedColumnsComputer.js +4 -1
  875. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  876. package/persistence/SubjectDatabaseEntityLoader.js +2 -1
  877. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  878. package/persistence/SubjectExecutor.js +22 -21
  879. package/persistence/SubjectExecutor.js.map +1 -1
  880. package/persistence/SubjectTopoligicalSorter.js +6 -5
  881. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  882. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -0
  883. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  884. package/persistence/subject-builder/ManyToManySubjectBuilder.js +3 -0
  885. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  886. package/persistence/subject-builder/OneToManySubjectBuilder.js +1 -0
  887. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  888. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -0
  889. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  890. package/persistence/tree/ClosureSubjectExecutor.js +2 -1
  891. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  892. package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -0
  893. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  894. package/persistence/tree/NestedSetSubjectExecutor.js +1 -0
  895. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  896. package/platform/PlatformTools.js +5 -4
  897. package/platform/PlatformTools.js.map +1 -1
  898. package/query-builder/Alias.d.ts +4 -3
  899. package/query-builder/Alias.js +4 -3
  900. package/query-builder/Alias.js.map +1 -1
  901. package/query-builder/Brackets.js +1 -0
  902. package/query-builder/Brackets.js.map +1 -1
  903. package/query-builder/DeleteQueryBuilder.js +6 -1
  904. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  905. package/query-builder/InsertQueryBuilder.js +2 -1
  906. package/query-builder/InsertQueryBuilder.js.map +1 -1
  907. package/query-builder/JoinAttribute.d.ts +10 -10
  908. package/query-builder/JoinAttribute.js +11 -10
  909. package/query-builder/JoinAttribute.js.map +1 -1
  910. package/query-builder/QueryBuilder.d.ts +1 -1
  911. package/query-builder/QueryBuilder.js +25 -24
  912. package/query-builder/QueryBuilder.js.map +1 -1
  913. package/query-builder/QueryBuilderUtils.js +1 -0
  914. package/query-builder/QueryBuilderUtils.js.map +1 -1
  915. package/query-builder/QueryExpressionMap.d.ts +6 -2
  916. package/query-builder/QueryExpressionMap.js +4 -2
  917. package/query-builder/QueryExpressionMap.js.map +1 -1
  918. package/query-builder/RelationIdLoader.js +1 -0
  919. package/query-builder/RelationIdLoader.js.map +1 -1
  920. package/query-builder/RelationLoader.js +3 -2
  921. package/query-builder/RelationLoader.js.map +1 -1
  922. package/query-builder/RelationQueryBuilder.js +2 -1
  923. package/query-builder/RelationQueryBuilder.js.map +1 -1
  924. package/query-builder/RelationRemover.js +11 -10
  925. package/query-builder/RelationRemover.js.map +1 -1
  926. package/query-builder/RelationUpdater.js +1 -0
  927. package/query-builder/RelationUpdater.js.map +1 -1
  928. package/query-builder/ReturningResultsEntityUpdator.js +1 -0
  929. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  930. package/query-builder/SelectQueryBuilder.d.ts +2 -6
  931. package/query-builder/SelectQueryBuilder.js +35 -14
  932. package/query-builder/SelectQueryBuilder.js.map +1 -1
  933. package/query-builder/SoftDeleteQueryBuilder.js +1 -0
  934. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  935. package/query-builder/UpdateQueryBuilder.js +5 -0
  936. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  937. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  938. package/query-builder/relation-count/RelationCountAttribute.js +8 -7
  939. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  940. package/query-builder/relation-count/RelationCountLoader.js +3 -1
  941. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  942. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +1 -0
  943. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  944. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  945. package/query-builder/relation-id/RelationIdAttribute.js +9 -8
  946. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  947. package/query-builder/relation-id/RelationIdLoader.js +62 -11
  948. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  949. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -0
  950. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  951. package/query-builder/result/DeleteResult.js +1 -0
  952. package/query-builder/result/DeleteResult.js.map +1 -1
  953. package/query-builder/result/InsertResult.js +1 -0
  954. package/query-builder/result/InsertResult.js.map +1 -1
  955. package/query-builder/result/UpdateResult.js +1 -0
  956. package/query-builder/result/UpdateResult.js.map +1 -1
  957. package/query-builder/transformer/DocumentToEntityTransformer.js +1 -0
  958. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  959. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -3
  960. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  961. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  962. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  963. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -3
  964. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  965. package/query-runner/BaseQueryRunner.js +3 -2
  966. package/query-runner/BaseQueryRunner.js.map +1 -1
  967. package/repository/AbstractRepository.d.ts +2 -2
  968. package/repository/AbstractRepository.js +3 -2
  969. package/repository/AbstractRepository.js.map +1 -1
  970. package/repository/BaseEntity.d.ts +1 -1
  971. package/repository/BaseEntity.js +3 -2
  972. package/repository/BaseEntity.js.map +1 -1
  973. package/repository/MongoRepository.js +1 -0
  974. package/repository/MongoRepository.js.map +1 -1
  975. package/repository/Repository.d.ts +1 -1
  976. package/repository/Repository.js +3 -2
  977. package/repository/Repository.js.map +1 -1
  978. package/repository/RepositoryFactory.js +1 -0
  979. package/repository/RepositoryFactory.js.map +1 -1
  980. package/repository/TreeRepository.js +3 -2
  981. package/repository/TreeRepository.js.map +1 -1
  982. package/schema-builder/MongoSchemaBuilder.js +1 -0
  983. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  984. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  985. package/schema-builder/RdbmsSchemaBuilder.js +79 -78
  986. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  987. package/schema-builder/table/Table.d.ts +1 -1
  988. package/schema-builder/table/Table.js +2 -1
  989. package/schema-builder/table/Table.js.map +1 -1
  990. package/schema-builder/table/TableCheck.js +2 -1
  991. package/schema-builder/table/TableCheck.js.map +1 -1
  992. package/schema-builder/table/TableColumn.js +1 -0
  993. package/schema-builder/table/TableColumn.js.map +1 -1
  994. package/schema-builder/table/TableExclusion.js +1 -0
  995. package/schema-builder/table/TableExclusion.js.map +1 -1
  996. package/schema-builder/table/TableForeignKey.js +3 -2
  997. package/schema-builder/table/TableForeignKey.js.map +1 -1
  998. package/schema-builder/table/TableIndex.js +2 -1
  999. package/schema-builder/table/TableIndex.js.map +1 -1
  1000. package/schema-builder/table/TableUnique.js +2 -1
  1001. package/schema-builder/table/TableUnique.js.map +1 -1
  1002. package/schema-builder/util/TableUtils.js +1 -0
  1003. package/schema-builder/util/TableUtils.js.map +1 -1
  1004. package/schema-builder/view/View.js +1 -0
  1005. package/schema-builder/view/View.js.map +1 -1
  1006. package/subscriber/Broadcaster.js +1 -0
  1007. package/subscriber/Broadcaster.js.map +1 -1
  1008. package/subscriber/BroadcasterResult.js +1 -0
  1009. package/subscriber/BroadcasterResult.js.map +1 -1
  1010. package/util/ApplyValueTransformers.js +1 -0
  1011. package/util/ApplyValueTransformers.js.map +1 -1
  1012. package/util/DateUtils.js +1 -0
  1013. package/util/DateUtils.js.map +1 -1
  1014. package/util/DepGraph.js +1 -0
  1015. package/util/DepGraph.js.map +1 -1
  1016. package/util/DirectoryExportedClassesLoader.js +1 -0
  1017. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1018. package/util/ObjectUtils.js +1 -0
  1019. package/util/ObjectUtils.js.map +1 -1
  1020. package/util/OrmUtils.d.ts +1 -1
  1021. package/util/OrmUtils.js +2 -1
  1022. package/util/OrmUtils.js.map +1 -1
  1023. package/util/RandomGenerator.js +1 -0
  1024. package/util/RandomGenerator.js.map +1 -1
  1025. package/util/StringUtils.js +1 -0
  1026. package/util/StringUtils.js.map +1 -1
  1027. package/util/VersionUtils.js +1 -0
  1028. package/util/VersionUtils.js.map +1 -1
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=NativescriptConnectionOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=OracleConnectionCredentialsOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=OracleConnectionOptions.js.map
@@ -153,7 +153,7 @@ export declare class OracleDriver implements Driver {
153
153
  /**
154
154
  * Normalizes "default" value of the column.
155
155
  */
156
- normalizeDefault(columnMetadata: ColumnMetadata): string;
156
+ normalizeDefault(columnMetadata: ColumnMetadata): string | undefined;
157
157
  /**
158
158
  * Normalizes "isUnique" value of the column.
159
159
  */
@@ -428,6 +428,9 @@ var OracleDriver = /** @class */ (function () {
428
428
  else if (typeof defaultValue === "string") {
429
429
  return "'" + defaultValue + "'";
430
430
  }
431
+ else if (defaultValue === null) {
432
+ return undefined;
433
+ }
431
434
  else {
432
435
  return defaultValue;
433
436
  }
@@ -538,17 +541,36 @@ var OracleDriver = /** @class */ (function () {
538
541
  var tableColumn = tableColumns.find(function (c) { return c.name === columnMetadata.databaseName; });
539
542
  if (!tableColumn)
540
543
  return false; // we don't need new columns, we only need exist and changed
541
- return tableColumn.name !== columnMetadata.databaseName
544
+ var isColumnChanged = tableColumn.name !== columnMetadata.databaseName
542
545
  || tableColumn.type !== _this.normalizeType(columnMetadata)
543
546
  || tableColumn.length !== columnMetadata.length
544
547
  || tableColumn.precision !== columnMetadata.precision
545
548
  || tableColumn.scale !== columnMetadata.scale
546
- // || tableColumn.comment !== columnMetadata.comment || // todo
547
- || _this.normalizeDefault(columnMetadata) !== tableColumn.default
549
+ // || tableColumn.comment !== columnMetadata.comment
550
+ || tableColumn.default !== _this.normalizeDefault(columnMetadata)
548
551
  || tableColumn.isPrimary !== columnMetadata.isPrimary
549
552
  || tableColumn.isNullable !== columnMetadata.isNullable
550
553
  || tableColumn.isUnique !== _this.normalizeIsUnique(columnMetadata)
551
554
  || (columnMetadata.generationStrategy !== "uuid" && tableColumn.isGenerated !== columnMetadata.isGenerated);
555
+ // DEBUG SECTION
556
+ // if (isColumnChanged) {
557
+ // console.log("table:", columnMetadata.entityMetadata.tableName);
558
+ // console.log("name:", tableColumn.name, columnMetadata.databaseName);
559
+ // console.log("type:", tableColumn.type, this.normalizeType(columnMetadata));
560
+ // console.log("length:", tableColumn.length, columnMetadata.length);
561
+ // console.log("precision:", tableColumn.precision, columnMetadata.precision);
562
+ // console.log("scale:", tableColumn.scale, columnMetadata.scale);
563
+ // console.log("comment:", tableColumn.comment, columnMetadata.comment);
564
+ // console.log("default:", tableColumn.default, this.normalizeDefault(columnMetadata));
565
+ // console.log("enum:", tableColumn.enum && columnMetadata.enum && !OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(val => val + "")));
566
+ // console.log("onUpdate:", tableColumn.onUpdate, columnMetadata.onUpdate);
567
+ // console.log("isPrimary:", tableColumn.isPrimary, columnMetadata.isPrimary);
568
+ // console.log("isNullable:", tableColumn.isNullable, columnMetadata.isNullable);
569
+ // console.log("isUnique:", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));
570
+ // console.log("isGenerated:", tableColumn.isGenerated, columnMetadata.isGenerated);
571
+ // console.log("==========================================");
572
+ // }
573
+ return isColumnChanged;
552
574
  });
553
575
  };
554
576
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/oracle/OracleDriver.ts"],"names":[],"mappings":"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","file":"OracleDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ConnectionIsNotSetError} from \"../../error/ConnectionIsNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {OracleQueryRunner} from \"./OracleQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {OracleConnectionOptions} from \"./OracleConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {OracleConnectionCredentialsOptions} from \"./OracleConnectionCredentialsOptions\";\nimport {DriverUtils} from \"../DriverUtils\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with Oracle RDBMS.\n */\nexport class OracleDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Underlying oracle library.\n */\n oracle: any;\n\n /**\n * Pool for master database.\n */\n master: any;\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = [];\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: OracleConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.techonthenet.com/oracle/datatypes.php\n * @see https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012\n */\n supportedDataTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"long\",\n \"raw\",\n \"long raw\",\n \"number\",\n \"numeric\",\n \"float\",\n \"dec\",\n \"decimal\",\n \"integer\",\n \"int\",\n \"smallint\",\n \"real\",\n \"double precision\",\n \"date\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n \"interval year to month\",\n \"interval day to second\",\n \"bfile\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"rowid\",\n \"urowid\"\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"varchar\",\n \"raw\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"number\",\n \"float\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\"\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"number\"\n ];\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"number\",\n treeLevel: \"number\",\n migrationId: \"number\",\n migrationName: \"varchar2\",\n migrationTimestamp: \"number\",\n cacheId: \"number\",\n cacheIdentifier: \"varchar2\",\n cacheTime: \"number\",\n cacheDuration: \"number\",\n cacheQuery: \"clob\",\n cacheResult: \"clob\",\n metadataType: \"varchar2\",\n metadataDatabase: \"varchar2\",\n metadataSchema: \"varchar2\",\n metadataTable: \"varchar2\",\n metadataName: \"varchar2\",\n metadataValue: \"clob\",\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n \"char\": { length: 1 },\n \"nchar\": { length: 1 },\n \"varchar\": { length: 255 },\n \"varchar2\": { length: 255 },\n \"nvarchar2\": { length: 255 },\n \"raw\": { length: 2000 },\n \"float\": { precision: 126 },\n \"timestamp\": { precision: 6 },\n \"timestamp with time zone\": { precision: 6 },\n \"timestamp with local time zone\": { precision: 6 }\n };\n\n /**\n * Max length allowed by Oracle for aliases.\n * @see https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129\n * > The following list of rules applies to both quoted and nonquoted identifiers unless otherwise indicated\n * > Names must be from 1 to 30 bytes long with these exceptions:\n * > [...]\n *\n * Since Oracle 12.2 (with a compatible driver/client), the limit has been set to 128.\n * @see https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html\n *\n * > If COMPATIBLE is set to a value of 12.2 or higher, then names must be from 1 to 128 bytes long with these exceptions\n */\n maxAliasLength = 30;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as OracleConnectionOptions;\n\n if (this.options.useUTC === true) {\n process.env.ORA_SDTZ = 'UTC';\n }\n // load oracle package\n this.loadDependencies();\n\n // extra oracle setup\n this.oracle.outFormat = this.oracle.OBJECT;\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.sid)\n // throw new DriverOptionNotSetError(\"sid\");\n //\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n this.oracle.fetchAsString = [ this.oracle.CLOB ];\n this.oracle.fetchAsBuffer = [ this.oracle.BLOB ];\n if (this.options.replication) {\n this.slaves = await Promise.all(this.options.replication.slaves.map(slave => {\n return this.createPool(this.options, slave);\n }));\n this.master = await this.createPool(this.options, this.options.replication.master);\n this.database = this.options.replication.master.database;\n\n } else {\n this.master = await this.createPool(this.options, this.options);\n this.database = this.options.database;\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"oracle\"));\n\n await this.closePool(this.master);\n await Promise.all(this.slaves.map(slave => this.closePool(slave)));\n this.master = undefined;\n this.slaves = [];\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new OracleQueryRunner(this, mode);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(key => {\n if (typeof nativeParameters[key] === \"boolean\")\n return nativeParameters[key] ? 1 : 0;\n return nativeParameters[key];\n });\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string) => {\n let value: any;\n let isArray = false;\n if (key.substr(0, 4) === \":...\") {\n isArray = true;\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (isArray) {\n return value.map((v: any, index: number) => {\n escapedParameters.push(v);\n return `:${key.substr(4)}${index}`;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else if (typeof value === \"boolean\") {\n return value ? 1 : 0;\n\n } else {\n escapedParameters.push(value);\n return key;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`;\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * Oracle does not support table schemas. One user can have only one schema.\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean) {\n return value ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n if (typeof value === \"string\")\n value = value.replace(/[^0-9-]/g, \"\");\n return () => `TO_DATE('${DateUtils.mixedDateToDateString(value)}', 'YYYY-MM-DD')`;\n\n } else if (columnMetadata.type === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n return DateUtils.mixedDateToDate(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean) {\n value = !!value;\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"json\") {\n value = JSON.parse(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number|string, precision?: number|null, scale?: number, isArray?: boolean }): string {\n if (column.type === Number || column.type === Boolean || column.type === \"numeric\"\n || column.type === \"dec\" || column.type === \"decimal\" || column.type === \"int\"\n || column.type === \"integer\" || column.type === \"smallint\") {\n return \"number\";\n\n } else if (column.type === \"real\" || column.type === \"double precision\") {\n return \"float\";\n\n } else if (column.type === String || column.type === \"varchar\") {\n return \"varchar2\";\n\n } else if (column.type === Date) {\n return \"timestamp\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar2\";\n\n } else if (column.type === \"simple-array\") {\n return \"clob\";\n\n } else if (column.type === \"simple-json\") {\n return \"clob\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n const defaultValue = columnMetadata.default;\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"1\" : \"0\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(uq => uq.columns.length === 1 && uq.columns[0] === column);\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"varchar2\":\n case \"nvarchar2\":\n return \"255\";\n case \"raw\":\n return \"2000\";\n case \"uuid\":\n return \"36\";\n default:\n return \"\";\n }\n }\n\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because in Oracle column length is required for some data types.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += \"(\" + column.precision + \",\" + column.scale + \")\";\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += \"(\" + column.precision + \")\";\n }\n\n if (column.type === \"timestamp with time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH TIME ZONE\";\n\n } else if (column.type === \"timestamp with local time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH LOCAL TIME ZONE\";\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return new Promise<any>((ok, fail) => {\n this.master.getConnection((err: any, connection: any, release: Function) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length)\n return this.obtainMasterConnection();\n\n return new Promise<any>((ok, fail) => {\n const random = Math.floor(Math.random() * this.slaves.length);\n\n this.slaves[random].getConnection((err: any, connection: any) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult)\n return undefined;\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key);\n if (column) {\n OrmUtils.mergeDeep(map, column.createValueMap(this.prepareHydratedValue(insertResult[key], column)));\n }\n return map;\n }, {} as ObjectLiteral);\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || tableColumn.length !== columnMetadata.length\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n // || tableColumn.comment !== columnMetadata.comment || // todo\n || this.normalizeDefault(columnMetadata) !== tableColumn.default\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return true;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \":\" + (index + 1);\n }\n\n /**\n * Converts column type in to native oracle type.\n */\n columnTypeToNativeParameter(type: ColumnType): any {\n switch (this.normalizeType({ type: type as any })) {\n case \"number\":\n case \"numeric\":\n case \"int\":\n case \"integer\":\n case \"smallint\":\n case \"dec\":\n case \"decimal\":\n return this.oracle.NUMBER;\n case \"char\":\n case \"nchar\":\n case \"nvarchar2\":\n case \"varchar2\":\n return this.oracle.STRING;\n case \"blob\":\n return this.oracle.BLOB;\n case \"clob\":\n return this.oracle.CLOB;\n case \"date\":\n case \"timestamp\":\n case \"timestamp with time zone\":\n case \"timestamp with local time zone\":\n return this.oracle.DATE;\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n try {\n this.oracle = PlatformTools.load(\"oracledb\");\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Oracle\", \"oracledb\");\n }\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(options: OracleConnectionOptions, credentials: OracleConnectionCredentialsOptions): Promise<any> {\n\n credentials = Object.assign({}, credentials, DriverUtils.buildDriverOptions(credentials)); // todo: do it better way\n\n // build connection options for the driver\n const connectionOptions = Object.assign({}, {\n user: credentials.username,\n password: credentials.password,\n connectString: credentials.connectString ? credentials.connectString : credentials.host + \":\" + credentials.port + \"/\" + credentials.sid,\n }, options.extra || {});\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n this.oracle.createPool(connectionOptions, (err: any, pool: any) => {\n if (err)\n return fail(err);\n ok(pool);\n });\n });\n\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => err ? fail(err) : ok());\n pool = undefined;\n });\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/oracle/OracleDriver.ts"],"names":[],"mappings":"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","file":"OracleDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ConnectionIsNotSetError} from \"../../error/ConnectionIsNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {OracleQueryRunner} from \"./OracleQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {OracleConnectionOptions} from \"./OracleConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {OracleConnectionCredentialsOptions} from \"./OracleConnectionCredentialsOptions\";\nimport {DriverUtils} from \"../DriverUtils\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with Oracle RDBMS.\n */\nexport class OracleDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Underlying oracle library.\n */\n oracle: any;\n\n /**\n * Pool for master database.\n */\n master: any;\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = [];\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: OracleConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.techonthenet.com/oracle/datatypes.php\n * @see https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012\n */\n supportedDataTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"long\",\n \"raw\",\n \"long raw\",\n \"number\",\n \"numeric\",\n \"float\",\n \"dec\",\n \"decimal\",\n \"integer\",\n \"int\",\n \"smallint\",\n \"real\",\n \"double precision\",\n \"date\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n \"interval year to month\",\n \"interval day to second\",\n \"bfile\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"rowid\",\n \"urowid\"\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"varchar\",\n \"raw\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"number\",\n \"float\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\"\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"number\"\n ];\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"number\",\n treeLevel: \"number\",\n migrationId: \"number\",\n migrationName: \"varchar2\",\n migrationTimestamp: \"number\",\n cacheId: \"number\",\n cacheIdentifier: \"varchar2\",\n cacheTime: \"number\",\n cacheDuration: \"number\",\n cacheQuery: \"clob\",\n cacheResult: \"clob\",\n metadataType: \"varchar2\",\n metadataDatabase: \"varchar2\",\n metadataSchema: \"varchar2\",\n metadataTable: \"varchar2\",\n metadataName: \"varchar2\",\n metadataValue: \"clob\",\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n \"char\": { length: 1 },\n \"nchar\": { length: 1 },\n \"varchar\": { length: 255 },\n \"varchar2\": { length: 255 },\n \"nvarchar2\": { length: 255 },\n \"raw\": { length: 2000 },\n \"float\": { precision: 126 },\n \"timestamp\": { precision: 6 },\n \"timestamp with time zone\": { precision: 6 },\n \"timestamp with local time zone\": { precision: 6 }\n };\n\n /**\n * Max length allowed by Oracle for aliases.\n * @see https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129\n * > The following list of rules applies to both quoted and nonquoted identifiers unless otherwise indicated\n * > Names must be from 1 to 30 bytes long with these exceptions:\n * > [...]\n *\n * Since Oracle 12.2 (with a compatible driver/client), the limit has been set to 128.\n * @see https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html\n *\n * > If COMPATIBLE is set to a value of 12.2 or higher, then names must be from 1 to 128 bytes long with these exceptions\n */\n maxAliasLength = 30;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as OracleConnectionOptions;\n\n if (this.options.useUTC === true) {\n process.env.ORA_SDTZ = 'UTC';\n }\n // load oracle package\n this.loadDependencies();\n\n // extra oracle setup\n this.oracle.outFormat = this.oracle.OBJECT;\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.sid)\n // throw new DriverOptionNotSetError(\"sid\");\n //\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n this.oracle.fetchAsString = [ this.oracle.CLOB ];\n this.oracle.fetchAsBuffer = [ this.oracle.BLOB ];\n if (this.options.replication) {\n this.slaves = await Promise.all(this.options.replication.slaves.map(slave => {\n return this.createPool(this.options, slave);\n }));\n this.master = await this.createPool(this.options, this.options.replication.master);\n this.database = this.options.replication.master.database;\n\n } else {\n this.master = await this.createPool(this.options, this.options);\n this.database = this.options.database;\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"oracle\"));\n\n await this.closePool(this.master);\n await Promise.all(this.slaves.map(slave => this.closePool(slave)));\n this.master = undefined;\n this.slaves = [];\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new OracleQueryRunner(this, mode);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(key => {\n if (typeof nativeParameters[key] === \"boolean\")\n return nativeParameters[key] ? 1 : 0;\n return nativeParameters[key];\n });\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string) => {\n let value: any;\n let isArray = false;\n if (key.substr(0, 4) === \":...\") {\n isArray = true;\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (isArray) {\n return value.map((v: any, index: number) => {\n escapedParameters.push(v);\n return `:${key.substr(4)}${index}`;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else if (typeof value === \"boolean\") {\n return value ? 1 : 0;\n\n } else {\n escapedParameters.push(value);\n return key;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`;\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * Oracle does not support table schemas. One user can have only one schema.\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean) {\n return value ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n if (typeof value === \"string\")\n value = value.replace(/[^0-9-]/g, \"\");\n return () => `TO_DATE('${DateUtils.mixedDateToDateString(value)}', 'YYYY-MM-DD')`;\n\n } else if (columnMetadata.type === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n return DateUtils.mixedDateToDate(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean) {\n value = !!value;\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"json\") {\n value = JSON.parse(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number|string, precision?: number|null, scale?: number, isArray?: boolean }): string {\n if (column.type === Number || column.type === Boolean || column.type === \"numeric\"\n || column.type === \"dec\" || column.type === \"decimal\" || column.type === \"int\"\n || column.type === \"integer\" || column.type === \"smallint\") {\n return \"number\";\n\n } else if (column.type === \"real\" || column.type === \"double precision\") {\n return \"float\";\n\n } else if (column.type === String || column.type === \"varchar\") {\n return \"varchar2\";\n\n } else if (column.type === Date) {\n return \"timestamp\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar2\";\n\n } else if (column.type === \"simple-array\") {\n return \"clob\";\n\n } else if (column.type === \"simple-json\") {\n return \"clob\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\n const defaultValue = columnMetadata.default;\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"1\" : \"0\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else if (defaultValue === null) {\n return undefined;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(uq => uq.columns.length === 1 && uq.columns[0] === column);\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"varchar2\":\n case \"nvarchar2\":\n return \"255\";\n case \"raw\":\n return \"2000\";\n case \"uuid\":\n return \"36\";\n default:\n return \"\";\n }\n }\n\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because in Oracle column length is required for some data types.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += \"(\" + column.precision + \",\" + column.scale + \")\";\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += \"(\" + column.precision + \")\";\n }\n\n if (column.type === \"timestamp with time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH TIME ZONE\";\n\n } else if (column.type === \"timestamp with local time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH LOCAL TIME ZONE\";\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return new Promise<any>((ok, fail) => {\n this.master.getConnection((err: any, connection: any, release: Function) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length)\n return this.obtainMasterConnection();\n\n return new Promise<any>((ok, fail) => {\n const random = Math.floor(Math.random() * this.slaves.length);\n\n this.slaves[random].getConnection((err: any, connection: any) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult)\n return undefined;\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key);\n if (column) {\n OrmUtils.mergeDeep(map, column.createValueMap(this.prepareHydratedValue(insertResult[key], column)));\n }\n return map;\n }, {} as ObjectLiteral);\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n const isColumnChanged = tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || tableColumn.length !== columnMetadata.length\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n // || tableColumn.comment !== columnMetadata.comment\n || tableColumn.default !== this.normalizeDefault(columnMetadata)\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n\n // DEBUG SECTION\n // if (isColumnChanged) {\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, columnMetadata.length);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"comment:\", tableColumn.comment, columnMetadata.comment);\n // console.log(\"default:\", tableColumn.default, this.normalizeDefault(columnMetadata));\n // console.log(\"enum:\", tableColumn.enum && columnMetadata.enum && !OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(val => val + \"\")));\n // console.log(\"onUpdate:\", tableColumn.onUpdate, columnMetadata.onUpdate);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log(\"==========================================\");\n // }\n\n return isColumnChanged\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return true;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \":\" + (index + 1);\n }\n\n /**\n * Converts column type in to native oracle type.\n */\n columnTypeToNativeParameter(type: ColumnType): any {\n switch (this.normalizeType({ type: type as any })) {\n case \"number\":\n case \"numeric\":\n case \"int\":\n case \"integer\":\n case \"smallint\":\n case \"dec\":\n case \"decimal\":\n return this.oracle.NUMBER;\n case \"char\":\n case \"nchar\":\n case \"nvarchar2\":\n case \"varchar2\":\n return this.oracle.STRING;\n case \"blob\":\n return this.oracle.BLOB;\n case \"clob\":\n return this.oracle.CLOB;\n case \"date\":\n case \"timestamp\":\n case \"timestamp with time zone\":\n case \"timestamp with local time zone\":\n return this.oracle.DATE;\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n try {\n this.oracle = PlatformTools.load(\"oracledb\");\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Oracle\", \"oracledb\");\n }\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(options: OracleConnectionOptions, credentials: OracleConnectionCredentialsOptions): Promise<any> {\n\n credentials = Object.assign({}, credentials, DriverUtils.buildDriverOptions(credentials)); // todo: do it better way\n\n // build connection options for the driver\n const connectionOptions = Object.assign({}, {\n user: credentials.username,\n password: credentials.password,\n connectString: credentials.connectString ? credentials.connectString : credentials.host + \":\" + credentials.port + \"/\" + credentials.sid,\n }, options.extra || {});\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n this.oracle.createPool(connectionOptions, (err: any, pool: any) => {\n if (err)\n return fail(err);\n ok(pool);\n });\n });\n\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => err ? fail(err) : ok());\n pool = undefined;\n });\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1864,7 +1864,7 @@ var OracleQueryRunner = /** @class */ (function (_super) {
1864
1864
  referencedTableName: dbForeignKey["REFERENCED_TABLE_NAME"],
1865
1865
  referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["REFERENCED_COLUMN_NAME"]; }),
1866
1866
  onDelete: dbForeignKey["ON_DELETE"],
1867
- onUpdate: "NO ACTION",
1867
+ onUpdate: "NO ACTION", // Oracle does not have onUpdate option in FK's, but we need it for proper synchronization
1868
1868
  });
1869
1869
  });
1870
1870
  // create TableIndex objects from the loaded indices