typeorm 0.3.0-rc.9 → 0.3.0

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 (2670) hide show
  1. package/README.md +175 -119
  2. package/browser/cache/DbQueryResultCache.d.ts +6 -4
  3. package/browser/cache/DbQueryResultCache.js +180 -187
  4. package/browser/cache/DbQueryResultCache.js.map +1 -1
  5. package/browser/cache/QueryResultCache.js +1 -1
  6. package/browser/cache/QueryResultCache.js.map +1 -1
  7. package/browser/cache/QueryResultCacheFactory.d.ts +3 -3
  8. package/browser/cache/QueryResultCacheFactory.js +19 -15
  9. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  10. package/browser/cache/QueryResultCacheOptions.js +1 -1
  11. package/browser/cache/QueryResultCacheOptions.js.map +1 -1
  12. package/browser/cache/RedisQueryResultCache.d.ts +3 -3
  13. package/browser/cache/RedisQueryResultCache.js +104 -127
  14. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  15. package/browser/common/DeepPartial.d.ts +3 -3
  16. package/browser/common/DeepPartial.js +1 -1
  17. package/browser/common/DeepPartial.js.map +1 -1
  18. package/browser/common/EntityTarget.d.ts +9 -0
  19. package/browser/common/EntityTarget.js +3 -0
  20. package/browser/common/EntityTarget.js.map +1 -0
  21. package/browser/common/MixedList.d.ts +8 -0
  22. package/browser/common/MixedList.js +3 -0
  23. package/browser/common/MixedList.js.map +1 -0
  24. package/browser/common/NonNever.d.ts +6 -0
  25. package/browser/common/NonNever.js +3 -0
  26. package/browser/common/NonNever.js.map +1 -0
  27. package/browser/common/ObjectLiteral.js +1 -1
  28. package/browser/common/ObjectLiteral.js.map +1 -1
  29. package/browser/common/ObjectType.js +1 -1
  30. package/browser/common/ObjectType.js.map +1 -1
  31. package/browser/common/RelationType.d.ts +14 -0
  32. package/browser/common/RelationType.js +3 -0
  33. package/browser/common/RelationType.js.map +1 -0
  34. package/browser/connection/BaseConnectionOptions.d.ts +4 -144
  35. package/browser/connection/BaseConnectionOptions.js +1 -1
  36. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  37. package/browser/connection/Connection.d.ts +4 -219
  38. package/browser/connection/Connection.js +5 -531
  39. package/browser/connection/Connection.js.map +1 -1
  40. package/browser/connection/ConnectionManager.d.ts +11 -5
  41. package/browser/connection/ConnectionManager.js +26 -26
  42. package/browser/connection/ConnectionManager.js.map +1 -1
  43. package/browser/connection/ConnectionMetadataBuilder.d.ts +6 -6
  44. package/browser/connection/ConnectionMetadataBuilder.js +37 -31
  45. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  46. package/browser/connection/ConnectionOptions.d.ts +4 -14
  47. package/browser/connection/ConnectionOptions.js +1 -1
  48. package/browser/connection/ConnectionOptions.js.map +1 -1
  49. package/browser/connection/ConnectionOptionsReader.d.ts +8 -8
  50. package/browser/connection/ConnectionOptionsReader.js +145 -169
  51. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  52. package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +8 -2
  53. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +68 -49
  54. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  55. package/browser/connection/options-reader/ConnectionOptionsXmlReader.d.ts +4 -2
  56. package/browser/connection/options-reader/ConnectionOptionsXmlReader.js +46 -42
  57. package/browser/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  58. package/browser/connection/options-reader/ConnectionOptionsYmlReader.d.ts +4 -2
  59. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +14 -11
  60. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  61. package/browser/container.d.ts +12 -0
  62. package/browser/container.js +19 -11
  63. package/browser/container.js.map +1 -1
  64. package/browser/data-source/BaseDataSourceOptions.d.ts +179 -0
  65. package/browser/data-source/BaseDataSourceOptions.js +3 -0
  66. package/browser/data-source/BaseDataSourceOptions.js.map +1 -0
  67. package/browser/data-source/DataSource.d.ts +246 -0
  68. package/browser/data-source/DataSource.js +448 -0
  69. package/browser/data-source/DataSource.js.map +1 -0
  70. package/browser/data-source/DataSourceOptions.d.ts +21 -0
  71. package/browser/data-source/DataSourceOptions.js +3 -0
  72. package/browser/data-source/DataSourceOptions.js.map +1 -0
  73. package/browser/data-source/index.d.ts +2 -0
  74. package/browser/data-source/index.js +4 -0
  75. package/browser/data-source/index.js.map +1 -0
  76. package/browser/decorator/Check.d.ts +2 -2
  77. package/browser/decorator/Check.js +9 -6
  78. package/browser/decorator/Check.js.map +1 -1
  79. package/browser/decorator/EntityRepository.d.ts +3 -1
  80. package/browser/decorator/EntityRepository.js +3 -1
  81. package/browser/decorator/EntityRepository.js.map +1 -1
  82. package/browser/decorator/Exclusion.d.ts +2 -2
  83. package/browser/decorator/Exclusion.js +9 -6
  84. package/browser/decorator/Exclusion.js.map +1 -1
  85. package/browser/decorator/Generated.d.ts +1 -1
  86. package/browser/decorator/Generated.js +3 -4
  87. package/browser/decorator/Generated.js.map +1 -1
  88. package/browser/decorator/Index.d.ts +10 -10
  89. package/browser/decorator/Index.js +28 -8
  90. package/browser/decorator/Index.js.map +1 -1
  91. package/browser/decorator/Unique.d.ts +7 -6
  92. package/browser/decorator/Unique.js +36 -7
  93. package/browser/decorator/Unique.js.map +1 -1
  94. package/browser/decorator/columns/Column.d.ts +13 -13
  95. package/browser/decorator/columns/Column.js +24 -12
  96. package/browser/decorator/columns/Column.js.map +1 -1
  97. package/browser/decorator/columns/CreateDateColumn.d.ts +2 -2
  98. package/browser/decorator/columns/CreateDateColumn.js +2 -2
  99. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  100. package/browser/decorator/columns/DeleteDateColumn.d.ts +6 -0
  101. package/browser/decorator/columns/DeleteDateColumn.js +17 -0
  102. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -0
  103. package/browser/decorator/columns/ObjectIdColumn.d.ts +2 -2
  104. package/browser/decorator/columns/ObjectIdColumn.js +2 -2
  105. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  106. package/browser/decorator/columns/PrimaryColumn.d.ts +11 -3
  107. package/browser/decorator/columns/PrimaryColumn.js +9 -5
  108. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  109. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +7 -5
  110. package/browser/decorator/columns/PrimaryGeneratedColumn.js +9 -8
  111. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  112. package/browser/decorator/columns/UpdateDateColumn.d.ts +2 -2
  113. package/browser/decorator/columns/UpdateDateColumn.js +2 -2
  114. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  115. package/browser/decorator/columns/VersionColumn.d.ts +2 -2
  116. package/browser/decorator/columns/VersionColumn.js +2 -2
  117. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  118. package/browser/decorator/columns/ViewColumn.d.ts +2 -1
  119. package/browser/decorator/columns/ViewColumn.js +3 -3
  120. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  121. package/browser/decorator/entity/ChildEntity.d.ts +1 -1
  122. package/browser/decorator/entity/ChildEntity.js +3 -3
  123. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  124. package/browser/decorator/entity/Entity.d.ts +3 -3
  125. package/browser/decorator/entity/Entity.js +7 -4
  126. package/browser/decorator/entity/Entity.js.map +1 -1
  127. package/browser/decorator/entity/TableInheritance.d.ts +2 -2
  128. package/browser/decorator/entity/TableInheritance.js +6 -2
  129. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  130. package/browser/decorator/entity-view/ViewEntity.d.ts +2 -2
  131. package/browser/decorator/entity-view/ViewEntity.js +10 -4
  132. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  133. package/browser/decorator/listeners/AfterInsert.d.ts +1 -1
  134. package/browser/decorator/listeners/AfterInsert.js +2 -2
  135. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  136. package/browser/decorator/listeners/AfterLoad.d.ts +1 -1
  137. package/browser/decorator/listeners/AfterLoad.js +2 -2
  138. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  139. package/browser/decorator/listeners/AfterRecover.d.ts +4 -0
  140. package/browser/decorator/listeners/AfterRecover.js +16 -0
  141. package/browser/decorator/listeners/AfterRecover.js.map +1 -0
  142. package/browser/decorator/listeners/AfterRemove.d.ts +1 -1
  143. package/browser/decorator/listeners/AfterRemove.js +2 -2
  144. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  145. package/browser/decorator/listeners/AfterSoftRemove.d.ts +4 -0
  146. package/browser/decorator/listeners/AfterSoftRemove.js +16 -0
  147. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -0
  148. package/browser/decorator/listeners/AfterUpdate.d.ts +1 -1
  149. package/browser/decorator/listeners/AfterUpdate.js +2 -2
  150. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  151. package/browser/decorator/listeners/BeforeInsert.d.ts +1 -1
  152. package/browser/decorator/listeners/BeforeInsert.js +2 -2
  153. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  154. package/browser/decorator/listeners/BeforeRecover.d.ts +4 -0
  155. package/browser/decorator/listeners/BeforeRecover.js +16 -0
  156. package/browser/decorator/listeners/BeforeRecover.js.map +1 -0
  157. package/browser/decorator/listeners/BeforeRemove.d.ts +1 -1
  158. package/browser/decorator/listeners/BeforeRemove.js +2 -2
  159. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  160. package/browser/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
  161. package/browser/decorator/listeners/BeforeSoftRemove.js +16 -0
  162. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -0
  163. package/browser/decorator/listeners/BeforeUpdate.d.ts +1 -1
  164. package/browser/decorator/listeners/BeforeUpdate.js +2 -2
  165. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  166. package/browser/decorator/listeners/EventSubscriber.d.ts +1 -1
  167. package/browser/decorator/listeners/EventSubscriber.js +2 -2
  168. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  169. package/browser/decorator/options/ColumnCommonOptions.d.ts +1 -1
  170. package/browser/decorator/options/ColumnCommonOptions.js +1 -1
  171. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  172. package/browser/decorator/options/ColumnEmbeddedOptions.d.ts +6 -0
  173. package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
  174. package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  175. package/browser/decorator/options/ColumnEnumOptions.js +1 -1
  176. package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
  177. package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
  178. package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
  179. package/browser/decorator/options/ColumnNumericOptions.js +1 -1
  180. package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
  181. package/browser/decorator/options/ColumnOptions.d.ts +5 -1
  182. package/browser/decorator/options/ColumnOptions.js +1 -1
  183. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  184. package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
  185. package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  186. package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
  187. package/browser/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  188. package/browser/decorator/options/EntityOptions.js +1 -1
  189. package/browser/decorator/options/EntityOptions.js.map +1 -1
  190. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  191. package/browser/decorator/options/IndexOptions.js +1 -1
  192. package/browser/decorator/options/IndexOptions.js.map +1 -1
  193. package/browser/decorator/options/JoinColumnOptions.js +1 -1
  194. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  195. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
  196. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  197. package/browser/decorator/options/JoinTableOptions.js +1 -1
  198. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  199. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  200. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  201. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  202. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
  203. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  204. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
  205. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  206. package/browser/decorator/options/RelationOptions.d.ts +12 -2
  207. package/browser/decorator/options/RelationOptions.js +1 -1
  208. package/browser/decorator/options/RelationOptions.js.map +1 -1
  209. package/browser/decorator/options/SpatialColumnOptions.js +1 -1
  210. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  211. package/browser/decorator/options/TransactionOptions.js +1 -1
  212. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  213. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  214. package/browser/decorator/options/UniqueOptions.js +3 -0
  215. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  216. package/browser/decorator/options/ValueTransformer.js +1 -1
  217. package/browser/decorator/options/ValueTransformer.js.map +1 -1
  218. package/browser/decorator/options/ViewColumnOptions.d.ts +15 -0
  219. package/browser/decorator/options/ViewColumnOptions.js +3 -0
  220. package/browser/decorator/options/ViewColumnOptions.js.map +1 -0
  221. package/browser/decorator/options/ViewEntityOptions.d.ts +7 -2
  222. package/browser/decorator/options/ViewEntityOptions.js +1 -1
  223. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  224. package/browser/decorator/relations/JoinColumn.d.ts +4 -4
  225. package/browser/decorator/relations/JoinColumn.js +6 -4
  226. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  227. package/browser/decorator/relations/JoinTable.d.ts +4 -4
  228. package/browser/decorator/relations/JoinTable.js +13 -4
  229. package/browser/decorator/relations/JoinTable.js.map +1 -1
  230. package/browser/decorator/relations/ManyToMany.d.ts +4 -3
  231. package/browser/decorator/relations/ManyToMany.js +12 -8
  232. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  233. package/browser/decorator/relations/ManyToOne.d.ts +10 -9
  234. package/browser/decorator/relations/ManyToOne.js +17 -13
  235. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  236. package/browser/decorator/relations/OneToMany.d.ts +6 -4
  237. package/browser/decorator/relations/OneToMany.js +13 -9
  238. package/browser/decorator/relations/OneToMany.js.map +1 -1
  239. package/browser/decorator/relations/OneToOne.d.ts +4 -3
  240. package/browser/decorator/relations/OneToOne.js +12 -8
  241. package/browser/decorator/relations/OneToOne.js.map +1 -1
  242. package/browser/decorator/relations/RelationCount.d.ts +2 -2
  243. package/browser/decorator/relations/RelationCount.js +2 -2
  244. package/browser/decorator/relations/RelationCount.js.map +1 -1
  245. package/browser/decorator/relations/RelationId.d.ts +2 -2
  246. package/browser/decorator/relations/RelationId.js +2 -2
  247. package/browser/decorator/relations/RelationId.js.map +1 -1
  248. package/browser/decorator/tree/Tree.d.ts +2 -1
  249. package/browser/decorator/tree/Tree.js +4 -3
  250. package/browser/decorator/tree/Tree.js.map +1 -1
  251. package/browser/decorator/tree/TreeChildren.d.ts +2 -2
  252. package/browser/decorator/tree/TreeChildren.js +11 -6
  253. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  254. package/browser/decorator/tree/TreeLevelColumn.d.ts +1 -1
  255. package/browser/decorator/tree/TreeLevelColumn.js +2 -2
  256. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  257. package/browser/decorator/tree/TreeParent.d.ts +4 -1
  258. package/browser/decorator/tree/TreeParent.js +13 -6
  259. package/browser/decorator/tree/TreeParent.js.map +1 -1
  260. package/browser/driver/Driver.d.ts +39 -9
  261. package/browser/driver/Driver.js +1 -1
  262. package/browser/driver/Driver.js.map +1 -1
  263. package/browser/driver/DriverFactory.d.ts +2 -2
  264. package/browser/driver/DriverFactory.js +40 -13
  265. package/browser/driver/DriverFactory.js.map +1 -1
  266. package/browser/driver/DriverUtils.d.ts +39 -10
  267. package/browser/driver/DriverUtils.js +179 -55
  268. package/browser/driver/DriverUtils.js.map +1 -1
  269. package/browser/driver/Query.d.ts +1 -0
  270. package/browser/driver/Query.js +4 -5
  271. package/browser/driver/Query.js.map +1 -1
  272. package/browser/driver/SqlInMemory.js +3 -5
  273. package/browser/driver/SqlInMemory.js.map +1 -1
  274. package/browser/driver/aurora-mysql/AuroraMysqlConnection.d.ts +13 -0
  275. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js +15 -0
  276. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -0
  277. package/browser/driver/{aurora-data-api/AuroraDataApiConnectionCredentialsOptions.d.ts → aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts} +1 -1
  278. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -0
  279. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
  280. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +34 -0
  281. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +3 -0
  282. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -0
  283. package/browser/driver/{aurora-data-api/AuroraDataApiDriver.d.ts → aurora-mysql/AuroraMysqlDriver.d.ts} +49 -18
  284. package/browser/driver/{aurora-data-api/AuroraDataApiDriver.js → aurora-mysql/AuroraMysqlDriver.js} +322 -211
  285. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
  286. package/{driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts → browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts} +27 -18
  287. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1677 -0
  288. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
  289. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +34 -0
  290. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +3 -0
  291. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -0
  292. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +70 -0
  293. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +99 -0
  294. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
  295. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +48 -0
  296. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +135 -0
  297. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
  298. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +55 -0
  299. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +3 -0
  300. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
  301. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +59 -0
  302. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +149 -0
  303. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
  304. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +32 -0
  305. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +124 -0
  306. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
  307. package/browser/driver/capacitor/CapacitorConnectionOptions.d.ts +30 -0
  308. package/browser/driver/capacitor/CapacitorConnectionOptions.js +3 -0
  309. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -0
  310. package/browser/driver/capacitor/CapacitorDriver.d.ts +27 -0
  311. package/browser/driver/capacitor/CapacitorDriver.js +79 -0
  312. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -0
  313. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +33 -0
  314. package/browser/driver/capacitor/CapacitorQueryRunner.js +94 -0
  315. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
  316. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
  317. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  318. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +12 -2
  319. package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
  320. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  321. package/browser/driver/cockroachdb/CockroachDriver.d.ts +49 -8
  322. package/browser/driver/cockroachdb/CockroachDriver.js +321 -263
  323. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  324. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +22 -18
  325. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1576 -2026
  326. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  327. package/browser/driver/cordova/CordovaConnectionOptions.d.ts +7 -2
  328. package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
  329. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  330. package/browser/driver/cordova/CordovaDriver.d.ts +5 -4
  331. package/browser/driver/cordova/CordovaDriver.js +33 -49
  332. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  333. package/browser/driver/cordova/CordovaQueryRunner.d.ts +27 -1
  334. package/browser/driver/cordova/CordovaQueryRunner.js +100 -53
  335. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  336. package/browser/driver/expo/ExpoConnectionOptions.d.ts +6 -2
  337. package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
  338. package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
  339. package/browser/driver/expo/ExpoDriver.d.ts +4 -7
  340. package/browser/driver/expo/ExpoDriver.js +32 -53
  341. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  342. package/browser/driver/expo/ExpoQueryRunner.d.ts +9 -1
  343. package/browser/driver/expo/ExpoQueryRunner.js +123 -94
  344. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  345. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +20 -3
  346. package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
  347. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  348. package/browser/driver/mongodb/MongoDriver.d.ts +36 -12
  349. package/browser/driver/mongodb/MongoDriver.js +145 -99
  350. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  351. package/browser/driver/mongodb/MongoQueryRunner.d.ts +27 -8
  352. package/browser/driver/mongodb/MongoQueryRunner.js +330 -748
  353. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  354. package/browser/driver/mongodb/typings.d.ts +12 -11
  355. package/browser/driver/mongodb/typings.js.map +1 -1
  356. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  357. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
  358. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  359. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +8 -2
  360. package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
  361. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  362. package/browser/driver/mysql/MysqlDriver.d.ts +48 -11
  363. package/browser/driver/mysql/MysqlDriver.js +440 -271
  364. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  365. package/browser/driver/mysql/MysqlQueryRunner.d.ts +25 -15
  366. package/browser/driver/mysql/MysqlQueryRunner.js +1552 -1751
  367. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  368. package/browser/driver/nativescript/NativescriptConnectionOptions.d.ts +27 -2
  369. package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
  370. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  371. package/browser/driver/nativescript/NativescriptDriver.d.ts +5 -4
  372. package/browser/driver/nativescript/NativescriptDriver.js +36 -43
  373. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  374. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +9 -1
  375. package/browser/driver/nativescript/NativescriptQueryRunner.js +54 -39
  376. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  377. package/browser/driver/oracle/OracleConnectionCredentialsOptions.d.ts +4 -0
  378. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
  379. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  380. package/browser/driver/oracle/OracleConnectionOptions.d.ts +11 -2
  381. package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
  382. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  383. package/browser/driver/oracle/OracleDriver.d.ts +31 -7
  384. package/browser/driver/oracle/OracleDriver.js +328 -234
  385. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  386. package/browser/driver/oracle/OracleQueryRunner.d.ts +23 -9
  387. package/browser/driver/oracle/OracleQueryRunner.js +1346 -1670
  388. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  389. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  390. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
  391. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  392. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +34 -2
  393. package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
  394. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  395. package/browser/driver/postgres/PostgresDriver.d.ts +81 -19
  396. package/browser/driver/postgres/PostgresDriver.js +618 -439
  397. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  398. package/browser/driver/postgres/PostgresQueryRunner.d.ts +48 -26
  399. package/browser/driver/postgres/PostgresQueryRunner.js +2128 -2286
  400. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  401. package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +7 -2
  402. package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
  403. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  404. package/browser/driver/react-native/ReactNativeDriver.d.ts +4 -3
  405. package/browser/driver/react-native/ReactNativeDriver.js +31 -42
  406. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  407. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +9 -1
  408. package/browser/driver/react-native/ReactNativeQueryRunner.js +62 -53
  409. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  410. package/browser/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
  411. package/browser/driver/sap/SapConnectionCredentialsOptions.js +3 -0
  412. package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
  413. package/browser/driver/sap/SapConnectionOptions.d.ts +59 -0
  414. package/browser/driver/sap/SapConnectionOptions.js +3 -0
  415. package/browser/driver/sap/SapConnectionOptions.js.map +1 -0
  416. package/browser/driver/sap/SapDriver.d.ts +214 -0
  417. package/browser/driver/sap/SapDriver.js +641 -0
  418. package/browser/driver/sap/SapDriver.js.map +1 -0
  419. package/browser/driver/sap/SapQueryRunner.d.ts +342 -0
  420. package/browser/driver/sap/SapQueryRunner.js +1987 -0
  421. package/browser/driver/sap/SapQueryRunner.js.map +1 -0
  422. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +7 -2
  423. package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
  424. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  425. package/browser/driver/sqlite/SqliteDriver.d.ts +18 -4
  426. package/browser/driver/sqlite/SqliteDriver.js +104 -83
  427. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  428. package/browser/driver/sqlite/SqliteQueryRunner.d.ts +9 -1
  429. package/browser/driver/sqlite/SqliteQueryRunner.js +83 -68
  430. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  431. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +47 -10
  432. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +254 -139
  433. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  434. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +25 -5
  435. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1022 -1441
  436. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  437. package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +7 -2
  438. package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
  439. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  440. package/browser/driver/sqljs/SqljsDriver.d.ts +4 -3
  441. package/browser/driver/sqljs/SqljsDriver.js +153 -227
  442. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  443. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +15 -1
  444. package/browser/driver/sqljs/SqljsQueryRunner.js +84 -61
  445. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  446. package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
  447. package/browser/driver/sqlserver/MssqlParameter.js +4 -9
  448. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  449. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  450. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
  451. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  452. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -6
  453. package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
  454. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  455. package/browser/driver/sqlserver/SqlServerDriver.d.ts +43 -9
  456. package/browser/driver/sqlserver/SqlServerDriver.js +355 -253
  457. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  458. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +19 -28
  459. package/browser/driver/sqlserver/SqlServerQueryRunner.js +1810 -2309
  460. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  461. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  462. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  463. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  464. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  465. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  466. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  467. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  468. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  469. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  470. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  471. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  472. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  473. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  474. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  475. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  476. package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  477. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  478. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  479. package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  480. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  481. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  482. package/browser/driver/types/ColumnTypes.d.ts +5 -5
  483. package/browser/driver/types/ColumnTypes.js +1 -1
  484. package/browser/driver/types/ColumnTypes.js.map +1 -1
  485. package/browser/driver/types/DataTypeDefaults.js +1 -1
  486. package/browser/driver/types/DataTypeDefaults.js.map +1 -1
  487. package/browser/driver/types/DatabaseType.d.ts +1 -1
  488. package/browser/driver/types/DatabaseType.js +1 -1
  489. package/browser/driver/types/DatabaseType.js.map +1 -1
  490. package/browser/driver/types/IsolationLevel.js +1 -1
  491. package/browser/driver/types/IsolationLevel.js.map +1 -1
  492. package/browser/driver/types/MappedColumnTypes.d.ts +12 -0
  493. package/browser/driver/types/MappedColumnTypes.js +1 -1
  494. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  495. package/browser/driver/types/MetadataTableType.d.ts +5 -0
  496. package/browser/driver/types/MetadataTableType.js +8 -0
  497. package/browser/driver/types/MetadataTableType.js.map +1 -0
  498. package/browser/driver/types/ReplicationMode.d.ts +1 -0
  499. package/browser/driver/types/ReplicationMode.js +3 -0
  500. package/browser/driver/types/ReplicationMode.js.map +1 -0
  501. package/browser/driver/types/UpsertType.d.ts +1 -0
  502. package/browser/driver/types/UpsertType.js +3 -0
  503. package/browser/driver/types/UpsertType.js.map +1 -0
  504. package/browser/entity-manager/EntityManager.d.ts +143 -286
  505. package/browser/entity-manager/EntityManager.js +531 -439
  506. package/browser/entity-manager/EntityManager.js.map +1 -1
  507. package/browser/entity-manager/EntityManagerFactory.d.ts +2 -2
  508. package/browser/entity-manager/EntityManagerFactory.js +6 -12
  509. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  510. package/browser/entity-manager/MongoEntityManager.d.ts +101 -64
  511. package/browser/entity-manager/MongoEntityManager.js +499 -467
  512. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  513. package/browser/entity-manager/SqljsEntityManager.d.ts +3 -2
  514. package/browser/entity-manager/SqljsEntityManager.js +14 -36
  515. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  516. package/browser/entity-schema/EntitySchema.d.ts +1 -0
  517. package/browser/entity-schema/EntitySchema.js +4 -5
  518. package/browser/entity-schema/EntitySchema.js.map +1 -1
  519. package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
  520. package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  521. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +4 -0
  522. package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
  523. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  524. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
  525. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js +4 -0
  526. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
  527. package/browser/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
  528. package/browser/entity-schema/EntitySchemaEmbeddedError.js +14 -0
  529. package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
  530. package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
  531. package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  532. package/browser/entity-schema/EntitySchemaIndexOptions.d.ts +7 -2
  533. package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
  534. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  535. package/browser/entity-schema/EntitySchemaOptions.d.ts +22 -10
  536. package/browser/entity-schema/EntitySchemaOptions.js +2 -6
  537. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  538. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +15 -4
  539. package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
  540. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  541. package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  542. package/browser/entity-schema/EntitySchemaTransformer.js +228 -183
  543. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  544. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +7 -2
  545. package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
  546. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  547. package/browser/error/AlreadyHasActiveConnectionError.d.ts +2 -2
  548. package/browser/error/AlreadyHasActiveConnectionError.js +6 -13
  549. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  550. package/browser/error/CannotAttachTreeChildrenEntityError.d.ts +3 -3
  551. package/browser/error/CannotAttachTreeChildrenEntityError.js +7 -13
  552. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  553. package/browser/error/CannotConnectAlreadyConnectedError.d.ts +2 -2
  554. package/browser/error/CannotConnectAlreadyConnectedError.js +5 -12
  555. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  556. package/browser/error/CannotCreateEntityIdMapError.d.ts +2 -2
  557. package/browser/error/CannotCreateEntityIdMapError.js +7 -13
  558. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  559. package/browser/error/CannotDetermineEntityError.d.ts +2 -2
  560. package/browser/error/CannotDetermineEntityError.js +6 -12
  561. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  562. package/browser/error/CannotExecuteNotConnectedError.d.ts +2 -2
  563. package/browser/error/CannotExecuteNotConnectedError.js +5 -12
  564. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  565. package/browser/error/CannotGetEntityManagerNotConnectedError.d.ts +2 -2
  566. package/browser/error/CannotGetEntityManagerNotConnectedError.js +5 -12
  567. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  568. package/browser/error/CannotReflectMethodParameterTypeError.d.ts +2 -2
  569. package/browser/error/CannotReflectMethodParameterTypeError.js +7 -14
  570. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  571. package/browser/error/CircularRelationsError.d.ts +2 -2
  572. package/browser/error/CircularRelationsError.js +6 -12
  573. package/browser/error/CircularRelationsError.js.map +1 -1
  574. package/browser/error/ColumnTypeUndefinedError.d.ts +2 -2
  575. package/browser/error/ColumnTypeUndefinedError.js +8 -15
  576. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  577. package/browser/error/ConnectionIsNotSetError.d.ts +2 -2
  578. package/browser/error/ConnectionIsNotSetError.js +5 -12
  579. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  580. package/browser/error/ConnectionNotFoundError.d.ts +2 -2
  581. package/browser/error/ConnectionNotFoundError.js +5 -12
  582. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  583. package/browser/error/CustomRepositoryCannotInheritRepositoryError.d.ts +2 -2
  584. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +8 -13
  585. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  586. package/browser/error/CustomRepositoryDoesNotHaveEntityError.d.ts +2 -2
  587. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +8 -13
  588. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  589. package/browser/error/CustomRepositoryNotFoundError.d.ts +2 -2
  590. package/browser/error/CustomRepositoryNotFoundError.js +8 -13
  591. package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
  592. package/browser/error/DataTypeNotSupportedError.d.ts +2 -2
  593. package/browser/error/DataTypeNotSupportedError.js +7 -13
  594. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  595. package/browser/error/DriverOptionNotSetError.d.ts +2 -2
  596. package/browser/error/DriverOptionNotSetError.js +6 -12
  597. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  598. package/browser/error/DriverPackageNotInstalledError.d.ts +2 -2
  599. package/browser/error/DriverPackageNotInstalledError.js +6 -12
  600. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  601. package/browser/error/EntityMetadataNotFoundError.d.ts +5 -6
  602. package/browser/error/EntityMetadataNotFoundError.js +17 -20
  603. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  604. package/browser/error/EntityNotFoundError.d.ts +5 -5
  605. package/browser/error/EntityNotFoundError.js +21 -22
  606. package/browser/error/EntityNotFoundError.js.map +1 -1
  607. package/browser/error/EntityPropertyNotFoundError.d.ts +8 -0
  608. package/browser/error/EntityPropertyNotFoundError.js +13 -0
  609. package/browser/error/EntityPropertyNotFoundError.js.map +1 -0
  610. package/browser/error/FindRelationsNotFoundError.d.ts +7 -0
  611. package/browser/error/FindRelationsNotFoundError.js +19 -0
  612. package/browser/error/FindRelationsNotFoundError.js.map +1 -0
  613. package/browser/error/InitializedRelationError.d.ts +2 -1
  614. package/browser/error/InitializedRelationError.js +7 -13
  615. package/browser/error/InitializedRelationError.js.map +1 -1
  616. package/browser/error/InsertValuesMissingError.d.ts +2 -2
  617. package/browser/error/InsertValuesMissingError.js +6 -12
  618. package/browser/error/InsertValuesMissingError.js.map +1 -1
  619. package/browser/error/LimitOnUpdateNotSupportedError.d.ts +3 -3
  620. package/browser/error/LimitOnUpdateNotSupportedError.js +6 -13
  621. package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  622. package/browser/error/LockNotSupportedOnGivenDriverError.d.ts +2 -2
  623. package/browser/error/LockNotSupportedOnGivenDriverError.js +5 -12
  624. package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  625. package/browser/error/MetadataAlreadyExistsError.d.ts +2 -4
  626. package/browser/error/MetadataAlreadyExistsError.js +11 -16
  627. package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
  628. package/browser/error/MetadataWithSuchNameAlreadyExistsError.d.ts +2 -4
  629. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js +9 -15
  630. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  631. package/browser/error/MissingDeleteDateColumnError.d.ts +5 -0
  632. package/browser/error/MissingDeleteDateColumnError.js +8 -0
  633. package/browser/error/MissingDeleteDateColumnError.js.map +1 -0
  634. package/browser/error/MissingDriverError.d.ts +3 -3
  635. package/browser/error/MissingDriverError.js +6 -12
  636. package/browser/error/MissingDriverError.js.map +1 -1
  637. package/browser/error/MissingJoinColumnError.d.ts +2 -4
  638. package/browser/error/MissingJoinColumnError.js +12 -18
  639. package/browser/error/MissingJoinColumnError.js.map +1 -1
  640. package/browser/error/MissingJoinTableError.d.ts +2 -4
  641. package/browser/error/MissingJoinTableError.js +12 -18
  642. package/browser/error/MissingJoinTableError.js.map +1 -1
  643. package/browser/error/MissingPrimaryColumnError.d.ts +2 -4
  644. package/browser/error/MissingPrimaryColumnError.js +6 -15
  645. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  646. package/browser/error/MustBeEntityError.d.ts +2 -2
  647. package/browser/error/MustBeEntityError.js +5 -12
  648. package/browser/error/MustBeEntityError.js.map +1 -1
  649. package/browser/error/NamingStrategyNotFoundError.d.ts +2 -2
  650. package/browser/error/NamingStrategyNotFoundError.js +11 -14
  651. package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
  652. package/browser/error/NestedSetMultipleRootError.d.ts +4 -0
  653. package/browser/error/NestedSetMultipleRootError.js +8 -0
  654. package/browser/error/NestedSetMultipleRootError.js.map +1 -0
  655. package/browser/error/NoConnectionForRepositoryError.d.ts +2 -2
  656. package/browser/error/NoConnectionForRepositoryError.js +6 -13
  657. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  658. package/browser/error/NoConnectionOptionError.d.ts +2 -1
  659. package/browser/error/NoConnectionOptionError.js +6 -11
  660. package/browser/error/NoConnectionOptionError.js.map +1 -1
  661. package/browser/error/NoNeedToReleaseEntityManagerError.d.ts +2 -2
  662. package/browser/error/NoNeedToReleaseEntityManagerError.js +7 -14
  663. package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  664. package/browser/error/NoVersionOrUpdateDateColumnError.d.ts +2 -2
  665. package/browser/error/NoVersionOrUpdateDateColumnError.js +5 -12
  666. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  667. package/browser/error/OffsetWithoutLimitNotSupportedError.d.ts +4 -4
  668. package/browser/error/OffsetWithoutLimitNotSupportedError.js +8 -13
  669. package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  670. package/browser/error/OptimisticLockCanNotBeUsedError.d.ts +2 -2
  671. package/browser/error/OptimisticLockCanNotBeUsedError.js +5 -12
  672. package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  673. package/browser/error/OptimisticLockVersionMismatchError.d.ts +2 -2
  674. package/browser/error/OptimisticLockVersionMismatchError.js +5 -12
  675. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  676. package/browser/error/PersistedEntityNotFoundError.d.ts +2 -2
  677. package/browser/error/PersistedEntityNotFoundError.js +5 -12
  678. package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
  679. package/browser/error/PessimisticLockTransactionRequiredError.d.ts +2 -2
  680. package/browser/error/PessimisticLockTransactionRequiredError.js +5 -12
  681. package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  682. package/browser/error/PrimaryColumnCannotBeNullableError.d.ts +2 -2
  683. package/browser/error/PrimaryColumnCannotBeNullableError.js +6 -13
  684. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  685. package/browser/error/QueryFailedError.d.ts +6 -2
  686. package/browser/error/QueryFailedError.js +18 -14
  687. package/browser/error/QueryFailedError.js.map +1 -1
  688. package/browser/error/QueryRunnerAlreadyReleasedError.d.ts +2 -4
  689. package/browser/error/QueryRunnerAlreadyReleasedError.js +5 -14
  690. package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  691. package/browser/error/QueryRunnerProviderAlreadyReleasedError.d.ts +2 -2
  692. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js +6 -12
  693. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  694. package/browser/error/RepositoryNotFoundError.d.ts +4 -4
  695. package/browser/error/RepositoryNotFoundError.js +16 -16
  696. package/browser/error/RepositoryNotFoundError.js.map +1 -1
  697. package/browser/error/RepositoryNotTreeError.d.ts +4 -4
  698. package/browser/error/RepositoryNotTreeError.js +18 -19
  699. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  700. package/browser/error/ReturningStatementNotSupportedError.d.ts +2 -2
  701. package/browser/error/ReturningStatementNotSupportedError.js +5 -12
  702. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  703. package/browser/error/SubjectRemovedAndUpdatedError.d.ts +2 -2
  704. package/browser/error/SubjectRemovedAndUpdatedError.js +6 -13
  705. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  706. package/browser/error/SubjectWithoutIdentifierError.d.ts +2 -2
  707. package/browser/error/SubjectWithoutIdentifierError.js +5 -13
  708. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  709. package/browser/error/TransactionAlreadyStartedError.d.ts +2 -2
  710. package/browser/error/TransactionAlreadyStartedError.js +5 -12
  711. package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
  712. package/browser/error/TransactionNotStartedError.d.ts +2 -2
  713. package/browser/error/TransactionNotStartedError.js +5 -12
  714. package/browser/error/TransactionNotStartedError.js.map +1 -1
  715. package/browser/error/TreeRepositoryNotSupportedError.d.ts +2 -2
  716. package/browser/error/TreeRepositoryNotSupportedError.js +5 -12
  717. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  718. package/browser/error/TypeORMError.d.ts +4 -0
  719. package/browser/error/TypeORMError.js +19 -0
  720. package/browser/error/TypeORMError.js.map +1 -0
  721. package/browser/error/UpdateValuesMissingError.d.ts +2 -5
  722. package/browser/error/UpdateValuesMissingError.js +5 -15
  723. package/browser/error/UpdateValuesMissingError.js.map +1 -1
  724. package/browser/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -4
  725. package/browser/error/UsingJoinColumnIsNotAllowedError.js +6 -15
  726. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  727. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -4
  728. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -16
  729. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  730. package/browser/error/UsingJoinTableIsNotAllowedError.d.ts +2 -4
  731. package/browser/error/UsingJoinTableIsNotAllowedError.js +7 -16
  732. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  733. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -4
  734. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -16
  735. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  736. package/browser/error/index.d.ts +62 -0
  737. package/browser/error/index.js +64 -0
  738. package/browser/error/index.js.map +1 -0
  739. package/browser/find-options/EqualOperator.d.ts +5 -0
  740. package/browser/find-options/EqualOperator.js +9 -0
  741. package/browser/find-options/EqualOperator.js.map +1 -0
  742. package/browser/find-options/FindManyOptions.d.ts +14 -0
  743. package/browser/find-options/FindManyOptions.js +3 -0
  744. package/browser/find-options/FindManyOptions.js.map +1 -0
  745. package/browser/find-options/FindOneOptions.d.ts +86 -0
  746. package/browser/find-options/FindOneOptions.js +3 -0
  747. package/browser/find-options/FindOneOptions.js.map +1 -0
  748. package/browser/find-options/FindOperator.d.ts +31 -8
  749. package/browser/find-options/FindOperator.js +64 -97
  750. package/browser/find-options/FindOperator.js.map +1 -1
  751. package/browser/find-options/FindOperatorType.d.ts +1 -1
  752. package/browser/find-options/FindOperatorType.js +1 -1
  753. package/browser/find-options/FindOperatorType.js.map +1 -1
  754. package/browser/find-options/FindOptionsOrder.d.ts +19 -0
  755. package/browser/find-options/FindOptionsOrder.js +3 -0
  756. package/browser/find-options/FindOptionsOrder.js.map +1 -0
  757. package/browser/find-options/FindOptionsRelations.d.ts +19 -0
  758. package/browser/find-options/FindOptionsRelations.js +3 -0
  759. package/browser/find-options/FindOptionsRelations.js.map +1 -0
  760. package/browser/find-options/FindOptionsSelect.d.ts +19 -0
  761. package/browser/find-options/FindOptionsSelect.js +3 -0
  762. package/browser/find-options/FindOptionsSelect.js.map +1 -0
  763. package/browser/find-options/FindOptionsUtils.d.ts +180 -6
  764. package/browser/find-options/FindOptionsUtils.js +299 -94
  765. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  766. package/browser/find-options/FindOptionsWhere.d.ts +14 -0
  767. package/browser/find-options/FindOptionsWhere.js +3 -0
  768. package/browser/find-options/FindOptionsWhere.js.map +1 -0
  769. package/browser/find-options/FindTreeOptions.d.ts +13 -0
  770. package/browser/find-options/FindTreeOptions.js +3 -0
  771. package/browser/find-options/FindTreeOptions.js.map +1 -0
  772. package/browser/find-options/JoinOptions.d.ts +76 -0
  773. package/browser/find-options/JoinOptions.js +3 -0
  774. package/browser/find-options/JoinOptions.js.map +1 -0
  775. package/browser/find-options/OrderByCondition.js +1 -1
  776. package/browser/find-options/OrderByCondition.js.map +1 -1
  777. package/browser/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
  778. package/browser/find-options/mongodb/MongoFindManyOptions.js +3 -0
  779. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
  780. package/browser/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
  781. package/browser/find-options/mongodb/MongoFindOneOptions.js +3 -0
  782. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
  783. package/browser/find-options/operator/Any.d.ts +1 -1
  784. package/browser/find-options/operator/Any.js.map +1 -1
  785. package/browser/find-options/operator/Between.d.ts +1 -1
  786. package/browser/find-options/operator/Between.js.map +1 -1
  787. package/browser/find-options/operator/Equal.d.ts +7 -2
  788. package/browser/find-options/operator/Equal.js +7 -3
  789. package/browser/find-options/operator/Equal.js.map +1 -1
  790. package/browser/find-options/operator/ILike.d.ts +1 -1
  791. package/browser/find-options/operator/ILike.js +1 -1
  792. package/browser/find-options/operator/ILike.js.map +1 -1
  793. package/browser/find-options/operator/In.d.ts +1 -1
  794. package/browser/find-options/operator/In.js.map +1 -1
  795. package/browser/find-options/operator/IsNull.js.map +1 -1
  796. package/browser/find-options/operator/LessThan.js.map +1 -1
  797. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  798. package/browser/find-options/operator/Like.d.ts +1 -1
  799. package/browser/find-options/operator/Like.js +1 -1
  800. package/browser/find-options/operator/Like.js.map +1 -1
  801. package/browser/find-options/operator/MoreThan.js.map +1 -1
  802. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  803. package/browser/find-options/operator/Not.d.ts +1 -1
  804. package/browser/find-options/operator/Not.js +1 -1
  805. package/browser/find-options/operator/Not.js.map +1 -1
  806. package/browser/find-options/operator/Raw.d.ts +14 -2
  807. package/browser/find-options/operator/Raw.js +5 -6
  808. package/browser/find-options/operator/Raw.js.map +1 -1
  809. package/browser/globals.d.ts +117 -0
  810. package/browser/globals.js +166 -0
  811. package/browser/globals.js.map +1 -0
  812. package/browser/index.d.ts +45 -113
  813. package/browser/index.js +57 -190
  814. package/browser/index.js.map +1 -1
  815. package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
  816. package/browser/logger/AdvancedConsoleLogger.js +55 -33
  817. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  818. package/browser/logger/DebugLogger.d.ts +1 -2
  819. package/browser/logger/DebugLogger.js +24 -26
  820. package/browser/logger/DebugLogger.js.map +1 -1
  821. package/browser/logger/FileLogger.d.ts +3 -1
  822. package/browser/logger/FileLogger.js +65 -40
  823. package/browser/logger/FileLogger.js.map +1 -1
  824. package/browser/logger/Logger.d.ts +1 -1
  825. package/browser/logger/Logger.js +1 -1
  826. package/browser/logger/Logger.js.map +1 -1
  827. package/browser/logger/LoggerFactory.js +6 -9
  828. package/browser/logger/LoggerFactory.js.map +1 -1
  829. package/browser/logger/LoggerOptions.d.ts +9 -0
  830. package/browser/logger/LoggerOptions.js +1 -1
  831. package/browser/logger/LoggerOptions.js.map +1 -1
  832. package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
  833. package/browser/logger/SimpleConsoleLogger.js +55 -33
  834. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  835. package/browser/metadata/CheckMetadata.js +8 -8
  836. package/browser/metadata/CheckMetadata.js.map +1 -1
  837. package/browser/metadata/ColumnMetadata.d.ts +16 -7
  838. package/browser/metadata/ColumnMetadata.js +240 -126
  839. package/browser/metadata/ColumnMetadata.js.map +1 -1
  840. package/browser/metadata/EmbeddedMetadata.d.ts +12 -5
  841. package/browser/metadata/EmbeddedMetadata.js +77 -51
  842. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  843. package/browser/metadata/EntityListenerMetadata.js +21 -15
  844. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  845. package/browser/metadata/EntityMetadata.d.ts +65 -22
  846. package/browser/metadata/EntityMetadata.js +250 -160
  847. package/browser/metadata/EntityMetadata.js.map +1 -1
  848. package/browser/metadata/ExclusionMetadata.js +8 -8
  849. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  850. package/browser/metadata/ForeignKeyMetadata.js +8 -10
  851. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  852. package/browser/metadata/IndexMetadata.d.ts +7 -2
  853. package/browser/metadata/IndexMetadata.js +44 -34
  854. package/browser/metadata/IndexMetadata.js.map +1 -1
  855. package/browser/metadata/RelationCountMetadata.js +11 -10
  856. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  857. package/browser/metadata/RelationIdMetadata.js +21 -19
  858. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  859. package/browser/metadata/RelationMetadata.d.ts +28 -5
  860. package/browser/metadata/RelationMetadata.js +160 -79
  861. package/browser/metadata/RelationMetadata.js.map +1 -1
  862. package/browser/metadata/UniqueMetadata.d.ts +7 -2
  863. package/browser/metadata/UniqueMetadata.js +40 -32
  864. package/browser/metadata/UniqueMetadata.js.map +1 -1
  865. package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
  866. package/browser/metadata/types/ClosureTreeOptions.js +3 -0
  867. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
  868. package/browser/metadata/types/DeferrableType.js +1 -1
  869. package/browser/metadata/types/DeferrableType.js.map +1 -1
  870. package/browser/metadata/types/EventListenerTypes.d.ts +12 -8
  871. package/browser/metadata/types/EventListenerTypes.js +13 -13
  872. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  873. package/browser/metadata/types/OnDeleteType.js +1 -1
  874. package/browser/metadata/types/OnDeleteType.js.map +1 -1
  875. package/browser/metadata/types/OnUpdateType.js +1 -1
  876. package/browser/metadata/types/OnUpdateType.js.map +1 -1
  877. package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
  878. package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
  879. package/browser/metadata/types/RelationTypeInFunction.d.ts +2 -1
  880. package/browser/metadata/types/RelationTypeInFunction.js +1 -1
  881. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  882. package/browser/metadata/types/RelationTypes.js +1 -1
  883. package/browser/metadata/types/RelationTypes.js.map +1 -1
  884. package/browser/metadata/types/TableTypes.d.ts +1 -1
  885. package/browser/metadata/types/TableTypes.js +1 -1
  886. package/browser/metadata/types/TableTypes.js.map +1 -1
  887. package/browser/metadata/types/TreeTypes.js +1 -1
  888. package/browser/metadata/types/TreeTypes.js.map +1 -1
  889. package/browser/metadata-args/CheckMetadataArgs.js +1 -1
  890. package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
  891. package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
  892. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  893. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
  894. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  895. package/browser/metadata-args/EmbeddedMetadataArgs.d.ts +2 -2
  896. package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
  897. package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  898. package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
  899. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  900. package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
  901. package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
  902. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  903. package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
  904. package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  905. package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
  906. package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  907. package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
  908. package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  909. package/browser/metadata-args/IndexMetadataArgs.d.ts +7 -2
  910. package/browser/metadata-args/IndexMetadataArgs.js +1 -1
  911. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  912. package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
  913. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  914. package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
  915. package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  916. package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
  917. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  918. package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
  919. package/browser/metadata-args/MetadataArgsStorage.js +145 -95
  920. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  921. package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
  922. package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  923. package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
  924. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  925. package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
  926. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  927. package/browser/metadata-args/RelationMetadataArgs.js +1 -1
  928. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  929. package/browser/metadata-args/TableMetadataArgs.d.ts +9 -5
  930. package/browser/metadata-args/TableMetadataArgs.js +1 -1
  931. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  932. package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
  933. package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  934. package/browser/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
  935. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
  936. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  937. package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
  938. package/browser/metadata-args/TreeMetadataArgs.js +1 -1
  939. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  940. package/browser/metadata-args/UniqueMetadataArgs.d.ts +7 -2
  941. package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
  942. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  943. package/browser/metadata-args/types/ColumnMode.d.ts +1 -1
  944. package/browser/metadata-args/types/ColumnMode.js +1 -1
  945. package/browser/metadata-args/types/ColumnMode.js.map +1 -1
  946. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +2 -2
  947. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +47 -30
  948. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  949. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +2 -2
  950. package/browser/metadata-builder/EntityMetadataBuilder.js +396 -267
  951. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  952. package/browser/metadata-builder/EntityMetadataValidator.js +78 -68
  953. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  954. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +2 -2
  955. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +144 -92
  956. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  957. package/browser/metadata-builder/MetadataUtils.js +12 -16
  958. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  959. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -2
  960. package/browser/metadata-builder/RelationJoinColumnBuilder.js +69 -50
  961. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  962. package/browser/migration/Migration.js +3 -5
  963. package/browser/migration/Migration.js.map +1 -1
  964. package/browser/migration/MigrationExecutor.d.ts +6 -4
  965. package/browser/migration/MigrationExecutor.js +379 -535
  966. package/browser/migration/MigrationExecutor.js.map +1 -1
  967. package/browser/migration/MigrationInterface.js +1 -1
  968. package/browser/migration/MigrationInterface.js.map +1 -1
  969. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +7 -1
  970. package/browser/naming-strategy/DefaultNamingStrategy.js +90 -80
  971. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  972. package/browser/naming-strategy/NamingStrategyInterface.d.ts +17 -1
  973. package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
  974. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  975. package/browser/persistence/EntityPersistExecutor.d.ts +4 -4
  976. package/browser/persistence/EntityPersistExecutor.js +126 -151
  977. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  978. package/browser/persistence/Subject.d.ts +27 -3
  979. package/browser/persistence/Subject.js +103 -67
  980. package/browser/persistence/Subject.js.map +1 -1
  981. package/browser/persistence/SubjectChangeMap.js +1 -1
  982. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  983. package/browser/persistence/SubjectChangedColumnsComputer.js +74 -52
  984. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  985. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -1
  986. package/browser/persistence/SubjectDatabaseEntityLoader.js +97 -114
  987. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  988. package/browser/persistence/SubjectExecutor.d.ts +19 -2
  989. package/browser/persistence/SubjectExecutor.js +584 -419
  990. package/browser/persistence/SubjectExecutor.js.map +1 -1
  991. package/browser/persistence/SubjectTopoligicalSorter.js +63 -59
  992. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  993. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  994. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +53 -28
  995. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  996. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +64 -59
  997. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  998. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +60 -43
  999. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1000. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +32 -29
  1001. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1002. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +8 -11
  1003. package/browser/persistence/tree/ClosureSubjectExecutor.js +213 -89
  1004. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1005. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +5 -0
  1006. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +89 -48
  1007. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1008. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +20 -0
  1009. package/browser/persistence/tree/NestedSetSubjectExecutor.js +243 -62
  1010. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1011. package/browser/platform/BrowserConnectionOptionsReaderDummy.d.ts +38 -0
  1012. package/browser/platform/BrowserConnectionOptionsReaderDummy.js +52 -0
  1013. package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -0
  1014. package/browser/platform/BrowserDirectoryExportedClassesLoader.d.ts +15 -0
  1015. package/browser/platform/BrowserDirectoryExportedClassesLoader.js +20 -0
  1016. package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -0
  1017. package/browser/platform/BrowserDisabledDriversDummy.d.ts +38 -2
  1018. package/browser/platform/BrowserDisabledDriversDummy.js +54 -50
  1019. package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
  1020. package/browser/platform/BrowserFileLoggerDummy.d.ts +33 -0
  1021. package/browser/platform/BrowserFileLoggerDummy.js +47 -0
  1022. package/browser/platform/BrowserFileLoggerDummy.js.map +1 -0
  1023. package/browser/platform/BrowserPlatformTools.d.ts +74 -0
  1024. package/browser/platform/BrowserPlatformTools.js +141 -0
  1025. package/browser/platform/BrowserPlatformTools.js.map +1 -0
  1026. package/browser/platform/PlatformTools.d.ts +16 -21
  1027. package/browser/platform/PlatformTools.js +174 -117
  1028. package/browser/platform/PlatformTools.js.map +1 -1
  1029. package/browser/query-builder/Alias.d.ts +4 -3
  1030. package/browser/query-builder/Alias.js +18 -31
  1031. package/browser/query-builder/Alias.js.map +1 -1
  1032. package/browser/query-builder/Brackets.d.ts +4 -3
  1033. package/browser/query-builder/Brackets.js +4 -5
  1034. package/browser/query-builder/Brackets.js.map +1 -1
  1035. package/browser/query-builder/DeleteQueryBuilder.d.ts +13 -11
  1036. package/browser/query-builder/DeleteQueryBuilder.js +109 -166
  1037. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  1038. package/browser/query-builder/InsertOrUpdateOptions.d.ts +3 -0
  1039. package/browser/query-builder/InsertOrUpdateOptions.js +3 -0
  1040. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -0
  1041. package/browser/query-builder/InsertQueryBuilder.d.ts +15 -5
  1042. package/browser/query-builder/InsertQueryBuilder.js +453 -293
  1043. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  1044. package/browser/query-builder/JoinAttribute.d.ts +12 -12
  1045. package/browser/query-builder/JoinAttribute.js +140 -189
  1046. package/browser/query-builder/JoinAttribute.js.map +1 -1
  1047. package/browser/query-builder/JoinOptions.js +1 -1
  1048. package/browser/query-builder/JoinOptions.js.map +1 -1
  1049. package/browser/query-builder/NotBrackets.d.ts +8 -0
  1050. package/browser/query-builder/NotBrackets.js +13 -0
  1051. package/browser/query-builder/NotBrackets.js.map +1 -0
  1052. package/browser/query-builder/QueryBuilder.d.ts +55 -32
  1053. package/browser/query-builder/QueryBuilder.js +698 -375
  1054. package/browser/query-builder/QueryBuilder.js.map +1 -1
  1055. package/browser/query-builder/QueryBuilderUtils.d.ts +0 -1
  1056. package/browser/query-builder/QueryBuilderUtils.js +5 -16
  1057. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  1058. package/browser/query-builder/QueryExpressionMap.d.ts +51 -29
  1059. package/browser/query-builder/QueryExpressionMap.js +92 -85
  1060. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  1061. package/browser/query-builder/QueryPartialEntity.d.ts +1 -1
  1062. package/browser/query-builder/QueryPartialEntity.js +1 -1
  1063. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  1064. package/browser/query-builder/RelationIdLoader.d.ts +10 -12
  1065. package/browser/query-builder/RelationIdLoader.js +306 -185
  1066. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  1067. package/browser/query-builder/RelationLoader.d.ts +6 -3
  1068. package/browser/query-builder/RelationLoader.js +181 -146
  1069. package/browser/query-builder/RelationLoader.js.map +1 -1
  1070. package/browser/query-builder/RelationQueryBuilder.d.ts +2 -1
  1071. package/browser/query-builder/RelationQueryBuilder.js +81 -112
  1072. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  1073. package/browser/query-builder/RelationRemover.js +119 -84
  1074. package/browser/query-builder/RelationRemover.js.map +1 -1
  1075. package/browser/query-builder/RelationUpdater.js +128 -128
  1076. package/browser/query-builder/RelationUpdater.js.map +1 -1
  1077. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +4 -4
  1078. package/browser/query-builder/ReturningResultsEntityUpdator.js +135 -155
  1079. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1080. package/browser/query-builder/SelectQuery.js +1 -1
  1081. package/browser/query-builder/SelectQuery.js.map +1 -1
  1082. package/browser/query-builder/SelectQueryBuilder.d.ts +65 -50
  1083. package/browser/query-builder/SelectQueryBuilder.js +1642 -1291
  1084. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  1085. package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
  1086. package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
  1087. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +138 -0
  1088. package/browser/query-builder/SoftDeleteQueryBuilder.js +363 -0
  1089. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
  1090. package/browser/query-builder/UpdateQueryBuilder.d.ts +11 -8
  1091. package/browser/query-builder/UpdateQueryBuilder.js +276 -299
  1092. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  1093. package/browser/query-builder/WhereClause.d.ts +16 -0
  1094. package/browser/query-builder/WhereClause.js +3 -0
  1095. package/browser/query-builder/WhereClause.js.map +1 -0
  1096. package/browser/query-builder/{WhereExpression.d.ts → WhereExpressionBuilder.d.ts} +51 -3
  1097. package/browser/query-builder/WhereExpressionBuilder.js +3 -0
  1098. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -0
  1099. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  1100. package/browser/query-builder/relation-count/RelationCountAttribute.js +66 -96
  1101. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1102. package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
  1103. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  1104. package/browser/query-builder/relation-count/RelationCountLoader.d.ts +3 -3
  1105. package/browser/query-builder/relation-count/RelationCountLoader.js +150 -101
  1106. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1107. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +15 -18
  1108. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1109. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  1110. package/browser/query-builder/relation-id/RelationIdAttribute.js +67 -101
  1111. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1112. package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
  1113. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1114. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +3 -3
  1115. package/browser/query-builder/relation-id/RelationIdLoader.js +255 -148
  1116. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1117. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +15 -18
  1118. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1119. package/browser/query-builder/result/DeleteResult.d.ts +3 -1
  1120. package/browser/query-builder/result/DeleteResult.js +7 -5
  1121. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  1122. package/browser/query-builder/result/InsertResult.d.ts +2 -0
  1123. package/browser/query-builder/result/InsertResult.js +8 -5
  1124. package/browser/query-builder/result/InsertResult.js.map +1 -1
  1125. package/browser/query-builder/result/UpdateResult.d.ts +2 -0
  1126. package/browser/query-builder/result/UpdateResult.js +9 -5
  1127. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  1128. package/browser/query-builder/transformer/DocumentToEntityTransformer.d.ts +1 -2
  1129. package/browser/query-builder/transformer/DocumentToEntityTransformer.js +48 -35
  1130. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1131. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +74 -101
  1132. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1133. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +25 -27
  1134. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1135. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +13 -0
  1136. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +228 -159
  1137. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1138. package/browser/query-runner/BaseQueryRunner.d.ts +49 -12
  1139. package/browser/query-runner/BaseQueryRunner.js +240 -247
  1140. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  1141. package/browser/query-runner/QueryLock.d.ts +4 -0
  1142. package/browser/query-runner/QueryLock.js +24 -0
  1143. package/browser/query-runner/QueryLock.js.map +1 -0
  1144. package/browser/query-runner/QueryResult.d.ts +17 -0
  1145. package/browser/query-runner/QueryResult.js +13 -0
  1146. package/browser/query-runner/QueryResult.js.map +1 -0
  1147. package/browser/query-runner/QueryRunner.d.ts +37 -8
  1148. package/browser/query-runner/QueryRunner.js +1 -1
  1149. package/browser/query-runner/QueryRunner.js.map +1 -1
  1150. package/browser/repository/AbstractRepository.d.ts +5 -5
  1151. package/browser/repository/AbstractRepository.js +47 -54
  1152. package/browser/repository/AbstractRepository.js.map +1 -1
  1153. package/browser/repository/BaseEntity.d.ts +69 -81
  1154. package/browser/repository/BaseEntity.js +169 -131
  1155. package/browser/repository/BaseEntity.js.map +1 -1
  1156. package/browser/repository/EntityId.js +1 -1
  1157. package/browser/repository/EntityId.js.map +1 -1
  1158. package/browser/repository/FindTreesOptions.d.ts +9 -0
  1159. package/browser/repository/FindTreesOptions.js +3 -0
  1160. package/browser/repository/FindTreesOptions.js.map +1 -0
  1161. package/browser/repository/MongoRepository.d.ts +55 -9
  1162. package/browser/repository/MongoRepository.js +330 -1
  1163. package/browser/repository/MongoRepository.js.map +1 -1
  1164. package/browser/repository/RemoveOptions.js +1 -1
  1165. package/browser/repository/RemoveOptions.js.map +1 -1
  1166. package/browser/repository/Repository.d.ts +130 -97
  1167. package/browser/repository/Repository.js +288 -1
  1168. package/browser/repository/Repository.js.map +1 -1
  1169. package/browser/repository/SaveOptions.d.ts +1 -1
  1170. package/browser/repository/SaveOptions.js +1 -1
  1171. package/browser/repository/SaveOptions.js.map +1 -1
  1172. package/browser/repository/TreeRepository.d.ts +14 -9
  1173. package/browser/repository/TreeRepository.js +263 -1
  1174. package/browser/repository/TreeRepository.js.map +1 -1
  1175. package/browser/repository/UpsertOptions.d.ts +10 -0
  1176. package/browser/repository/UpsertOptions.js +3 -0
  1177. package/browser/repository/UpsertOptions.js.map +1 -0
  1178. package/browser/schema-builder/MongoSchemaBuilder.d.ts +3 -3
  1179. package/browser/schema-builder/MongoSchemaBuilder.js +28 -42
  1180. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1181. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +14 -6
  1182. package/browser/schema-builder/RdbmsSchemaBuilder.js +693 -1057
  1183. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1184. package/browser/schema-builder/SchemaBuilder.js +1 -1
  1185. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  1186. package/browser/schema-builder/options/TableCheckOptions.js +1 -1
  1187. package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
  1188. package/browser/schema-builder/options/TableColumnOptions.d.ts +6 -2
  1189. package/browser/schema-builder/options/TableColumnOptions.js +1 -1
  1190. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  1191. package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
  1192. package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
  1193. package/browser/schema-builder/options/TableForeignKeyOptions.d.ts +8 -0
  1194. package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
  1195. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  1196. package/browser/schema-builder/options/TableIndexOptions.d.ts +6 -1
  1197. package/browser/schema-builder/options/TableIndexOptions.js +1 -1
  1198. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  1199. package/browser/schema-builder/options/TableOptions.d.ts +8 -0
  1200. package/browser/schema-builder/options/TableOptions.js +1 -1
  1201. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  1202. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  1203. package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
  1204. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  1205. package/browser/schema-builder/options/ViewOptions.d.ts +10 -2
  1206. package/browser/schema-builder/options/ViewOptions.js +1 -1
  1207. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  1208. package/browser/schema-builder/table/Table.d.ts +13 -3
  1209. package/browser/schema-builder/table/Table.js +109 -97
  1210. package/browser/schema-builder/table/Table.js.map +1 -1
  1211. package/browser/schema-builder/table/TableCheck.d.ts +1 -0
  1212. package/browser/schema-builder/table/TableCheck.js +10 -12
  1213. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  1214. package/browser/schema-builder/table/TableColumn.d.ts +7 -2
  1215. package/browser/schema-builder/table/TableColumn.js +10 -9
  1216. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  1217. package/browser/schema-builder/table/TableExclusion.d.ts +1 -0
  1218. package/browser/schema-builder/table/TableExclusion.js +9 -10
  1219. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  1220. package/browser/schema-builder/table/TableForeignKey.d.ts +11 -1
  1221. package/browser/schema-builder/table/TableForeignKey.js +16 -12
  1222. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  1223. package/browser/schema-builder/table/TableIndex.d.ts +6 -0
  1224. package/browser/schema-builder/table/TableIndex.js +15 -14
  1225. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  1226. package/browser/schema-builder/table/TableUnique.d.ts +6 -0
  1227. package/browser/schema-builder/table/TableUnique.js +13 -12
  1228. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  1229. package/browser/schema-builder/util/TableUtils.js +10 -11
  1230. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  1231. package/browser/schema-builder/util/ViewUtils.d.ts +7 -0
  1232. package/browser/schema-builder/util/ViewUtils.js +23 -0
  1233. package/browser/schema-builder/util/ViewUtils.js.map +1 -0
  1234. package/browser/schema-builder/view/View.d.ts +12 -5
  1235. package/browser/schema-builder/view/View.js +16 -11
  1236. package/browser/schema-builder/view/View.js.map +1 -1
  1237. package/browser/subscriber/Broadcaster.d.ts +87 -2
  1238. package/browser/subscriber/Broadcaster.js +412 -119
  1239. package/browser/subscriber/Broadcaster.js.map +1 -1
  1240. package/browser/subscriber/BroadcasterResult.d.ts +4 -0
  1241. package/browser/subscriber/BroadcasterResult.js +12 -5
  1242. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  1243. package/browser/subscriber/EntitySubscriberInterface.d.ts +45 -0
  1244. package/browser/subscriber/EntitySubscriberInterface.js +1 -1
  1245. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  1246. package/browser/subscriber/event/InsertEvent.d.ts +7 -7
  1247. package/browser/subscriber/event/InsertEvent.js +1 -1
  1248. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  1249. package/browser/subscriber/event/LoadEvent.d.ts +2 -2
  1250. package/browser/subscriber/event/LoadEvent.js +1 -1
  1251. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  1252. package/browser/subscriber/event/RecoverEvent.d.ts +6 -0
  1253. package/browser/subscriber/event/RecoverEvent.js +3 -0
  1254. package/browser/subscriber/event/RecoverEvent.js.map +1 -0
  1255. package/browser/subscriber/event/RemoveEvent.d.ts +7 -7
  1256. package/browser/subscriber/event/RemoveEvent.js +1 -1
  1257. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  1258. package/browser/subscriber/event/SoftRemoveEvent.d.ts +6 -0
  1259. package/browser/subscriber/event/SoftRemoveEvent.js +3 -0
  1260. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -0
  1261. package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  1262. package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
  1263. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
  1264. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  1265. package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
  1266. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  1267. package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
  1268. package/browser/subscriber/event/TransactionStartEvent.js +3 -0
  1269. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
  1270. package/browser/subscriber/event/UpdateEvent.d.ts +5 -4
  1271. package/browser/subscriber/event/UpdateEvent.js +1 -1
  1272. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  1273. package/browser/util/ApplyValueTransformers.js +13 -29
  1274. package/browser/util/ApplyValueTransformers.js.map +1 -1
  1275. package/browser/util/DateUtils.d.ts +2 -2
  1276. package/browser/util/DateUtils.js +110 -83
  1277. package/browser/util/DateUtils.js.map +1 -1
  1278. package/browser/util/DepGraph.js +50 -50
  1279. package/browser/util/DepGraph.js.map +1 -1
  1280. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  1281. package/browser/util/DirectoryExportedClassesLoader.js +32 -25
  1282. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  1283. package/browser/util/ImportUtils.d.ts +1 -0
  1284. package/browser/util/ImportUtils.js +74 -0
  1285. package/browser/util/ImportUtils.js.map +1 -0
  1286. package/browser/util/InstanceChecker.d.ts +61 -0
  1287. package/browser/util/InstanceChecker.js +103 -0
  1288. package/browser/util/InstanceChecker.js.map +1 -0
  1289. package/browser/util/ObjectUtils.d.ts +17 -6
  1290. package/browser/util/ObjectUtils.js +26 -36
  1291. package/browser/util/ObjectUtils.js.map +1 -1
  1292. package/browser/util/OrmUtils.d.ts +16 -8
  1293. package/browser/util/OrmUtils.js +198 -98
  1294. package/browser/util/OrmUtils.js.map +1 -1
  1295. package/browser/util/PathUtils.d.ts +10 -0
  1296. package/browser/util/PathUtils.js +28 -0
  1297. package/browser/util/PathUtils.js.map +1 -0
  1298. package/browser/util/RandomGenerator.d.ts +0 -4
  1299. package/browser/util/RandomGenerator.js +61 -52
  1300. package/browser/util/RandomGenerator.js.map +1 -1
  1301. package/browser/util/StringUtils.d.ts +13 -3
  1302. package/browser/util/StringUtils.js +42 -19
  1303. package/browser/util/StringUtils.js.map +1 -1
  1304. package/browser/util/TreeRepositoryUtils.d.ts +23 -0
  1305. package/browser/util/TreeRepositoryUtils.js +56 -0
  1306. package/browser/util/TreeRepositoryUtils.js.map +1 -0
  1307. package/browser/util/VersionUtils.js +11 -16
  1308. package/browser/util/VersionUtils.js.map +1 -1
  1309. package/cache/DbQueryResultCache.d.ts +6 -4
  1310. package/cache/DbQueryResultCache.js +182 -187
  1311. package/cache/DbQueryResultCache.js.map +1 -1
  1312. package/cache/QueryResultCache.js.map +1 -1
  1313. package/cache/QueryResultCacheFactory.d.ts +3 -3
  1314. package/cache/QueryResultCacheFactory.js +22 -16
  1315. package/cache/QueryResultCacheFactory.js.map +1 -1
  1316. package/cache/QueryResultCacheOptions.js.map +1 -1
  1317. package/cache/RedisQueryResultCache.d.ts +3 -3
  1318. package/cache/RedisQueryResultCache.js +106 -127
  1319. package/cache/RedisQueryResultCache.js.map +1 -1
  1320. package/cli.js +18 -23
  1321. package/cli.js.map +1 -1
  1322. package/commands/CacheClearCommand.d.ts +1 -3
  1323. package/commands/CacheClearCommand.js +42 -77
  1324. package/commands/CacheClearCommand.js.map +1 -1
  1325. package/commands/CommandUtils.d.ts +7 -1
  1326. package/commands/CommandUtils.js +63 -42
  1327. package/commands/CommandUtils.js.map +1 -1
  1328. package/commands/EntityCreateCommand.d.ts +0 -9
  1329. package/commands/EntityCreateCommand.js +38 -84
  1330. package/commands/EntityCreateCommand.js.map +1 -1
  1331. package/commands/InitCommand.d.ts +12 -9
  1332. package/commands/InitCommand.js +463 -233
  1333. package/commands/InitCommand.js.map +1 -1
  1334. package/commands/MigrationCreateCommand.d.ts +6 -7
  1335. package/commands/MigrationCreateCommand.js +72 -83
  1336. package/commands/MigrationCreateCommand.js.map +1 -1
  1337. package/commands/MigrationGenerateCommand.d.ts +20 -5
  1338. package/commands/MigrationGenerateCommand.js +187 -142
  1339. package/commands/MigrationGenerateCommand.js.map +1 -1
  1340. package/commands/MigrationRevertCommand.d.ts +1 -4
  1341. package/commands/MigrationRevertCommand.js +55 -91
  1342. package/commands/MigrationRevertCommand.js.map +1 -1
  1343. package/commands/MigrationRunCommand.d.ts +1 -4
  1344. package/commands/MigrationRunCommand.js +57 -94
  1345. package/commands/MigrationRunCommand.js.map +1 -1
  1346. package/commands/MigrationShowCommand.d.ts +2 -4
  1347. package/commands/MigrationShowCommand.js +38 -74
  1348. package/commands/MigrationShowCommand.js.map +1 -1
  1349. package/commands/QueryCommand.d.ts +3 -3
  1350. package/commands/QueryCommand.js +58 -86
  1351. package/commands/QueryCommand.js.map +1 -1
  1352. package/commands/SchemaDropCommand.d.ts +2 -4
  1353. package/commands/SchemaDropCommand.js +39 -72
  1354. package/commands/SchemaDropCommand.js.map +1 -1
  1355. package/commands/SchemaLogCommand.d.ts +1 -3
  1356. package/commands/SchemaLogCommand.js +62 -81
  1357. package/commands/SchemaLogCommand.js.map +1 -1
  1358. package/commands/SchemaSyncCommand.d.ts +1 -3
  1359. package/commands/SchemaSyncCommand.js +37 -70
  1360. package/commands/SchemaSyncCommand.js.map +1 -1
  1361. package/commands/SubscriberCreateCommand.d.ts +0 -9
  1362. package/commands/SubscriberCreateCommand.js +38 -78
  1363. package/commands/SubscriberCreateCommand.js.map +1 -1
  1364. package/commands/VersionCommand.js +39 -46
  1365. package/commands/VersionCommand.js.map +1 -1
  1366. package/common/DeepPartial.d.ts +3 -3
  1367. package/common/DeepPartial.js.map +1 -1
  1368. package/common/EntityTarget.d.ts +9 -0
  1369. package/{query-builder/WhereExpression.js → common/EntityTarget.js} +1 -1
  1370. package/common/EntityTarget.js.map +1 -0
  1371. package/common/MixedList.d.ts +8 -0
  1372. package/{find-options/FindOptions.js → common/MixedList.js} +1 -1
  1373. package/common/MixedList.js.map +1 -0
  1374. package/common/NonNever.d.ts +6 -0
  1375. package/{entity-factory/EntityFactoryInterface.js → common/NonNever.js} +1 -1
  1376. package/common/NonNever.js.map +1 -0
  1377. package/common/ObjectLiteral.js.map +1 -1
  1378. package/common/ObjectType.js.map +1 -1
  1379. package/common/RelationType.d.ts +14 -0
  1380. package/{driver/aurora-data-api/AuroraDataApiConnectionOptions.js → common/RelationType.js} +1 -1
  1381. package/common/RelationType.js.map +1 -0
  1382. package/connection/BaseConnectionOptions.d.ts +4 -144
  1383. package/connection/BaseConnectionOptions.js.map +1 -1
  1384. package/connection/Connection.d.ts +4 -219
  1385. package/connection/Connection.js +6 -530
  1386. package/connection/Connection.js.map +1 -1
  1387. package/connection/ConnectionManager.d.ts +11 -5
  1388. package/connection/ConnectionManager.js +29 -27
  1389. package/connection/ConnectionManager.js.map +1 -1
  1390. package/connection/ConnectionMetadataBuilder.d.ts +6 -6
  1391. package/connection/ConnectionMetadataBuilder.js +44 -36
  1392. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  1393. package/connection/ConnectionOptions.d.ts +4 -14
  1394. package/connection/ConnectionOptions.js.map +1 -1
  1395. package/connection/ConnectionOptionsReader.d.ts +8 -8
  1396. package/connection/ConnectionOptionsReader.js +151 -172
  1397. package/connection/ConnectionOptionsReader.js.map +1 -1
  1398. package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +8 -2
  1399. package/connection/options-reader/ConnectionOptionsEnvReader.js +71 -50
  1400. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  1401. package/connection/options-reader/ConnectionOptionsXmlReader.d.ts +4 -2
  1402. package/connection/options-reader/ConnectionOptionsXmlReader.js +48 -42
  1403. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  1404. package/connection/options-reader/ConnectionOptionsYmlReader.d.ts +4 -2
  1405. package/connection/options-reader/ConnectionOptionsYmlReader.js +17 -11
  1406. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  1407. package/container.d.ts +12 -0
  1408. package/container.js +20 -11
  1409. package/container.js.map +1 -1
  1410. package/data-source/BaseDataSourceOptions.d.ts +179 -0
  1411. package/data-source/BaseDataSourceOptions.js +4 -0
  1412. package/data-source/BaseDataSourceOptions.js.map +1 -0
  1413. package/data-source/DataSource.d.ts +246 -0
  1414. package/data-source/DataSource.js +452 -0
  1415. package/data-source/DataSource.js.map +1 -0
  1416. package/data-source/DataSourceOptions.d.ts +21 -0
  1417. package/data-source/DataSourceOptions.js +4 -0
  1418. package/data-source/DataSourceOptions.js.map +1 -0
  1419. package/data-source/index.d.ts +2 -0
  1420. package/data-source/index.js +7 -0
  1421. package/data-source/index.js.map +1 -0
  1422. package/decorator/Check.d.ts +2 -2
  1423. package/decorator/Check.js +11 -7
  1424. package/decorator/Check.js.map +1 -1
  1425. package/decorator/EntityRepository.d.ts +3 -1
  1426. package/decorator/EntityRepository.js +5 -2
  1427. package/decorator/EntityRepository.js.map +1 -1
  1428. package/decorator/Exclusion.d.ts +2 -2
  1429. package/decorator/Exclusion.js +11 -7
  1430. package/decorator/Exclusion.js.map +1 -1
  1431. package/decorator/Generated.d.ts +1 -1
  1432. package/decorator/Generated.js +5 -5
  1433. package/decorator/Generated.js.map +1 -1
  1434. package/decorator/Index.d.ts +10 -10
  1435. package/decorator/Index.js +30 -9
  1436. package/decorator/Index.js.map +1 -1
  1437. package/decorator/Unique.d.ts +7 -6
  1438. package/decorator/Unique.js +38 -8
  1439. package/decorator/Unique.js.map +1 -1
  1440. package/decorator/columns/Column.d.ts +13 -13
  1441. package/decorator/columns/Column.js +29 -16
  1442. package/decorator/columns/Column.js.map +1 -1
  1443. package/decorator/columns/CreateDateColumn.d.ts +2 -2
  1444. package/decorator/columns/CreateDateColumn.js +4 -3
  1445. package/decorator/columns/CreateDateColumn.js.map +1 -1
  1446. package/decorator/columns/DeleteDateColumn.d.ts +6 -0
  1447. package/decorator/columns/DeleteDateColumn.js +21 -0
  1448. package/decorator/columns/DeleteDateColumn.js.map +1 -0
  1449. package/decorator/columns/ObjectIdColumn.d.ts +2 -2
  1450. package/decorator/columns/ObjectIdColumn.js +4 -3
  1451. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  1452. package/decorator/columns/PrimaryColumn.d.ts +11 -3
  1453. package/decorator/columns/PrimaryColumn.js +14 -9
  1454. package/decorator/columns/PrimaryColumn.js.map +1 -1
  1455. package/decorator/columns/PrimaryGeneratedColumn.d.ts +7 -5
  1456. package/decorator/columns/PrimaryGeneratedColumn.js +12 -10
  1457. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  1458. package/decorator/columns/UpdateDateColumn.d.ts +2 -2
  1459. package/decorator/columns/UpdateDateColumn.js +4 -3
  1460. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  1461. package/decorator/columns/VersionColumn.d.ts +2 -2
  1462. package/decorator/columns/VersionColumn.js +4 -3
  1463. package/decorator/columns/VersionColumn.js.map +1 -1
  1464. package/decorator/columns/ViewColumn.d.ts +2 -1
  1465. package/decorator/columns/ViewColumn.js +5 -4
  1466. package/decorator/columns/ViewColumn.js.map +1 -1
  1467. package/decorator/entity/ChildEntity.d.ts +1 -1
  1468. package/decorator/entity/ChildEntity.js +6 -5
  1469. package/decorator/entity/ChildEntity.js.map +1 -1
  1470. package/decorator/entity/Entity.d.ts +3 -3
  1471. package/decorator/entity/Entity.js +9 -5
  1472. package/decorator/entity/Entity.js.map +1 -1
  1473. package/decorator/entity/TableInheritance.d.ts +2 -2
  1474. package/decorator/entity/TableInheritance.js +8 -3
  1475. package/decorator/entity/TableInheritance.js.map +1 -1
  1476. package/decorator/entity-view/ViewEntity.d.ts +2 -2
  1477. package/decorator/entity-view/ViewEntity.js +12 -5
  1478. package/decorator/entity-view/ViewEntity.js.map +1 -1
  1479. package/decorator/listeners/AfterInsert.d.ts +1 -1
  1480. package/decorator/listeners/AfterInsert.js +5 -4
  1481. package/decorator/listeners/AfterInsert.js.map +1 -1
  1482. package/decorator/listeners/AfterLoad.d.ts +1 -1
  1483. package/decorator/listeners/AfterLoad.js +5 -4
  1484. package/decorator/listeners/AfterLoad.js.map +1 -1
  1485. package/decorator/listeners/AfterRecover.d.ts +4 -0
  1486. package/decorator/listeners/AfterRecover.js +20 -0
  1487. package/decorator/listeners/AfterRecover.js.map +1 -0
  1488. package/decorator/listeners/AfterRemove.d.ts +1 -1
  1489. package/decorator/listeners/AfterRemove.js +5 -4
  1490. package/decorator/listeners/AfterRemove.js.map +1 -1
  1491. package/decorator/listeners/AfterSoftRemove.d.ts +4 -0
  1492. package/decorator/listeners/AfterSoftRemove.js +20 -0
  1493. package/decorator/listeners/AfterSoftRemove.js.map +1 -0
  1494. package/decorator/listeners/AfterUpdate.d.ts +1 -1
  1495. package/decorator/listeners/AfterUpdate.js +5 -4
  1496. package/decorator/listeners/AfterUpdate.js.map +1 -1
  1497. package/decorator/listeners/BeforeInsert.d.ts +1 -1
  1498. package/decorator/listeners/BeforeInsert.js +5 -4
  1499. package/decorator/listeners/BeforeInsert.js.map +1 -1
  1500. package/decorator/listeners/BeforeRecover.d.ts +4 -0
  1501. package/decorator/listeners/BeforeRecover.js +20 -0
  1502. package/decorator/listeners/BeforeRecover.js.map +1 -0
  1503. package/decorator/listeners/BeforeRemove.d.ts +1 -1
  1504. package/decorator/listeners/BeforeRemove.js +5 -4
  1505. package/decorator/listeners/BeforeRemove.js.map +1 -1
  1506. package/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
  1507. package/decorator/listeners/BeforeSoftRemove.js +20 -0
  1508. package/decorator/listeners/BeforeSoftRemove.js.map +1 -0
  1509. package/decorator/listeners/BeforeUpdate.d.ts +1 -1
  1510. package/decorator/listeners/BeforeUpdate.js +5 -4
  1511. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  1512. package/decorator/listeners/EventSubscriber.d.ts +1 -1
  1513. package/decorator/listeners/EventSubscriber.js +4 -3
  1514. package/decorator/listeners/EventSubscriber.js.map +1 -1
  1515. package/decorator/options/ColumnCommonOptions.d.ts +1 -1
  1516. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  1517. package/decorator/options/ColumnEmbeddedOptions.d.ts +6 -0
  1518. package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  1519. package/decorator/options/ColumnEnumOptions.js.map +1 -1
  1520. package/decorator/options/ColumnHstoreOptions.js.map +1 -1
  1521. package/decorator/options/ColumnNumericOptions.js.map +1 -1
  1522. package/decorator/options/ColumnOptions.d.ts +5 -1
  1523. package/decorator/options/ColumnOptions.js.map +1 -1
  1524. package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  1525. package/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  1526. package/decorator/options/EntityOptions.js.map +1 -1
  1527. package/decorator/options/IndexOptions.d.ts +5 -0
  1528. package/decorator/options/IndexOptions.js.map +1 -1
  1529. package/decorator/options/JoinColumnOptions.js.map +1 -1
  1530. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  1531. package/decorator/options/JoinTableOptions.js.map +1 -1
  1532. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  1533. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
  1534. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  1535. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  1536. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  1537. package/decorator/options/RelationOptions.d.ts +12 -2
  1538. package/decorator/options/RelationOptions.js.map +1 -1
  1539. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  1540. package/decorator/options/TransactionOptions.js.map +1 -1
  1541. package/decorator/options/UniqueOptions.d.ts +10 -0
  1542. package/decorator/options/UniqueOptions.js +4 -0
  1543. package/decorator/options/UniqueOptions.js.map +1 -0
  1544. package/decorator/options/ValueTransformer.js.map +1 -1
  1545. package/decorator/options/ViewColumnOptions.d.ts +15 -0
  1546. package/decorator/options/ViewColumnOptions.js +4 -0
  1547. package/decorator/options/ViewColumnOptions.js.map +1 -0
  1548. package/decorator/options/ViewEntityOptions.d.ts +7 -2
  1549. package/decorator/options/ViewEntityOptions.js.map +1 -1
  1550. package/decorator/relations/JoinColumn.d.ts +4 -4
  1551. package/decorator/relations/JoinColumn.js +8 -5
  1552. package/decorator/relations/JoinColumn.js.map +1 -1
  1553. package/decorator/relations/JoinTable.d.ts +4 -4
  1554. package/decorator/relations/JoinTable.js +15 -5
  1555. package/decorator/relations/JoinTable.js.map +1 -1
  1556. package/decorator/relations/ManyToMany.d.ts +4 -3
  1557. package/decorator/relations/ManyToMany.js +14 -9
  1558. package/decorator/relations/ManyToMany.js.map +1 -1
  1559. package/decorator/relations/ManyToOne.d.ts +10 -9
  1560. package/decorator/relations/ManyToOne.js +19 -14
  1561. package/decorator/relations/ManyToOne.js.map +1 -1
  1562. package/decorator/relations/OneToMany.d.ts +6 -4
  1563. package/decorator/relations/OneToMany.js +15 -10
  1564. package/decorator/relations/OneToMany.js.map +1 -1
  1565. package/decorator/relations/OneToOne.d.ts +4 -3
  1566. package/decorator/relations/OneToOne.js +14 -9
  1567. package/decorator/relations/OneToOne.js.map +1 -1
  1568. package/decorator/relations/RelationCount.d.ts +2 -2
  1569. package/decorator/relations/RelationCount.js +4 -3
  1570. package/decorator/relations/RelationCount.js.map +1 -1
  1571. package/decorator/relations/RelationId.d.ts +2 -2
  1572. package/decorator/relations/RelationId.js +4 -3
  1573. package/decorator/relations/RelationId.js.map +1 -1
  1574. package/decorator/tree/Tree.d.ts +2 -1
  1575. package/decorator/tree/Tree.js +6 -4
  1576. package/decorator/tree/Tree.js.map +1 -1
  1577. package/decorator/tree/TreeChildren.d.ts +2 -2
  1578. package/decorator/tree/TreeChildren.js +13 -7
  1579. package/decorator/tree/TreeChildren.js.map +1 -1
  1580. package/decorator/tree/TreeLevelColumn.d.ts +1 -1
  1581. package/decorator/tree/TreeLevelColumn.js +4 -3
  1582. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  1583. package/decorator/tree/TreeParent.d.ts +4 -1
  1584. package/decorator/tree/TreeParent.js +15 -7
  1585. package/decorator/tree/TreeParent.js.map +1 -1
  1586. package/driver/Driver.d.ts +39 -9
  1587. package/driver/Driver.js.map +1 -1
  1588. package/driver/DriverFactory.d.ts +2 -2
  1589. package/driver/DriverFactory.js +54 -25
  1590. package/driver/DriverFactory.js.map +1 -1
  1591. package/driver/DriverUtils.d.ts +39 -10
  1592. package/driver/DriverUtils.js +180 -54
  1593. package/driver/DriverUtils.js.map +1 -1
  1594. package/driver/Query.d.ts +1 -0
  1595. package/driver/Query.js +5 -4
  1596. package/driver/Query.js.map +1 -1
  1597. package/driver/SqlInMemory.js +4 -4
  1598. package/driver/SqlInMemory.js.map +1 -1
  1599. package/driver/aurora-mysql/AuroraMysqlConnection.d.ts +13 -0
  1600. package/driver/aurora-mysql/AuroraMysqlConnection.js +19 -0
  1601. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -0
  1602. package/driver/{aurora-data-api/AuroraDataApiConnectionCredentialsOptions.d.ts → aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts} +1 -1
  1603. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +4 -0
  1604. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
  1605. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +34 -0
  1606. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +4 -0
  1607. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -0
  1608. package/driver/{aurora-data-api/AuroraDataApiDriver.d.ts → aurora-mysql/AuroraMysqlDriver.d.ts} +49 -18
  1609. package/driver/{aurora-data-api/AuroraDataApiDriver.js → aurora-mysql/AuroraMysqlDriver.js} +330 -217
  1610. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
  1611. package/{browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts → driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts} +28 -18
  1612. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1681 -0
  1613. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
  1614. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +34 -0
  1615. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +4 -0
  1616. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -0
  1617. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +70 -0
  1618. package/driver/aurora-postgres/AuroraPostgresDriver.js +103 -0
  1619. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
  1620. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +48 -0
  1621. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +139 -0
  1622. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
  1623. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +55 -0
  1624. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +4 -0
  1625. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
  1626. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +59 -0
  1627. package/driver/better-sqlite3/BetterSqlite3Driver.js +154 -0
  1628. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
  1629. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +32 -0
  1630. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +128 -0
  1631. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
  1632. package/driver/capacitor/CapacitorConnectionOptions.d.ts +30 -0
  1633. package/driver/capacitor/CapacitorConnectionOptions.js +4 -0
  1634. package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -0
  1635. package/driver/capacitor/CapacitorDriver.d.ts +27 -0
  1636. package/driver/capacitor/CapacitorDriver.js +83 -0
  1637. package/driver/capacitor/CapacitorDriver.js.map +1 -0
  1638. package/driver/capacitor/CapacitorQueryRunner.d.ts +33 -0
  1639. package/driver/capacitor/CapacitorQueryRunner.js +98 -0
  1640. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
  1641. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  1642. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +12 -2
  1643. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  1644. package/driver/cockroachdb/CockroachDriver.d.ts +49 -8
  1645. package/driver/cockroachdb/CockroachDriver.js +331 -271
  1646. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  1647. package/driver/cockroachdb/CockroachQueryRunner.d.ts +21 -18
  1648. package/driver/cockroachdb/CockroachQueryRunner.js +1592 -2040
  1649. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  1650. package/driver/cordova/CordovaConnectionOptions.d.ts +7 -2
  1651. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  1652. package/driver/cordova/CordovaDriver.d.ts +5 -4
  1653. package/driver/cordova/CordovaDriver.js +38 -52
  1654. package/driver/cordova/CordovaDriver.js.map +1 -1
  1655. package/driver/cordova/CordovaQueryRunner.d.ts +27 -1
  1656. package/driver/cordova/CordovaQueryRunner.js +105 -56
  1657. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  1658. package/driver/expo/ExpoConnectionOptions.d.ts +6 -2
  1659. package/driver/expo/ExpoConnectionOptions.js.map +1 -1
  1660. package/driver/expo/ExpoDriver.d.ts +4 -7
  1661. package/driver/expo/ExpoDriver.js +36 -55
  1662. package/driver/expo/ExpoDriver.js.map +1 -1
  1663. package/driver/expo/ExpoQueryRunner.d.ts +9 -1
  1664. package/driver/expo/ExpoQueryRunner.js +129 -98
  1665. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  1666. package/driver/mongodb/MongoConnectionOptions.d.ts +20 -3
  1667. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  1668. package/driver/mongodb/MongoDriver.d.ts +36 -12
  1669. package/driver/mongodb/MongoDriver.js +153 -105
  1670. package/driver/mongodb/MongoDriver.js.map +1 -1
  1671. package/driver/mongodb/MongoQueryRunner.d.ts +26 -8
  1672. package/driver/mongodb/MongoQueryRunner.js +332 -748
  1673. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  1674. package/driver/mongodb/typings.d.ts +12 -11
  1675. package/driver/mongodb/typings.js +1 -1
  1676. package/driver/mongodb/typings.js.map +1 -1
  1677. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  1678. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  1679. package/driver/mysql/MysqlConnectionOptions.d.ts +8 -2
  1680. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  1681. package/driver/mysql/MysqlDriver.d.ts +48 -11
  1682. package/driver/mysql/MysqlDriver.js +450 -279
  1683. package/driver/mysql/MysqlDriver.js.map +1 -1
  1684. package/driver/mysql/MysqlQueryRunner.d.ts +24 -15
  1685. package/driver/mysql/MysqlQueryRunner.js +1567 -1764
  1686. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  1687. package/driver/nativescript/NativescriptConnectionOptions.d.ts +27 -2
  1688. package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  1689. package/driver/nativescript/NativescriptDriver.d.ts +5 -4
  1690. package/driver/nativescript/NativescriptDriver.js +41 -46
  1691. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  1692. package/driver/nativescript/NativescriptQueryRunner.d.ts +9 -1
  1693. package/driver/nativescript/NativescriptQueryRunner.js +59 -42
  1694. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  1695. package/driver/oracle/OracleConnectionCredentialsOptions.d.ts +4 -0
  1696. package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  1697. package/driver/oracle/OracleConnectionOptions.d.ts +11 -2
  1698. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  1699. package/driver/oracle/OracleDriver.d.ts +31 -7
  1700. package/driver/oracle/OracleDriver.js +338 -242
  1701. package/driver/oracle/OracleDriver.js.map +1 -1
  1702. package/driver/oracle/OracleQueryRunner.d.ts +22 -9
  1703. package/driver/oracle/OracleQueryRunner.js +1361 -1683
  1704. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  1705. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  1706. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  1707. package/driver/postgres/PostgresConnectionOptions.d.ts +34 -2
  1708. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  1709. package/driver/postgres/PostgresDriver.d.ts +81 -19
  1710. package/driver/postgres/PostgresDriver.js +624 -443
  1711. package/driver/postgres/PostgresDriver.js.map +1 -1
  1712. package/driver/postgres/PostgresQueryRunner.d.ts +47 -26
  1713. package/driver/postgres/PostgresQueryRunner.js +2144 -2300
  1714. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  1715. package/driver/react-native/ReactNativeConnectionOptions.d.ts +7 -2
  1716. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  1717. package/driver/react-native/ReactNativeDriver.d.ts +4 -3
  1718. package/driver/react-native/ReactNativeDriver.js +36 -45
  1719. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  1720. package/driver/react-native/ReactNativeQueryRunner.d.ts +9 -1
  1721. package/driver/react-native/ReactNativeQueryRunner.js +67 -56
  1722. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  1723. package/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
  1724. package/driver/sap/SapConnectionCredentialsOptions.js +4 -0
  1725. package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
  1726. package/driver/sap/SapConnectionOptions.d.ts +59 -0
  1727. package/driver/sap/SapConnectionOptions.js +4 -0
  1728. package/driver/sap/SapConnectionOptions.js.map +1 -0
  1729. package/driver/sap/SapDriver.d.ts +214 -0
  1730. package/driver/sap/SapDriver.js +645 -0
  1731. package/driver/sap/SapDriver.js.map +1 -0
  1732. package/driver/sap/SapQueryRunner.d.ts +342 -0
  1733. package/driver/sap/SapQueryRunner.js +1991 -0
  1734. package/driver/sap/SapQueryRunner.js.map +1 -0
  1735. package/driver/sqlite/SqliteConnectionOptions.d.ts +7 -2
  1736. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  1737. package/driver/sqlite/SqliteDriver.d.ts +18 -4
  1738. package/driver/sqlite/SqliteDriver.js +111 -87
  1739. package/driver/sqlite/SqliteDriver.js.map +1 -1
  1740. package/driver/sqlite/SqliteQueryRunner.d.ts +9 -1
  1741. package/driver/sqlite/SqliteQueryRunner.js +88 -71
  1742. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  1743. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +47 -10
  1744. package/driver/sqlite-abstract/AbstractSqliteDriver.js +259 -142
  1745. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  1746. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +24 -5
  1747. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1034 -1451
  1748. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  1749. package/driver/sqljs/SqljsConnectionOptions.d.ts +7 -2
  1750. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  1751. package/driver/sqljs/SqljsDriver.d.ts +4 -3
  1752. package/driver/sqljs/SqljsDriver.js +160 -232
  1753. package/driver/sqljs/SqljsDriver.js.map +1 -1
  1754. package/driver/sqljs/SqljsQueryRunner.d.ts +15 -1
  1755. package/driver/sqljs/SqljsQueryRunner.js +89 -64
  1756. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  1757. package/driver/sqlserver/MssqlParameter.d.ts +1 -0
  1758. package/driver/sqlserver/MssqlParameter.js +5 -8
  1759. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  1760. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  1761. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  1762. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -6
  1763. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  1764. package/driver/sqlserver/SqlServerDriver.d.ts +43 -9
  1765. package/driver/sqlserver/SqlServerDriver.js +366 -262
  1766. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  1767. package/driver/sqlserver/SqlServerQueryRunner.d.ts +18 -28
  1768. package/driver/sqlserver/SqlServerQueryRunner.js +1825 -2322
  1769. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  1770. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  1771. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
  1772. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  1773. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  1774. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
  1775. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  1776. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  1777. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
  1778. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  1779. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  1780. package/driver/{aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js → sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js} +1 -1
  1781. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  1782. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  1783. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
  1784. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  1785. package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  1786. package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
  1787. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  1788. package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  1789. package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
  1790. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  1791. package/driver/types/ColumnTypes.d.ts +5 -5
  1792. package/driver/types/ColumnTypes.js.map +1 -1
  1793. package/driver/types/DataTypeDefaults.js.map +1 -1
  1794. package/driver/types/DatabaseType.d.ts +1 -1
  1795. package/driver/types/DatabaseType.js.map +1 -1
  1796. package/driver/types/IsolationLevel.js.map +1 -1
  1797. package/driver/types/MappedColumnTypes.d.ts +12 -0
  1798. package/driver/types/MappedColumnTypes.js.map +1 -1
  1799. package/driver/types/MetadataTableType.d.ts +5 -0
  1800. package/driver/types/MetadataTableType.js +11 -0
  1801. package/driver/types/MetadataTableType.js.map +1 -0
  1802. package/driver/types/ReplicationMode.d.ts +1 -0
  1803. package/driver/types/ReplicationMode.js +4 -0
  1804. package/driver/types/ReplicationMode.js.map +1 -0
  1805. package/driver/types/UpsertType.d.ts +1 -0
  1806. package/driver/types/UpsertType.js +4 -0
  1807. package/driver/types/UpsertType.js.map +1 -0
  1808. package/entity-manager/EntityManager.d.ts +143 -286
  1809. package/entity-manager/EntityManager.js +541 -447
  1810. package/entity-manager/EntityManager.js.map +1 -1
  1811. package/entity-manager/EntityManagerFactory.d.ts +2 -2
  1812. package/entity-manager/EntityManagerFactory.js +10 -14
  1813. package/entity-manager/EntityManagerFactory.js.map +1 -1
  1814. package/entity-manager/MongoEntityManager.d.ts +101 -64
  1815. package/entity-manager/MongoEntityManager.js +507 -473
  1816. package/entity-manager/MongoEntityManager.js.map +1 -1
  1817. package/entity-manager/SqljsEntityManager.d.ts +3 -2
  1818. package/entity-manager/SqljsEntityManager.js +16 -36
  1819. package/entity-manager/SqljsEntityManager.js.map +1 -1
  1820. package/entity-schema/EntitySchema.d.ts +1 -0
  1821. package/entity-schema/EntitySchema.js +5 -4
  1822. package/entity-schema/EntitySchema.js.map +1 -1
  1823. package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  1824. package/entity-schema/EntitySchemaColumnOptions.d.ts +4 -0
  1825. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  1826. package/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
  1827. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js +8 -0
  1828. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
  1829. package/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
  1830. package/entity-schema/EntitySchemaEmbeddedError.js +18 -0
  1831. package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
  1832. package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  1833. package/entity-schema/EntitySchemaIndexOptions.d.ts +7 -2
  1834. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  1835. package/entity-schema/EntitySchemaOptions.d.ts +22 -10
  1836. package/entity-schema/EntitySchemaOptions.js +3 -5
  1837. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  1838. package/entity-schema/EntitySchemaRelationOptions.d.ts +15 -4
  1839. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  1840. package/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  1841. package/entity-schema/EntitySchemaTransformer.js +230 -183
  1842. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  1843. package/entity-schema/EntitySchemaUniqueOptions.d.ts +7 -2
  1844. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  1845. package/error/AlreadyHasActiveConnectionError.d.ts +2 -2
  1846. package/error/AlreadyHasActiveConnectionError.js +7 -12
  1847. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  1848. package/error/CannotAttachTreeChildrenEntityError.d.ts +3 -3
  1849. package/error/CannotAttachTreeChildrenEntityError.js +8 -12
  1850. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  1851. package/error/CannotConnectAlreadyConnectedError.d.ts +2 -2
  1852. package/error/CannotConnectAlreadyConnectedError.js +6 -11
  1853. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  1854. package/error/CannotCreateEntityIdMapError.d.ts +2 -2
  1855. package/error/CannotCreateEntityIdMapError.js +8 -12
  1856. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  1857. package/error/CannotDetermineEntityError.d.ts +2 -2
  1858. package/error/CannotDetermineEntityError.js +7 -11
  1859. package/error/CannotDetermineEntityError.js.map +1 -1
  1860. package/error/CannotExecuteNotConnectedError.d.ts +2 -2
  1861. package/error/CannotExecuteNotConnectedError.js +6 -11
  1862. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  1863. package/error/CannotGetEntityManagerNotConnectedError.d.ts +2 -2
  1864. package/error/CannotGetEntityManagerNotConnectedError.js +6 -11
  1865. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  1866. package/error/CannotReflectMethodParameterTypeError.d.ts +2 -2
  1867. package/error/CannotReflectMethodParameterTypeError.js +8 -13
  1868. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  1869. package/error/CircularRelationsError.d.ts +2 -2
  1870. package/error/CircularRelationsError.js +7 -11
  1871. package/error/CircularRelationsError.js.map +1 -1
  1872. package/error/ColumnTypeUndefinedError.d.ts +2 -2
  1873. package/error/ColumnTypeUndefinedError.js +9 -14
  1874. package/error/ColumnTypeUndefinedError.js.map +1 -1
  1875. package/error/ConnectionIsNotSetError.d.ts +2 -2
  1876. package/error/ConnectionIsNotSetError.js +6 -11
  1877. package/error/ConnectionIsNotSetError.js.map +1 -1
  1878. package/error/ConnectionNotFoundError.d.ts +2 -2
  1879. package/error/ConnectionNotFoundError.js +6 -11
  1880. package/error/ConnectionNotFoundError.js.map +1 -1
  1881. package/error/CustomRepositoryCannotInheritRepositoryError.d.ts +2 -2
  1882. package/error/CustomRepositoryCannotInheritRepositoryError.js +9 -12
  1883. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  1884. package/error/CustomRepositoryDoesNotHaveEntityError.d.ts +2 -2
  1885. package/error/CustomRepositoryDoesNotHaveEntityError.js +9 -12
  1886. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  1887. package/error/CustomRepositoryNotFoundError.d.ts +2 -2
  1888. package/error/CustomRepositoryNotFoundError.js +9 -12
  1889. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  1890. package/error/DataTypeNotSupportedError.d.ts +2 -2
  1891. package/error/DataTypeNotSupportedError.js +8 -12
  1892. package/error/DataTypeNotSupportedError.js.map +1 -1
  1893. package/error/DriverOptionNotSetError.d.ts +2 -2
  1894. package/error/DriverOptionNotSetError.js +7 -11
  1895. package/error/DriverOptionNotSetError.js.map +1 -1
  1896. package/error/DriverPackageNotInstalledError.d.ts +2 -2
  1897. package/error/DriverPackageNotInstalledError.js +7 -11
  1898. package/error/DriverPackageNotInstalledError.js.map +1 -1
  1899. package/error/EntityMetadataNotFoundError.d.ts +5 -6
  1900. package/error/EntityMetadataNotFoundError.js +18 -19
  1901. package/error/EntityMetadataNotFoundError.js.map +1 -1
  1902. package/error/EntityNotFoundError.d.ts +5 -5
  1903. package/error/EntityNotFoundError.js +22 -21
  1904. package/error/EntityNotFoundError.js.map +1 -1
  1905. package/error/EntityPropertyNotFoundError.d.ts +8 -0
  1906. package/error/EntityPropertyNotFoundError.js +17 -0
  1907. package/error/EntityPropertyNotFoundError.js.map +1 -0
  1908. package/error/FindRelationsNotFoundError.d.ts +7 -0
  1909. package/error/FindRelationsNotFoundError.js +23 -0
  1910. package/error/FindRelationsNotFoundError.js.map +1 -0
  1911. package/error/InitializedRelationError.d.ts +2 -1
  1912. package/error/InitializedRelationError.js +8 -12
  1913. package/error/InitializedRelationError.js.map +1 -1
  1914. package/error/InsertValuesMissingError.d.ts +2 -2
  1915. package/error/InsertValuesMissingError.js +7 -11
  1916. package/error/InsertValuesMissingError.js.map +1 -1
  1917. package/error/LimitOnUpdateNotSupportedError.d.ts +3 -3
  1918. package/error/LimitOnUpdateNotSupportedError.js +7 -12
  1919. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  1920. package/error/LockNotSupportedOnGivenDriverError.d.ts +2 -2
  1921. package/error/LockNotSupportedOnGivenDriverError.js +6 -11
  1922. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  1923. package/error/MetadataAlreadyExistsError.d.ts +2 -4
  1924. package/error/MetadataAlreadyExistsError.js +12 -15
  1925. package/error/MetadataAlreadyExistsError.js.map +1 -1
  1926. package/error/MetadataWithSuchNameAlreadyExistsError.d.ts +2 -4
  1927. package/error/MetadataWithSuchNameAlreadyExistsError.js +10 -14
  1928. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  1929. package/error/MissingDeleteDateColumnError.d.ts +5 -0
  1930. package/error/MissingDeleteDateColumnError.js +12 -0
  1931. package/error/MissingDeleteDateColumnError.js.map +1 -0
  1932. package/error/MissingDriverError.d.ts +3 -3
  1933. package/error/MissingDriverError.js +7 -11
  1934. package/error/MissingDriverError.js.map +1 -1
  1935. package/error/MissingJoinColumnError.d.ts +2 -4
  1936. package/error/MissingJoinColumnError.js +13 -17
  1937. package/error/MissingJoinColumnError.js.map +1 -1
  1938. package/error/MissingJoinTableError.d.ts +2 -4
  1939. package/error/MissingJoinTableError.js +13 -17
  1940. package/error/MissingJoinTableError.js.map +1 -1
  1941. package/error/MissingPrimaryColumnError.d.ts +2 -4
  1942. package/error/MissingPrimaryColumnError.js +7 -14
  1943. package/error/MissingPrimaryColumnError.js.map +1 -1
  1944. package/error/MustBeEntityError.d.ts +2 -2
  1945. package/error/MustBeEntityError.js +6 -11
  1946. package/error/MustBeEntityError.js.map +1 -1
  1947. package/error/NamingStrategyNotFoundError.d.ts +2 -2
  1948. package/error/NamingStrategyNotFoundError.js +12 -13
  1949. package/error/NamingStrategyNotFoundError.js.map +1 -1
  1950. package/error/NestedSetMultipleRootError.d.ts +4 -0
  1951. package/error/NestedSetMultipleRootError.js +12 -0
  1952. package/error/NestedSetMultipleRootError.js.map +1 -0
  1953. package/error/NoConnectionForRepositoryError.d.ts +2 -2
  1954. package/error/NoConnectionForRepositoryError.js +7 -12
  1955. package/error/NoConnectionForRepositoryError.js.map +1 -1
  1956. package/error/NoConnectionOptionError.d.ts +2 -1
  1957. package/error/NoConnectionOptionError.js +7 -10
  1958. package/error/NoConnectionOptionError.js.map +1 -1
  1959. package/error/NoNeedToReleaseEntityManagerError.d.ts +2 -2
  1960. package/error/NoNeedToReleaseEntityManagerError.js +8 -13
  1961. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  1962. package/error/NoVersionOrUpdateDateColumnError.d.ts +2 -2
  1963. package/error/NoVersionOrUpdateDateColumnError.js +6 -11
  1964. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  1965. package/error/OffsetWithoutLimitNotSupportedError.d.ts +4 -4
  1966. package/error/OffsetWithoutLimitNotSupportedError.js +9 -12
  1967. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  1968. package/error/OptimisticLockCanNotBeUsedError.d.ts +2 -2
  1969. package/error/OptimisticLockCanNotBeUsedError.js +6 -11
  1970. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  1971. package/error/OptimisticLockVersionMismatchError.d.ts +2 -2
  1972. package/error/OptimisticLockVersionMismatchError.js +6 -11
  1973. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  1974. package/error/PersistedEntityNotFoundError.d.ts +2 -2
  1975. package/error/PersistedEntityNotFoundError.js +6 -11
  1976. package/error/PersistedEntityNotFoundError.js.map +1 -1
  1977. package/error/PessimisticLockTransactionRequiredError.d.ts +2 -2
  1978. package/error/PessimisticLockTransactionRequiredError.js +6 -11
  1979. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  1980. package/error/PrimaryColumnCannotBeNullableError.d.ts +2 -2
  1981. package/error/PrimaryColumnCannotBeNullableError.js +7 -12
  1982. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  1983. package/error/QueryFailedError.d.ts +6 -2
  1984. package/error/QueryFailedError.js +20 -14
  1985. package/error/QueryFailedError.js.map +1 -1
  1986. package/error/QueryRunnerAlreadyReleasedError.d.ts +2 -4
  1987. package/error/QueryRunnerAlreadyReleasedError.js +6 -13
  1988. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  1989. package/error/QueryRunnerProviderAlreadyReleasedError.d.ts +2 -2
  1990. package/error/QueryRunnerProviderAlreadyReleasedError.js +7 -11
  1991. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  1992. package/error/RepositoryNotFoundError.d.ts +4 -4
  1993. package/error/RepositoryNotFoundError.js +17 -15
  1994. package/error/RepositoryNotFoundError.js.map +1 -1
  1995. package/error/RepositoryNotTreeError.d.ts +4 -4
  1996. package/error/RepositoryNotTreeError.js +19 -18
  1997. package/error/RepositoryNotTreeError.js.map +1 -1
  1998. package/error/ReturningStatementNotSupportedError.d.ts +2 -2
  1999. package/error/ReturningStatementNotSupportedError.js +6 -11
  2000. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  2001. package/error/SubjectRemovedAndUpdatedError.d.ts +2 -2
  2002. package/error/SubjectRemovedAndUpdatedError.js +7 -12
  2003. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  2004. package/error/SubjectWithoutIdentifierError.d.ts +2 -2
  2005. package/error/SubjectWithoutIdentifierError.js +6 -12
  2006. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  2007. package/error/TransactionAlreadyStartedError.d.ts +2 -2
  2008. package/error/TransactionAlreadyStartedError.js +6 -11
  2009. package/error/TransactionAlreadyStartedError.js.map +1 -1
  2010. package/error/TransactionNotStartedError.d.ts +2 -2
  2011. package/error/TransactionNotStartedError.js +6 -11
  2012. package/error/TransactionNotStartedError.js.map +1 -1
  2013. package/error/TreeRepositoryNotSupportedError.d.ts +2 -2
  2014. package/error/TreeRepositoryNotSupportedError.js +6 -11
  2015. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  2016. package/error/TypeORMError.d.ts +4 -0
  2017. package/error/TypeORMError.js +23 -0
  2018. package/error/TypeORMError.js.map +1 -0
  2019. package/error/UpdateValuesMissingError.d.ts +2 -5
  2020. package/error/UpdateValuesMissingError.js +6 -14
  2021. package/error/UpdateValuesMissingError.js.map +1 -1
  2022. package/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -4
  2023. package/error/UsingJoinColumnIsNotAllowedError.js +7 -14
  2024. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  2025. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -4
  2026. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +8 -15
  2027. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  2028. package/error/UsingJoinTableIsNotAllowedError.d.ts +2 -4
  2029. package/error/UsingJoinTableIsNotAllowedError.js +8 -15
  2030. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  2031. package/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -4
  2032. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +8 -15
  2033. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  2034. package/error/index.d.ts +62 -0
  2035. package/error/index.js +67 -0
  2036. package/error/index.js.map +1 -0
  2037. package/find-options/EqualOperator.d.ts +5 -0
  2038. package/find-options/EqualOperator.js +13 -0
  2039. package/find-options/EqualOperator.js.map +1 -0
  2040. package/find-options/FindManyOptions.d.ts +14 -0
  2041. package/find-options/FindManyOptions.js +4 -0
  2042. package/find-options/FindManyOptions.js.map +1 -0
  2043. package/find-options/FindOneOptions.d.ts +86 -0
  2044. package/find-options/FindOneOptions.js +4 -0
  2045. package/find-options/FindOneOptions.js.map +1 -0
  2046. package/find-options/FindOperator.d.ts +31 -8
  2047. package/find-options/FindOperator.js +65 -96
  2048. package/find-options/FindOperator.js.map +1 -1
  2049. package/find-options/FindOperatorType.d.ts +1 -1
  2050. package/find-options/FindOperatorType.js.map +1 -1
  2051. package/find-options/FindOptionsOrder.d.ts +19 -0
  2052. package/find-options/FindOptionsOrder.js +4 -0
  2053. package/find-options/FindOptionsOrder.js.map +1 -0
  2054. package/find-options/FindOptionsRelations.d.ts +19 -0
  2055. package/find-options/FindOptionsRelations.js +4 -0
  2056. package/find-options/FindOptionsRelations.js.map +1 -0
  2057. package/find-options/FindOptionsSelect.d.ts +19 -0
  2058. package/find-options/FindOptionsSelect.js +4 -0
  2059. package/find-options/FindOptionsSelect.js.map +1 -0
  2060. package/find-options/FindOptionsUtils.d.ts +180 -6
  2061. package/find-options/FindOptionsUtils.js +301 -95
  2062. package/find-options/FindOptionsUtils.js.map +1 -1
  2063. package/find-options/FindOptionsWhere.d.ts +14 -0
  2064. package/find-options/FindOptionsWhere.js +4 -0
  2065. package/find-options/FindOptionsWhere.js.map +1 -0
  2066. package/find-options/FindTreeOptions.d.ts +13 -0
  2067. package/find-options/FindTreeOptions.js +4 -0
  2068. package/find-options/FindTreeOptions.js.map +1 -0
  2069. package/find-options/JoinOptions.d.ts +76 -0
  2070. package/find-options/JoinOptions.js +4 -0
  2071. package/find-options/JoinOptions.js.map +1 -0
  2072. package/find-options/OrderByCondition.js.map +1 -1
  2073. package/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
  2074. package/find-options/mongodb/MongoFindManyOptions.js +4 -0
  2075. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
  2076. package/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
  2077. package/find-options/mongodb/MongoFindOneOptions.js +4 -0
  2078. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
  2079. package/find-options/operator/Any.d.ts +1 -1
  2080. package/find-options/operator/Any.js +2 -1
  2081. package/find-options/operator/Any.js.map +1 -1
  2082. package/find-options/operator/Between.d.ts +1 -1
  2083. package/find-options/operator/Between.js +2 -1
  2084. package/find-options/operator/Between.js.map +1 -1
  2085. package/find-options/operator/Equal.d.ts +7 -2
  2086. package/find-options/operator/Equal.js +8 -3
  2087. package/find-options/operator/Equal.js.map +1 -1
  2088. package/find-options/operator/ILike.d.ts +1 -1
  2089. package/find-options/operator/ILike.js +3 -2
  2090. package/find-options/operator/ILike.js.map +1 -1
  2091. package/find-options/operator/In.d.ts +1 -1
  2092. package/find-options/operator/In.js +2 -1
  2093. package/find-options/operator/In.js.map +1 -1
  2094. package/find-options/operator/IsNull.js +2 -1
  2095. package/find-options/operator/IsNull.js.map +1 -1
  2096. package/find-options/operator/LessThan.js +2 -1
  2097. package/find-options/operator/LessThan.js.map +1 -1
  2098. package/find-options/operator/LessThanOrEqual.js +2 -1
  2099. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  2100. package/find-options/operator/Like.d.ts +1 -1
  2101. package/find-options/operator/Like.js +3 -2
  2102. package/find-options/operator/Like.js.map +1 -1
  2103. package/find-options/operator/MoreThan.js +2 -1
  2104. package/find-options/operator/MoreThan.js.map +1 -1
  2105. package/find-options/operator/MoreThanOrEqual.js +2 -1
  2106. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  2107. package/find-options/operator/Not.d.ts +1 -1
  2108. package/find-options/operator/Not.js +3 -2
  2109. package/find-options/operator/Not.js.map +1 -1
  2110. package/find-options/operator/Raw.d.ts +14 -2
  2111. package/find-options/operator/Raw.js +7 -7
  2112. package/find-options/operator/Raw.js.map +1 -1
  2113. package/globals.d.ts +117 -0
  2114. package/globals.js +183 -0
  2115. package/globals.js.map +1 -0
  2116. package/index.d.ts +45 -113
  2117. package/index.js +86 -229
  2118. package/index.js.map +1 -1
  2119. package/index.mjs +366 -0
  2120. package/logger/AdvancedConsoleLogger.d.ts +2 -1
  2121. package/logger/AdvancedConsoleLogger.js +57 -33
  2122. package/logger/AdvancedConsoleLogger.js.map +1 -1
  2123. package/logger/DebugLogger.d.ts +1 -2
  2124. package/logger/DebugLogger.js +27 -26
  2125. package/logger/DebugLogger.js.map +1 -1
  2126. package/logger/FileLogger.d.ts +3 -1
  2127. package/logger/FileLogger.js +68 -40
  2128. package/logger/FileLogger.js.map +1 -1
  2129. package/logger/Logger.d.ts +1 -1
  2130. package/logger/Logger.js.map +1 -1
  2131. package/logger/LoggerFactory.js +11 -12
  2132. package/logger/LoggerFactory.js.map +1 -1
  2133. package/logger/LoggerOptions.d.ts +9 -0
  2134. package/logger/LoggerOptions.js.map +1 -1
  2135. package/logger/SimpleConsoleLogger.d.ts +2 -1
  2136. package/logger/SimpleConsoleLogger.js +56 -32
  2137. package/logger/SimpleConsoleLogger.js.map +1 -1
  2138. package/metadata/CheckMetadata.js +9 -7
  2139. package/metadata/CheckMetadata.js.map +1 -1
  2140. package/metadata/ColumnMetadata.d.ts +16 -7
  2141. package/metadata/ColumnMetadata.js +243 -127
  2142. package/metadata/ColumnMetadata.js.map +1 -1
  2143. package/metadata/EmbeddedMetadata.d.ts +12 -5
  2144. package/metadata/EmbeddedMetadata.js +78 -50
  2145. package/metadata/EmbeddedMetadata.js.map +1 -1
  2146. package/metadata/EntityListenerMetadata.js +22 -14
  2147. package/metadata/EntityListenerMetadata.js.map +1 -1
  2148. package/metadata/EntityMetadata.d.ts +65 -22
  2149. package/metadata/EntityMetadata.js +255 -163
  2150. package/metadata/EntityMetadata.js.map +1 -1
  2151. package/metadata/ExclusionMetadata.js +9 -7
  2152. package/metadata/ExclusionMetadata.js.map +1 -1
  2153. package/metadata/ForeignKeyMetadata.js +9 -9
  2154. package/metadata/ForeignKeyMetadata.js.map +1 -1
  2155. package/metadata/IndexMetadata.d.ts +7 -2
  2156. package/metadata/IndexMetadata.js +45 -33
  2157. package/metadata/IndexMetadata.js.map +1 -1
  2158. package/metadata/RelationCountMetadata.js +12 -9
  2159. package/metadata/RelationCountMetadata.js.map +1 -1
  2160. package/metadata/RelationIdMetadata.js +22 -18
  2161. package/metadata/RelationIdMetadata.js.map +1 -1
  2162. package/metadata/RelationMetadata.d.ts +28 -5
  2163. package/metadata/RelationMetadata.js +162 -79
  2164. package/metadata/RelationMetadata.js.map +1 -1
  2165. package/metadata/UniqueMetadata.d.ts +7 -2
  2166. package/metadata/UniqueMetadata.js +41 -31
  2167. package/metadata/UniqueMetadata.js.map +1 -1
  2168. package/metadata/types/ClosureTreeOptions.d.ts +10 -0
  2169. package/metadata/types/ClosureTreeOptions.js +4 -0
  2170. package/metadata/types/ClosureTreeOptions.js.map +1 -0
  2171. package/metadata/types/DeferrableType.js.map +1 -1
  2172. package/metadata/types/EventListenerTypes.d.ts +12 -8
  2173. package/metadata/types/EventListenerTypes.js +14 -12
  2174. package/metadata/types/EventListenerTypes.js.map +1 -1
  2175. package/metadata/types/OnDeleteType.js.map +1 -1
  2176. package/metadata/types/OnUpdateType.js.map +1 -1
  2177. package/metadata/types/PropertyTypeInFunction.js.map +1 -1
  2178. package/metadata/types/RelationTypeInFunction.d.ts +2 -1
  2179. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  2180. package/metadata/types/RelationTypes.js.map +1 -1
  2181. package/metadata/types/TableTypes.d.ts +1 -1
  2182. package/metadata/types/TableTypes.js.map +1 -1
  2183. package/metadata/types/TreeTypes.js.map +1 -1
  2184. package/metadata-args/CheckMetadataArgs.js.map +1 -1
  2185. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  2186. package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  2187. package/metadata-args/EmbeddedMetadataArgs.d.ts +2 -2
  2188. package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  2189. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  2190. package/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
  2191. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  2192. package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  2193. package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  2194. package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  2195. package/metadata-args/IndexMetadataArgs.d.ts +7 -2
  2196. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  2197. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  2198. package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  2199. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  2200. package/metadata-args/MetadataArgsStorage.d.ts +4 -0
  2201. package/metadata-args/MetadataArgsStorage.js +147 -95
  2202. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  2203. package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  2204. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  2205. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  2206. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  2207. package/metadata-args/TableMetadataArgs.d.ts +9 -5
  2208. package/metadata-args/TableMetadataArgs.js.map +1 -1
  2209. package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  2210. package/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
  2211. package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  2212. package/metadata-args/TreeMetadataArgs.d.ts +5 -0
  2213. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  2214. package/metadata-args/UniqueMetadataArgs.d.ts +7 -2
  2215. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  2216. package/metadata-args/types/ColumnMode.d.ts +1 -1
  2217. package/metadata-args/types/ColumnMode.js.map +1 -1
  2218. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +2 -2
  2219. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +52 -33
  2220. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  2221. package/metadata-builder/EntityMetadataBuilder.d.ts +2 -2
  2222. package/metadata-builder/EntityMetadataBuilder.js +412 -281
  2223. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  2224. package/metadata-builder/EntityMetadataValidator.js +85 -73
  2225. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  2226. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +2 -2
  2227. package/metadata-builder/JunctionEntityMetadataBuilder.js +149 -95
  2228. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  2229. package/metadata-builder/MetadataUtils.js +13 -15
  2230. package/metadata-builder/MetadataUtils.js.map +1 -1
  2231. package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -2
  2232. package/metadata-builder/RelationJoinColumnBuilder.js +73 -52
  2233. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  2234. package/migration/Migration.js +4 -4
  2235. package/migration/Migration.js.map +1 -1
  2236. package/migration/MigrationExecutor.d.ts +6 -4
  2237. package/migration/MigrationExecutor.js +383 -537
  2238. package/migration/MigrationExecutor.js.map +1 -1
  2239. package/migration/MigrationInterface.js.map +1 -1
  2240. package/naming-strategy/DefaultNamingStrategy.d.ts +7 -1
  2241. package/naming-strategy/DefaultNamingStrategy.js +96 -84
  2242. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  2243. package/naming-strategy/NamingStrategyInterface.d.ts +17 -1
  2244. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  2245. package/package.json +173 -71
  2246. package/persistence/EntityPersistExecutor.d.ts +4 -4
  2247. package/persistence/EntityPersistExecutor.js +137 -160
  2248. package/persistence/EntityPersistExecutor.js.map +1 -1
  2249. package/persistence/Subject.d.ts +27 -3
  2250. package/persistence/Subject.js +105 -67
  2251. package/persistence/Subject.js.map +1 -1
  2252. package/persistence/SubjectChangeMap.js.map +1 -1
  2253. package/persistence/SubjectChangedColumnsComputer.js +77 -53
  2254. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  2255. package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -1
  2256. package/persistence/SubjectDatabaseEntityLoader.js +98 -113
  2257. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  2258. package/persistence/SubjectExecutor.d.ts +19 -2
  2259. package/persistence/SubjectExecutor.js +594 -427
  2260. package/persistence/SubjectExecutor.js.map +1 -1
  2261. package/persistence/SubjectTopoligicalSorter.js +64 -58
  2262. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  2263. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  2264. package/persistence/subject-builder/CascadesSubjectBuilder.js +55 -28
  2265. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  2266. package/persistence/subject-builder/ManyToManySubjectBuilder.js +67 -60
  2267. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  2268. package/persistence/subject-builder/OneToManySubjectBuilder.js +64 -45
  2269. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  2270. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +35 -30
  2271. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  2272. package/persistence/tree/ClosureSubjectExecutor.d.ts +8 -11
  2273. package/persistence/tree/ClosureSubjectExecutor.js +215 -89
  2274. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  2275. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +5 -0
  2276. package/persistence/tree/MaterializedPathSubjectExecutor.js +90 -47
  2277. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  2278. package/persistence/tree/NestedSetSubjectExecutor.d.ts +20 -0
  2279. package/persistence/tree/NestedSetSubjectExecutor.js +245 -62
  2280. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  2281. package/platform/PlatformTools.d.ts +8 -1
  2282. package/platform/PlatformTools.js +123 -118
  2283. package/platform/PlatformTools.js.map +1 -1
  2284. package/query-builder/Alias.d.ts +4 -3
  2285. package/query-builder/Alias.js +20 -31
  2286. package/query-builder/Alias.js.map +1 -1
  2287. package/query-builder/Brackets.d.ts +4 -3
  2288. package/query-builder/Brackets.js +5 -4
  2289. package/query-builder/Brackets.js.map +1 -1
  2290. package/query-builder/DeleteQueryBuilder.d.ts +13 -11
  2291. package/query-builder/DeleteQueryBuilder.js +113 -168
  2292. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  2293. package/query-builder/InsertOrUpdateOptions.d.ts +3 -0
  2294. package/query-builder/InsertOrUpdateOptions.js +4 -0
  2295. package/query-builder/InsertOrUpdateOptions.js.map +1 -0
  2296. package/query-builder/InsertQueryBuilder.d.ts +15 -5
  2297. package/query-builder/InsertQueryBuilder.js +460 -298
  2298. package/query-builder/InsertQueryBuilder.js.map +1 -1
  2299. package/query-builder/JoinAttribute.d.ts +12 -12
  2300. package/query-builder/JoinAttribute.js +143 -190
  2301. package/query-builder/JoinAttribute.js.map +1 -1
  2302. package/query-builder/JoinOptions.js.map +1 -1
  2303. package/query-builder/NotBrackets.d.ts +8 -0
  2304. package/query-builder/NotBrackets.js +17 -0
  2305. package/query-builder/NotBrackets.js.map +1 -0
  2306. package/query-builder/QueryBuilder.d.ts +55 -32
  2307. package/query-builder/QueryBuilder.js +703 -378
  2308. package/query-builder/QueryBuilder.js.map +1 -1
  2309. package/query-builder/QueryBuilderUtils.d.ts +0 -1
  2310. package/query-builder/QueryBuilderUtils.js +6 -15
  2311. package/query-builder/QueryBuilderUtils.js.map +1 -1
  2312. package/query-builder/QueryExpressionMap.d.ts +51 -29
  2313. package/query-builder/QueryExpressionMap.js +97 -88
  2314. package/query-builder/QueryExpressionMap.js.map +1 -1
  2315. package/query-builder/QueryPartialEntity.d.ts +1 -1
  2316. package/query-builder/QueryPartialEntity.js.map +1 -1
  2317. package/query-builder/RelationIdLoader.d.ts +10 -12
  2318. package/query-builder/RelationIdLoader.js +307 -184
  2319. package/query-builder/RelationIdLoader.js.map +1 -1
  2320. package/query-builder/RelationLoader.d.ts +6 -3
  2321. package/query-builder/RelationLoader.js +182 -145
  2322. package/query-builder/RelationLoader.js.map +1 -1
  2323. package/query-builder/RelationQueryBuilder.d.ts +2 -1
  2324. package/query-builder/RelationQueryBuilder.js +85 -114
  2325. package/query-builder/RelationQueryBuilder.js.map +1 -1
  2326. package/query-builder/RelationRemover.js +120 -83
  2327. package/query-builder/RelationRemover.js.map +1 -1
  2328. package/query-builder/RelationUpdater.js +129 -127
  2329. package/query-builder/RelationUpdater.js.map +1 -1
  2330. package/query-builder/ReturningResultsEntityUpdator.d.ts +4 -4
  2331. package/query-builder/ReturningResultsEntityUpdator.js +136 -154
  2332. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  2333. package/query-builder/SelectQuery.js.map +1 -1
  2334. package/query-builder/SelectQueryBuilder.d.ts +64 -50
  2335. package/query-builder/SelectQueryBuilder.js +1661 -1308
  2336. package/query-builder/SelectQueryBuilder.js.map +1 -1
  2337. package/query-builder/SelectQueryBuilderOption.js.map +1 -1
  2338. package/query-builder/SoftDeleteQueryBuilder.d.ts +138 -0
  2339. package/query-builder/SoftDeleteQueryBuilder.js +367 -0
  2340. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
  2341. package/query-builder/UpdateQueryBuilder.d.ts +11 -8
  2342. package/query-builder/UpdateQueryBuilder.js +283 -304
  2343. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  2344. package/query-builder/WhereClause.d.ts +16 -0
  2345. package/query-builder/WhereClause.js +4 -0
  2346. package/query-builder/WhereClause.js.map +1 -0
  2347. package/query-builder/{WhereExpression.d.ts → WhereExpressionBuilder.d.ts} +51 -3
  2348. package/query-builder/WhereExpressionBuilder.js +4 -0
  2349. package/query-builder/WhereExpressionBuilder.js.map +1 -0
  2350. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  2351. package/query-builder/relation-count/RelationCountAttribute.js +69 -97
  2352. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  2353. package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  2354. package/query-builder/relation-count/RelationCountLoader.d.ts +3 -3
  2355. package/query-builder/relation-count/RelationCountLoader.js +151 -100
  2356. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  2357. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +17 -18
  2358. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  2359. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  2360. package/query-builder/relation-id/RelationIdAttribute.js +70 -102
  2361. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  2362. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  2363. package/query-builder/relation-id/RelationIdLoader.d.ts +3 -3
  2364. package/query-builder/relation-id/RelationIdLoader.js +257 -148
  2365. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  2366. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +17 -18
  2367. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  2368. package/query-builder/result/DeleteResult.d.ts +3 -1
  2369. package/query-builder/result/DeleteResult.js +8 -4
  2370. package/query-builder/result/DeleteResult.js.map +1 -1
  2371. package/query-builder/result/InsertResult.d.ts +2 -0
  2372. package/query-builder/result/InsertResult.js +9 -4
  2373. package/query-builder/result/InsertResult.js.map +1 -1
  2374. package/query-builder/result/UpdateResult.d.ts +2 -0
  2375. package/query-builder/result/UpdateResult.js +10 -4
  2376. package/query-builder/result/UpdateResult.js.map +1 -1
  2377. package/query-builder/transformer/DocumentToEntityTransformer.d.ts +1 -2
  2378. package/query-builder/transformer/DocumentToEntityTransformer.js +49 -34
  2379. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  2380. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +75 -100
  2381. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  2382. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +26 -26
  2383. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  2384. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +13 -0
  2385. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +231 -160
  2386. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  2387. package/query-runner/BaseQueryRunner.d.ts +49 -12
  2388. package/query-runner/BaseQueryRunner.js +243 -248
  2389. package/query-runner/BaseQueryRunner.js.map +1 -1
  2390. package/query-runner/QueryLock.d.ts +4 -0
  2391. package/query-runner/QueryLock.js +28 -0
  2392. package/query-runner/QueryLock.js.map +1 -0
  2393. package/query-runner/QueryResult.d.ts +17 -0
  2394. package/query-runner/QueryResult.js +17 -0
  2395. package/query-runner/QueryResult.js.map +1 -0
  2396. package/query-runner/QueryRunner.d.ts +36 -8
  2397. package/query-runner/QueryRunner.js.map +1 -1
  2398. package/repository/AbstractRepository.d.ts +5 -5
  2399. package/repository/AbstractRepository.js +50 -55
  2400. package/repository/AbstractRepository.js.map +1 -1
  2401. package/repository/BaseEntity.d.ts +69 -81
  2402. package/repository/BaseEntity.js +171 -131
  2403. package/repository/BaseEntity.js.map +1 -1
  2404. package/repository/EntityId.js.map +1 -1
  2405. package/repository/FindTreesOptions.d.ts +9 -0
  2406. package/repository/FindTreesOptions.js +4 -0
  2407. package/repository/FindTreesOptions.js.map +1 -0
  2408. package/repository/MongoRepository.d.ts +55 -9
  2409. package/repository/MongoRepository.js +332 -0
  2410. package/repository/MongoRepository.js.map +1 -1
  2411. package/repository/RemoveOptions.js.map +1 -1
  2412. package/repository/Repository.d.ts +130 -97
  2413. package/repository/Repository.js +290 -0
  2414. package/repository/Repository.js.map +1 -1
  2415. package/repository/SaveOptions.d.ts +1 -1
  2416. package/repository/SaveOptions.js.map +1 -1
  2417. package/repository/TreeRepository.d.ts +14 -9
  2418. package/repository/TreeRepository.js +265 -0
  2419. package/repository/TreeRepository.js.map +1 -1
  2420. package/repository/UpsertOptions.d.ts +10 -0
  2421. package/repository/UpsertOptions.js +4 -0
  2422. package/repository/UpsertOptions.js.map +1 -0
  2423. package/schema-builder/MongoSchemaBuilder.d.ts +3 -3
  2424. package/schema-builder/MongoSchemaBuilder.js +30 -42
  2425. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  2426. package/schema-builder/RdbmsSchemaBuilder.d.ts +14 -6
  2427. package/schema-builder/RdbmsSchemaBuilder.js +703 -1065
  2428. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  2429. package/schema-builder/SchemaBuilder.js.map +1 -1
  2430. package/schema-builder/options/TableCheckOptions.js.map +1 -1
  2431. package/schema-builder/options/TableColumnOptions.d.ts +6 -2
  2432. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  2433. package/schema-builder/options/TableExclusionOptions.js.map +1 -1
  2434. package/schema-builder/options/TableForeignKeyOptions.d.ts +8 -0
  2435. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  2436. package/schema-builder/options/TableIndexOptions.d.ts +6 -1
  2437. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  2438. package/schema-builder/options/TableOptions.d.ts +8 -0
  2439. package/schema-builder/options/TableOptions.js.map +1 -1
  2440. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  2441. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  2442. package/schema-builder/options/ViewOptions.d.ts +10 -2
  2443. package/schema-builder/options/ViewOptions.js.map +1 -1
  2444. package/schema-builder/table/Table.d.ts +13 -3
  2445. package/schema-builder/table/Table.js +117 -103
  2446. package/schema-builder/table/Table.js.map +1 -1
  2447. package/schema-builder/table/TableCheck.d.ts +1 -0
  2448. package/schema-builder/table/TableCheck.js +11 -11
  2449. package/schema-builder/table/TableCheck.js.map +1 -1
  2450. package/schema-builder/table/TableColumn.d.ts +7 -2
  2451. package/schema-builder/table/TableColumn.js +11 -8
  2452. package/schema-builder/table/TableColumn.js.map +1 -1
  2453. package/schema-builder/table/TableExclusion.d.ts +1 -0
  2454. package/schema-builder/table/TableExclusion.js +10 -9
  2455. package/schema-builder/table/TableExclusion.js.map +1 -1
  2456. package/schema-builder/table/TableForeignKey.d.ts +11 -1
  2457. package/schema-builder/table/TableForeignKey.js +17 -11
  2458. package/schema-builder/table/TableForeignKey.js.map +1 -1
  2459. package/schema-builder/table/TableIndex.d.ts +6 -0
  2460. package/schema-builder/table/TableIndex.js +16 -13
  2461. package/schema-builder/table/TableIndex.js.map +1 -1
  2462. package/schema-builder/table/TableUnique.d.ts +6 -0
  2463. package/schema-builder/table/TableUnique.js +14 -11
  2464. package/schema-builder/table/TableUnique.js.map +1 -1
  2465. package/schema-builder/util/TableUtils.js +11 -10
  2466. package/schema-builder/util/TableUtils.js.map +1 -1
  2467. package/schema-builder/util/ViewUtils.d.ts +7 -0
  2468. package/schema-builder/util/ViewUtils.js +27 -0
  2469. package/schema-builder/util/ViewUtils.js.map +1 -0
  2470. package/schema-builder/view/View.d.ts +12 -5
  2471. package/schema-builder/view/View.js +17 -10
  2472. package/schema-builder/view/View.js.map +1 -1
  2473. package/subscriber/Broadcaster.d.ts +87 -2
  2474. package/subscriber/Broadcaster.js +413 -118
  2475. package/subscriber/Broadcaster.js.map +1 -1
  2476. package/subscriber/BroadcasterResult.d.ts +4 -0
  2477. package/subscriber/BroadcasterResult.js +13 -4
  2478. package/subscriber/BroadcasterResult.js.map +1 -1
  2479. package/subscriber/EntitySubscriberInterface.d.ts +45 -0
  2480. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  2481. package/subscriber/event/InsertEvent.d.ts +7 -7
  2482. package/subscriber/event/InsertEvent.js.map +1 -1
  2483. package/subscriber/event/LoadEvent.d.ts +2 -2
  2484. package/subscriber/event/LoadEvent.js.map +1 -1
  2485. package/subscriber/event/RecoverEvent.d.ts +6 -0
  2486. package/subscriber/event/RecoverEvent.js +4 -0
  2487. package/subscriber/event/RecoverEvent.js.map +1 -0
  2488. package/subscriber/event/RemoveEvent.d.ts +7 -7
  2489. package/subscriber/event/RemoveEvent.js.map +1 -1
  2490. package/subscriber/event/SoftRemoveEvent.d.ts +6 -0
  2491. package/subscriber/event/SoftRemoveEvent.js +4 -0
  2492. package/subscriber/event/SoftRemoveEvent.js.map +1 -0
  2493. package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  2494. package/subscriber/event/TransactionCommitEvent.js +4 -0
  2495. package/subscriber/event/TransactionCommitEvent.js.map +1 -0
  2496. package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  2497. package/subscriber/event/TransactionRollbackEvent.js +4 -0
  2498. package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  2499. package/subscriber/event/TransactionStartEvent.d.ts +22 -0
  2500. package/subscriber/event/TransactionStartEvent.js +4 -0
  2501. package/subscriber/event/TransactionStartEvent.js.map +1 -0
  2502. package/subscriber/event/UpdateEvent.d.ts +5 -4
  2503. package/subscriber/event/UpdateEvent.js.map +1 -1
  2504. package/typeorm-class-transformer-shim.js +41 -7
  2505. package/typeorm-model-shim.js +166 -111
  2506. package/util/ApplyValueTransformers.js +14 -28
  2507. package/util/ApplyValueTransformers.js.map +1 -1
  2508. package/util/DateUtils.d.ts +2 -2
  2509. package/util/DateUtils.js +111 -82
  2510. package/util/DateUtils.js.map +1 -1
  2511. package/util/DepGraph.js +51 -49
  2512. package/util/DepGraph.js.map +1 -1
  2513. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  2514. package/util/DirectoryExportedClassesLoader.js +35 -26
  2515. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  2516. package/util/ImportUtils.d.ts +1 -0
  2517. package/util/ImportUtils.js +79 -0
  2518. package/util/ImportUtils.js.map +1 -0
  2519. package/util/InstanceChecker.d.ts +61 -0
  2520. package/util/InstanceChecker.js +107 -0
  2521. package/util/InstanceChecker.js.map +1 -0
  2522. package/util/ObjectUtils.d.ts +17 -6
  2523. package/util/ObjectUtils.js +27 -35
  2524. package/util/ObjectUtils.js.map +1 -1
  2525. package/util/OrmUtils.d.ts +16 -8
  2526. package/util/OrmUtils.js +199 -97
  2527. package/util/OrmUtils.js.map +1 -1
  2528. package/util/PathUtils.d.ts +10 -0
  2529. package/util/PathUtils.js +34 -0
  2530. package/util/PathUtils.js.map +1 -0
  2531. package/util/RandomGenerator.d.ts +0 -4
  2532. package/util/RandomGenerator.js +62 -51
  2533. package/util/RandomGenerator.js.map +1 -1
  2534. package/util/StringUtils.d.ts +13 -3
  2535. package/util/StringUtils.js +45 -19
  2536. package/util/StringUtils.js.map +1 -1
  2537. package/util/TreeRepositoryUtils.d.ts +23 -0
  2538. package/util/TreeRepositoryUtils.js +60 -0
  2539. package/util/TreeRepositoryUtils.js.map +1 -0
  2540. package/util/VersionUtils.js +12 -15
  2541. package/util/VersionUtils.js.map +1 -1
  2542. package/browser/decorator/transaction/Transaction.d.ts +0 -16
  2543. package/browser/decorator/transaction/Transaction.js +0 -85
  2544. package/browser/decorator/transaction/Transaction.js.map +0 -1
  2545. package/browser/decorator/transaction/TransactionManager.d.ts +0 -4
  2546. package/browser/decorator/transaction/TransactionManager.js +0 -15
  2547. package/browser/decorator/transaction/TransactionManager.js.map +0 -1
  2548. package/browser/decorator/transaction/TransactionRepository.d.ts +0 -6
  2549. package/browser/decorator/transaction/TransactionRepository.js +0 -28
  2550. package/browser/decorator/transaction/TransactionRepository.js.map +0 -1
  2551. package/browser/driver/aurora-data-api/AuroraDataApiConnection.d.ts +0 -11
  2552. package/browser/driver/aurora-data-api/AuroraDataApiConnection.js +0 -21
  2553. package/browser/driver/aurora-data-api/AuroraDataApiConnection.js.map +0 -1
  2554. package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +0 -3
  2555. package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js.map +0 -1
  2556. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +0 -22
  2557. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +0 -3
  2558. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +0 -1
  2559. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +0 -1
  2560. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +0 -2015
  2561. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +0 -1
  2562. package/browser/entity-factory/DefaultEntityFactory.d.ts +0 -7
  2563. package/browser/entity-factory/DefaultEntityFactory.js +0 -16
  2564. package/browser/entity-factory/DefaultEntityFactory.js.map +0 -1
  2565. package/browser/entity-factory/EntityFactoryInterface.d.ts +0 -11
  2566. package/browser/entity-factory/EntityFactoryInterface.js +0 -3
  2567. package/browser/entity-factory/EntityFactoryInterface.js.map +0 -1
  2568. package/browser/entity-factory/OldEntityFactory.d.ts +0 -7
  2569. package/browser/entity-factory/OldEntityFactory.js +0 -14
  2570. package/browser/entity-factory/OldEntityFactory.js.map +0 -1
  2571. package/browser/error/EntityColumnNotFound.d.ts +0 -7
  2572. package/browser/error/EntityColumnNotFound.js +0 -18
  2573. package/browser/error/EntityColumnNotFound.js.map +0 -1
  2574. package/browser/error/FindCriteriaNotFoundError.d.ts +0 -7
  2575. package/browser/error/FindCriteriaNotFoundError.js +0 -17
  2576. package/browser/error/FindCriteriaNotFoundError.js.map +0 -1
  2577. package/browser/find-options/FindOptions.d.ts +0 -171
  2578. package/browser/find-options/FindOptions.js +0 -3
  2579. package/browser/find-options/FindOptions.js.map +0 -1
  2580. package/browser/find-options/operator/If.d.ts +0 -8
  2581. package/browser/find-options/operator/If.js +0 -21
  2582. package/browser/find-options/operator/If.js.map +0 -1
  2583. package/browser/find-options/operator/Switch.d.ts +0 -16
  2584. package/browser/find-options/operator/Switch.js +0 -17
  2585. package/browser/find-options/operator/Switch.js.map +0 -1
  2586. package/browser/observer/ObserverExecutor.d.ts +0 -18
  2587. package/browser/observer/ObserverExecutor.js +0 -404
  2588. package/browser/observer/ObserverExecutor.js.map +0 -1
  2589. package/browser/observer/QueryObserver.d.ts +0 -28
  2590. package/browser/observer/QueryObserver.js +0 -120
  2591. package/browser/observer/QueryObserver.js.map +0 -1
  2592. package/browser/query-builder/WhereExpression.js +0 -3
  2593. package/browser/query-builder/WhereExpression.js.map +0 -1
  2594. package/browser/repository/LiteralMongoRepository.d.ts +0 -11
  2595. package/browser/repository/LiteralMongoRepository.js +0 -138
  2596. package/browser/repository/LiteralMongoRepository.js.map +0 -1
  2597. package/browser/repository/LiteralRepository.d.ts +0 -11
  2598. package/browser/repository/LiteralRepository.js +0 -211
  2599. package/browser/repository/LiteralRepository.js.map +0 -1
  2600. package/browser/repository/LiteralTreeRepository.d.ts +0 -9
  2601. package/browser/repository/LiteralTreeRepository.js +0 -224
  2602. package/browser/repository/LiteralTreeRepository.js.map +0 -1
  2603. package/browser/repository/RepositoryFactory.d.ts +0 -13
  2604. package/browser/repository/RepositoryFactory.js +0 -50
  2605. package/browser/repository/RepositoryFactory.js.map +0 -1
  2606. package/browser/util/PromiseUtils.d.ts +0 -24
  2607. package/browser/util/PromiseUtils.js +0 -62
  2608. package/browser/util/PromiseUtils.js.map +0 -1
  2609. package/decorator/transaction/Transaction.d.ts +0 -16
  2610. package/decorator/transaction/Transaction.js +0 -88
  2611. package/decorator/transaction/Transaction.js.map +0 -1
  2612. package/decorator/transaction/TransactionManager.d.ts +0 -4
  2613. package/decorator/transaction/TransactionManager.js +0 -18
  2614. package/decorator/transaction/TransactionManager.js.map +0 -1
  2615. package/decorator/transaction/TransactionRepository.d.ts +0 -6
  2616. package/decorator/transaction/TransactionRepository.js +0 -31
  2617. package/decorator/transaction/TransactionRepository.js.map +0 -1
  2618. package/driver/aurora-data-api/AuroraDataApiConnection.d.ts +0 -11
  2619. package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -23
  2620. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +0 -1
  2621. package/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js.map +0 -1
  2622. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +0 -22
  2623. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +0 -1
  2624. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +0 -1
  2625. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +0 -2017
  2626. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +0 -1
  2627. package/entity-factory/DefaultEntityFactory.d.ts +0 -7
  2628. package/entity-factory/DefaultEntityFactory.js +0 -18
  2629. package/entity-factory/DefaultEntityFactory.js.map +0 -1
  2630. package/entity-factory/EntityFactoryInterface.d.ts +0 -11
  2631. package/entity-factory/EntityFactoryInterface.js.map +0 -1
  2632. package/entity-factory/OldEntityFactory.d.ts +0 -7
  2633. package/entity-factory/OldEntityFactory.js +0 -16
  2634. package/entity-factory/OldEntityFactory.js.map +0 -1
  2635. package/error/EntityColumnNotFound.d.ts +0 -7
  2636. package/error/EntityColumnNotFound.js +0 -20
  2637. package/error/EntityColumnNotFound.js.map +0 -1
  2638. package/error/FindCriteriaNotFoundError.d.ts +0 -7
  2639. package/error/FindCriteriaNotFoundError.js +0 -19
  2640. package/error/FindCriteriaNotFoundError.js.map +0 -1
  2641. package/find-options/FindOptions.d.ts +0 -171
  2642. package/find-options/FindOptions.js.map +0 -1
  2643. package/find-options/operator/If.d.ts +0 -8
  2644. package/find-options/operator/If.js +0 -24
  2645. package/find-options/operator/If.js.map +0 -1
  2646. package/find-options/operator/Switch.d.ts +0 -16
  2647. package/find-options/operator/Switch.js +0 -20
  2648. package/find-options/operator/Switch.js.map +0 -1
  2649. package/observer/ObserverExecutor.d.ts +0 -18
  2650. package/observer/ObserverExecutor.js +0 -406
  2651. package/observer/ObserverExecutor.js.map +0 -1
  2652. package/observer/QueryObserver.d.ts +0 -28
  2653. package/observer/QueryObserver.js +0 -122
  2654. package/observer/QueryObserver.js.map +0 -1
  2655. package/query-builder/WhereExpression.js.map +0 -1
  2656. package/repository/LiteralMongoRepository.d.ts +0 -11
  2657. package/repository/LiteralMongoRepository.js +0 -141
  2658. package/repository/LiteralMongoRepository.js.map +0 -1
  2659. package/repository/LiteralRepository.d.ts +0 -11
  2660. package/repository/LiteralRepository.js +0 -214
  2661. package/repository/LiteralRepository.js.map +0 -1
  2662. package/repository/LiteralTreeRepository.d.ts +0 -9
  2663. package/repository/LiteralTreeRepository.js +0 -227
  2664. package/repository/LiteralTreeRepository.js.map +0 -1
  2665. package/repository/RepositoryFactory.d.ts +0 -13
  2666. package/repository/RepositoryFactory.js +0 -52
  2667. package/repository/RepositoryFactory.js.map +0 -1
  2668. package/util/PromiseUtils.d.ts +0 -24
  2669. package/util/PromiseUtils.js +0 -64
  2670. package/util/PromiseUtils.js.map +0 -1
@@ -1,38 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
5
- var TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
6
- var TableColumn_1 = require("../../schema-builder/table/TableColumn");
7
- var Table_1 = require("../../schema-builder/table/Table");
8
- var TableForeignKey_1 = require("../../schema-builder/table/TableForeignKey");
9
- var TableIndex_1 = require("../../schema-builder/table/TableIndex");
10
- var QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
11
- var View_1 = require("../../schema-builder/view/View");
12
- var Query_1 = require("../Query");
13
- var QueryFailedError_1 = require("../../error/QueryFailedError");
14
- var TableUnique_1 = require("../../schema-builder/table/TableUnique");
15
- var Broadcaster_1 = require("../../subscriber/Broadcaster");
16
- var BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
17
- var OrmUtils_1 = require("../../util/OrmUtils");
18
- var TableCheck_1 = require("../../schema-builder/table/TableCheck");
19
- var index_1 = require("../../index");
3
+ exports.OracleQueryRunner = void 0;
4
+ const TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
5
+ const TableColumn_1 = require("../../schema-builder/table/TableColumn");
6
+ const Table_1 = require("../../schema-builder/table/Table");
7
+ const TableForeignKey_1 = require("../../schema-builder/table/TableForeignKey");
8
+ const TableIndex_1 = require("../../schema-builder/table/TableIndex");
9
+ const QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
10
+ const View_1 = require("../../schema-builder/view/View");
11
+ const Query_1 = require("../Query");
12
+ const QueryFailedError_1 = require("../../error/QueryFailedError");
13
+ const TableUnique_1 = require("../../schema-builder/table/TableUnique");
14
+ const Broadcaster_1 = require("../../subscriber/Broadcaster");
15
+ const BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
16
+ const OrmUtils_1 = require("../../util/OrmUtils");
17
+ const TableCheck_1 = require("../../schema-builder/table/TableCheck");
18
+ const error_1 = require("../../error");
19
+ const QueryResult_1 = require("../../query-runner/QueryResult");
20
+ const MetadataTableType_1 = require("../types/MetadataTableType");
21
+ const InstanceChecker_1 = require("../../util/InstanceChecker");
20
22
  /**
21
23
  * Runs queries on a single oracle database connection.
22
24
  */
23
- var OracleQueryRunner = /** @class */ (function (_super) {
24
- tslib_1.__extends(OracleQueryRunner, _super);
25
+ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
25
26
  // -------------------------------------------------------------------------
26
27
  // Constructor
27
28
  // -------------------------------------------------------------------------
28
- function OracleQueryRunner(driver, mode) {
29
- if (mode === void 0) { mode = "master"; }
30
- var _this = _super.call(this) || this;
31
- _this.driver = driver;
32
- _this.connection = driver.connection;
33
- _this.broadcaster = new Broadcaster_1.Broadcaster(_this);
34
- _this.mode = mode;
35
- return _this;
29
+ constructor(driver, mode) {
30
+ super();
31
+ this.driver = driver;
32
+ this.connection = driver.connection;
33
+ this.broadcaster = new Broadcaster_1.Broadcaster(this);
34
+ this.mode = mode;
36
35
  }
37
36
  // -------------------------------------------------------------------------
38
37
  // Public Methods
@@ -41,1933 +40,1612 @@ var OracleQueryRunner = /** @class */ (function (_super) {
41
40
  * Creates/uses database connection from the connection pool to perform further operations.
42
41
  * Returns obtained database connection.
43
42
  */
44
- OracleQueryRunner.prototype.connect = function () {
45
- var _this = this;
43
+ connect() {
46
44
  if (this.databaseConnection)
47
45
  return Promise.resolve(this.databaseConnection);
48
46
  if (this.databaseConnectionPromise)
49
47
  return this.databaseConnectionPromise;
50
48
  if (this.mode === "slave" && this.driver.isReplicated) {
51
- this.databaseConnectionPromise = this.driver.obtainSlaveConnection().then(function (connection) {
52
- _this.databaseConnection = connection;
53
- return _this.databaseConnection;
49
+ this.databaseConnectionPromise = this.driver
50
+ .obtainSlaveConnection()
51
+ .then((connection) => {
52
+ this.databaseConnection = connection;
53
+ return this.databaseConnection;
54
54
  });
55
55
  }
56
- else { // master
57
- this.databaseConnectionPromise = this.driver.obtainMasterConnection().then(function (connection) {
58
- _this.databaseConnection = connection;
59
- return _this.databaseConnection;
56
+ else {
57
+ // master
58
+ this.databaseConnectionPromise = this.driver
59
+ .obtainMasterConnection()
60
+ .then((connection) => {
61
+ this.databaseConnection = connection;
62
+ return this.databaseConnection;
60
63
  });
61
64
  }
62
65
  return this.databaseConnectionPromise;
63
- };
66
+ }
64
67
  /**
65
68
  * Releases used database connection.
66
69
  * You cannot use query runner methods once its released.
67
70
  */
68
- OracleQueryRunner.prototype.release = function () {
69
- var _this = this;
70
- return new Promise(function (ok, fail) {
71
- _this.isReleased = true;
72
- if (_this.databaseConnection) {
73
- _this.databaseConnection.close(function (err) {
74
- if (err)
75
- return fail(err);
76
- ok();
77
- });
78
- }
79
- else {
80
- ok();
81
- }
82
- });
83
- };
71
+ async release() {
72
+ this.isReleased = true;
73
+ if (!this.databaseConnection) {
74
+ return;
75
+ }
76
+ await this.databaseConnection.close();
77
+ }
84
78
  /**
85
79
  * Starts transaction.
86
80
  */
87
- OracleQueryRunner.prototype.startTransaction = function (isolationLevel) {
88
- if (isolationLevel === void 0) { isolationLevel = "READ COMMITTED"; }
89
- return tslib_1.__awaiter(this, void 0, void 0, function () {
90
- return tslib_1.__generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0:
93
- if (this.isReleased)
94
- throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
95
- if (this.isTransactionActive)
96
- throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
97
- // await this.query("START TRANSACTION");
98
- if (isolationLevel !== "SERIALIZABLE" && isolationLevel !== "READ COMMITTED") {
99
- throw new Error("Oracle only supports SERIALIZABLE and READ COMMITTED isolation");
100
- }
101
- return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
102
- case 1:
103
- _a.sent();
104
- this.isTransactionActive = true;
105
- return [2 /*return*/];
106
- }
107
- });
108
- });
109
- };
81
+ async startTransaction(isolationLevel = "READ COMMITTED") {
82
+ if (this.isReleased)
83
+ throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
84
+ // await this.query("START TRANSACTION");
85
+ if (isolationLevel !== "SERIALIZABLE" &&
86
+ isolationLevel !== "READ COMMITTED") {
87
+ throw new error_1.TypeORMError(`Oracle only supports SERIALIZABLE and READ COMMITTED isolation`);
88
+ }
89
+ this.isTransactionActive = true;
90
+ try {
91
+ await this.broadcaster.broadcast("BeforeTransactionStart");
92
+ }
93
+ catch (err) {
94
+ this.isTransactionActive = false;
95
+ throw err;
96
+ }
97
+ if (this.transactionDepth === 0) {
98
+ await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
99
+ }
100
+ else {
101
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
102
+ }
103
+ this.transactionDepth += 1;
104
+ await this.broadcaster.broadcast("AfterTransactionStart");
105
+ }
110
106
  /**
111
107
  * Commits transaction.
112
108
  * Error will be thrown if transaction was not started.
113
109
  */
114
- OracleQueryRunner.prototype.commitTransaction = function () {
115
- return tslib_1.__awaiter(this, void 0, void 0, function () {
116
- return tslib_1.__generator(this, function (_a) {
117
- switch (_a.label) {
118
- case 0:
119
- if (!this.isTransactionActive)
120
- throw new TransactionNotStartedError_1.TransactionNotStartedError();
121
- return [4 /*yield*/, this.query("COMMIT")];
122
- case 1:
123
- _a.sent();
124
- this.isTransactionActive = false;
125
- return [2 /*return*/];
126
- }
127
- });
128
- });
129
- };
110
+ async commitTransaction() {
111
+ if (!this.isTransactionActive)
112
+ throw new TransactionNotStartedError_1.TransactionNotStartedError();
113
+ await this.broadcaster.broadcast("BeforeTransactionCommit");
114
+ if (this.transactionDepth === 1) {
115
+ await this.query("COMMIT");
116
+ this.isTransactionActive = false;
117
+ }
118
+ this.transactionDepth -= 1;
119
+ await this.broadcaster.broadcast("AfterTransactionCommit");
120
+ }
130
121
  /**
131
122
  * Rollbacks transaction.
132
123
  * Error will be thrown if transaction was not started.
133
124
  */
134
- OracleQueryRunner.prototype.rollbackTransaction = function () {
135
- return tslib_1.__awaiter(this, void 0, void 0, function () {
136
- return tslib_1.__generator(this, function (_a) {
137
- switch (_a.label) {
138
- case 0:
139
- if (!this.isTransactionActive)
140
- throw new TransactionNotStartedError_1.TransactionNotStartedError();
141
- return [4 /*yield*/, this.query("ROLLBACK")];
142
- case 1:
143
- _a.sent();
144
- this.isTransactionActive = false;
145
- return [2 /*return*/];
146
- }
147
- });
148
- });
149
- };
125
+ async rollbackTransaction() {
126
+ if (!this.isTransactionActive)
127
+ throw new TransactionNotStartedError_1.TransactionNotStartedError();
128
+ await this.broadcaster.broadcast("BeforeTransactionRollback");
129
+ if (this.transactionDepth > 1) {
130
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
131
+ }
132
+ else {
133
+ await this.query("ROLLBACK");
134
+ this.isTransactionActive = false;
135
+ }
136
+ this.transactionDepth -= 1;
137
+ await this.broadcaster.broadcast("AfterTransactionRollback");
138
+ }
150
139
  /**
151
140
  * Executes a given SQL query.
152
141
  */
153
- OracleQueryRunner.prototype.query = function (query, parameters) {
154
- var _this = this;
142
+ async query(query, parameters, useStructuredResult = false) {
155
143
  if (this.isReleased)
156
144
  throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
157
- return new Promise(function (ok, fail) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
158
- var queryStartTime_1, handler, executionOptions, databaseConnection, err_1;
159
- var _this = this;
160
- return tslib_1.__generator(this, function (_a) {
161
- switch (_a.label) {
162
- case 0:
163
- _a.trys.push([0, 2, , 3]);
164
- this.driver.connection.logger.logQuery(query, parameters, this);
165
- queryStartTime_1 = +new Date();
166
- handler = function (err, result) {
167
- // log slow queries if maxQueryExecution time is set
168
- var maxQueryExecutionTime = _this.driver.connection.options.maxQueryExecutionTime;
169
- var queryEndTime = +new Date();
170
- var queryExecutionTime = queryEndTime - queryStartTime_1;
171
- if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime)
172
- _this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, _this);
173
- if (err) {
174
- _this.driver.connection.logger.logQueryError(err, query, parameters, _this);
175
- return fail(new QueryFailedError_1.QueryFailedError(query, parameters, err));
176
- }
177
- // TODO: find better solution. Must return result instead of properties
178
- ok(result.rows || result.outBinds || result.rowsAffected);
179
- };
180
- executionOptions = {
181
- autoCommit: this.isTransactionActive ? false : true
182
- };
183
- return [4 /*yield*/, this.connect()];
184
- case 1:
185
- databaseConnection = _a.sent();
186
- databaseConnection.execute(query, parameters || {}, executionOptions, handler);
187
- return [3 /*break*/, 3];
188
- case 2:
189
- err_1 = _a.sent();
190
- fail(err_1);
191
- return [3 /*break*/, 3];
192
- case 3: return [2 /*return*/];
193
- }
194
- });
195
- }); });
196
- };
145
+ const databaseConnection = await this.connect();
146
+ this.driver.connection.logger.logQuery(query, parameters, this);
147
+ const queryStartTime = +new Date();
148
+ try {
149
+ const executionOptions = {
150
+ autoCommit: !this.isTransactionActive,
151
+ outFormat: this.driver.oracle.OBJECT,
152
+ };
153
+ const raw = await databaseConnection.execute(query, parameters || {}, executionOptions);
154
+ // log slow queries if maxQueryExecution time is set
155
+ const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
156
+ const queryEndTime = +new Date();
157
+ const queryExecutionTime = queryEndTime - queryStartTime;
158
+ if (maxQueryExecutionTime &&
159
+ queryExecutionTime > maxQueryExecutionTime)
160
+ this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
161
+ const result = new QueryResult_1.QueryResult();
162
+ result.raw =
163
+ raw.rows ||
164
+ raw.outBinds ||
165
+ raw.rowsAffected ||
166
+ raw.implicitResults;
167
+ if ((raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("rows")) && Array.isArray(raw.rows)) {
168
+ result.records = raw.rows;
169
+ }
170
+ if ((raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("outBinds")) &&
171
+ Array.isArray(raw.outBinds)) {
172
+ result.records = raw.outBinds;
173
+ }
174
+ if ((raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("implicitResults")) &&
175
+ Array.isArray(raw.implicitResults)) {
176
+ result.records = raw.implicitResults;
177
+ }
178
+ if (raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("rowsAffected")) {
179
+ result.affected = raw.rowsAffected;
180
+ }
181
+ if (useStructuredResult) {
182
+ return result;
183
+ }
184
+ else {
185
+ return result.raw;
186
+ }
187
+ }
188
+ catch (err) {
189
+ this.driver.connection.logger.logQueryError(err, query, parameters, this);
190
+ throw new QueryFailedError_1.QueryFailedError(query, parameters, err);
191
+ }
192
+ }
197
193
  /**
198
194
  * Returns raw data stream.
199
195
  */
200
- OracleQueryRunner.prototype.stream = function (query, parameters, onEnd, onError) {
201
- throw new Error("Stream is not supported by Oracle driver.");
202
- };
196
+ async stream(query, parameters, onEnd, onError) {
197
+ if (this.isReleased) {
198
+ throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
199
+ }
200
+ const executionOptions = {
201
+ autoCommit: !this.isTransactionActive,
202
+ outFormat: this.driver.oracle.OBJECT,
203
+ };
204
+ const databaseConnection = await this.connect();
205
+ this.driver.connection.logger.logQuery(query, parameters, this);
206
+ try {
207
+ const stream = databaseConnection.queryStream(query, parameters, executionOptions);
208
+ if (onEnd) {
209
+ stream.on("end", onEnd);
210
+ }
211
+ if (onError) {
212
+ stream.on("error", onError);
213
+ }
214
+ return stream;
215
+ }
216
+ catch (err) {
217
+ this.driver.connection.logger.logQueryError(err, query, parameters, this);
218
+ throw new QueryFailedError_1.QueryFailedError(query, parameters, err);
219
+ }
220
+ }
203
221
  /**
204
222
  * Returns all available database names including system databases.
205
223
  */
206
- OracleQueryRunner.prototype.getDatabases = function () {
207
- return tslib_1.__awaiter(this, void 0, void 0, function () {
208
- return tslib_1.__generator(this, function (_a) {
209
- return [2 /*return*/, Promise.resolve([])];
210
- });
211
- });
212
- };
224
+ async getDatabases() {
225
+ return Promise.resolve([]);
226
+ }
213
227
  /**
214
228
  * Returns all available schema names including system schemas.
215
229
  * If database parameter specified, returns schemas of that database.
216
230
  */
217
- OracleQueryRunner.prototype.getSchemas = function (database) {
218
- return tslib_1.__awaiter(this, void 0, void 0, function () {
219
- return tslib_1.__generator(this, function (_a) {
220
- return [2 /*return*/, Promise.resolve([])];
221
- });
222
- });
223
- };
231
+ async getSchemas(database) {
232
+ return Promise.resolve([]);
233
+ }
224
234
  /**
225
235
  * Checks if database with the given name exist.
226
236
  */
227
- OracleQueryRunner.prototype.hasDatabase = function (database) {
228
- return tslib_1.__awaiter(this, void 0, void 0, function () {
229
- return tslib_1.__generator(this, function (_a) {
230
- return [2 /*return*/, Promise.resolve(false)];
231
- });
232
- });
233
- };
237
+ async hasDatabase(database) {
238
+ try {
239
+ const query = await this.query(`SELECT 1 AS "exists" FROM global_name@"${database}"`);
240
+ return query.length > 0;
241
+ }
242
+ catch (e) {
243
+ return false;
244
+ }
245
+ }
246
+ /**
247
+ * Loads currently using database
248
+ */
249
+ async getCurrentDatabase() {
250
+ const query = await this.query(`SELECT SYS_CONTEXT('USERENV','DB_NAME') AS "db_name" FROM dual`);
251
+ return query[0]["db_name"];
252
+ }
234
253
  /**
235
254
  * Checks if schema with the given name exist.
236
255
  */
237
- OracleQueryRunner.prototype.hasSchema = function (schema) {
238
- return tslib_1.__awaiter(this, void 0, void 0, function () {
239
- return tslib_1.__generator(this, function (_a) {
240
- return [2 /*return*/, Promise.resolve(false)];
241
- });
242
- });
243
- };
256
+ async hasSchema(schema) {
257
+ return Promise.resolve(false);
258
+ }
259
+ /**
260
+ * Loads currently using database schema
261
+ */
262
+ async getCurrentSchema() {
263
+ const query = await this.query(`SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA') AS "schema_name" FROM dual`);
264
+ return query[0]["schema_name"];
265
+ }
244
266
  /**
245
267
  * Checks if table with the given name exist in the database.
246
268
  */
247
- OracleQueryRunner.prototype.hasTable = function (tableOrName) {
248
- return tslib_1.__awaiter(this, void 0, void 0, function () {
249
- var tableName, sql, result;
250
- return tslib_1.__generator(this, function (_a) {
251
- switch (_a.label) {
252
- case 0:
253
- tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
254
- sql = "SELECT \"TABLE_NAME\" FROM \"USER_TABLES\" WHERE \"TABLE_NAME\" = '" + tableName + "'";
255
- return [4 /*yield*/, this.query(sql)];
256
- case 1:
257
- result = _a.sent();
258
- return [2 /*return*/, result.length ? true : false];
259
- }
260
- });
261
- });
262
- };
269
+ async hasTable(tableOrName) {
270
+ const { tableName } = this.driver.parseTableName(tableOrName);
271
+ const sql = `SELECT "TABLE_NAME" FROM "USER_TABLES" WHERE "TABLE_NAME" = '${tableName}'`;
272
+ const result = await this.query(sql);
273
+ return result.length ? true : false;
274
+ }
263
275
  /**
264
276
  * Checks if column with the given name exist in the given table.
265
277
  */
266
- OracleQueryRunner.prototype.hasColumn = function (tableOrName, columnName) {
267
- return tslib_1.__awaiter(this, void 0, void 0, function () {
268
- var tableName, sql, result;
269
- return tslib_1.__generator(this, function (_a) {
270
- switch (_a.label) {
271
- case 0:
272
- tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
273
- sql = "SELECT \"COLUMN_NAME\" FROM \"USER_TAB_COLS\" WHERE \"TABLE_NAME\" = '" + tableName + "' AND \"COLUMN_NAME\" = '" + columnName + "'";
274
- return [4 /*yield*/, this.query(sql)];
275
- case 1:
276
- result = _a.sent();
277
- return [2 /*return*/, result.length ? true : false];
278
- }
279
- });
280
- });
281
- };
278
+ async hasColumn(tableOrName, columnName) {
279
+ const { tableName } = this.driver.parseTableName(tableOrName);
280
+ const sql = `SELECT "COLUMN_NAME" FROM "USER_TAB_COLS" WHERE "TABLE_NAME" = '${tableName}' AND "COLUMN_NAME" = '${columnName}'`;
281
+ const result = await this.query(sql);
282
+ return result.length ? true : false;
283
+ }
282
284
  /**
283
285
  * Creates a new database.
284
286
  */
285
- OracleQueryRunner.prototype.createDatabase = function (database, ifNotExist) {
286
- return tslib_1.__awaiter(this, void 0, void 0, function () {
287
- return tslib_1.__generator(this, function (_a) {
288
- switch (_a.label) {
289
- case 0: return [4 /*yield*/, this.query("CREATE DATABASE IF NOT EXISTS \"" + database + "\"")];
290
- case 1:
291
- _a.sent();
292
- return [2 /*return*/];
287
+ async createDatabase(database, ifNotExist) {
288
+ // Even with `IF NOT EXISTS` we get:
289
+ // ORA-01501: CREATE DATABASE failed
290
+ // ORA-01100: database already mounted
291
+ if (ifNotExist) {
292
+ try {
293
+ await this.query(`CREATE DATABASE IF NOT EXISTS "${database}";`);
294
+ }
295
+ catch (e) {
296
+ // if (e instanceof QueryFailedError) {
297
+ if (e.message.includes("ORA-01100: database already mounted")) {
298
+ return;
293
299
  }
294
- });
295
- });
296
- };
300
+ // }
301
+ throw e;
302
+ }
303
+ }
304
+ else {
305
+ await this.query(`CREATE DATABASE "${database}"`);
306
+ }
307
+ }
297
308
  /**
298
309
  * Drops database.
299
310
  */
300
- OracleQueryRunner.prototype.dropDatabase = function (database, ifExist) {
301
- return tslib_1.__awaiter(this, void 0, void 0, function () {
302
- return tslib_1.__generator(this, function (_a) {
303
- return [2 /*return*/, Promise.resolve()];
304
- });
305
- });
306
- };
311
+ async dropDatabase(database, ifExist) {
312
+ return Promise.resolve();
313
+ }
307
314
  /**
308
315
  * Creates a new table schema.
309
316
  */
310
- OracleQueryRunner.prototype.createSchema = function (schemas, ifNotExist) {
311
- return tslib_1.__awaiter(this, void 0, void 0, function () {
312
- return tslib_1.__generator(this, function (_a) {
313
- throw new Error("Schema create queries are not supported by Oracle driver.");
314
- });
315
- });
316
- };
317
+ async createSchema(schemaPath, ifNotExist) {
318
+ throw new error_1.TypeORMError(`Schema create queries are not supported by Oracle driver.`);
319
+ }
317
320
  /**
318
321
  * Drops table schema.
319
322
  */
320
- OracleQueryRunner.prototype.dropSchema = function (schemaPath, ifExist) {
321
- return tslib_1.__awaiter(this, void 0, void 0, function () {
322
- return tslib_1.__generator(this, function (_a) {
323
- throw new Error("Schema drop queries are not supported by Oracle driver.");
324
- });
325
- });
326
- };
323
+ async dropSchema(schemaPath, ifExist) {
324
+ throw new error_1.TypeORMError(`Schema drop queries are not supported by Oracle driver.`);
325
+ }
327
326
  /**
328
327
  * Creates a new table.
329
328
  */
330
- OracleQueryRunner.prototype.createTable = function (table, ifNotExist, createForeignKeys, createIndices) {
331
- if (ifNotExist === void 0) { ifNotExist = false; }
332
- if (createForeignKeys === void 0) { createForeignKeys = true; }
333
- if (createIndices === void 0) { createIndices = true; }
334
- return tslib_1.__awaiter(this, void 0, void 0, function () {
335
- var isTableExist, upQueries, downQueries;
336
- var _this = this;
337
- return tslib_1.__generator(this, function (_a) {
338
- switch (_a.label) {
339
- case 0:
340
- if (!ifNotExist) return [3 /*break*/, 2];
341
- return [4 /*yield*/, this.hasTable(table)];
342
- case 1:
343
- isTableExist = _a.sent();
344
- if (isTableExist)
345
- return [2 /*return*/, Promise.resolve()];
346
- _a.label = 2;
347
- case 2:
348
- upQueries = [];
349
- downQueries = [];
350
- upQueries.push(this.createTableSql(table, createForeignKeys));
351
- downQueries.push(this.dropTableSql(table));
352
- // if createForeignKeys is true, we must drop created foreign keys in down query.
353
- // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
354
- if (createForeignKeys)
355
- table.foreignKeys.forEach(function (foreignKey) { return downQueries.push(_this.dropForeignKeySql(table, foreignKey)); });
356
- if (createIndices) {
357
- table.indices.forEach(function (index) {
358
- // new index may be passed without name. In this case we generate index name manually.
359
- if (!index.name)
360
- index.name = _this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where);
361
- upQueries.push(_this.createIndexSql(table, index));
362
- downQueries.push(_this.dropIndexSql(index));
363
- });
364
- }
365
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
366
- case 3:
367
- _a.sent();
368
- return [2 /*return*/];
369
- }
329
+ async createTable(table, ifNotExist = false, createForeignKeys = true, createIndices = true) {
330
+ if (ifNotExist) {
331
+ const isTableExist = await this.hasTable(table);
332
+ if (isTableExist)
333
+ return Promise.resolve();
334
+ }
335
+ const upQueries = [];
336
+ const downQueries = [];
337
+ upQueries.push(this.createTableSql(table, createForeignKeys));
338
+ downQueries.push(this.dropTableSql(table));
339
+ // if createForeignKeys is true, we must drop created foreign keys in down query.
340
+ // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
341
+ if (createForeignKeys)
342
+ table.foreignKeys.forEach((foreignKey) => downQueries.push(this.dropForeignKeySql(table, foreignKey)));
343
+ if (createIndices) {
344
+ table.indices.forEach((index) => {
345
+ // new index may be passed without name. In this case we generate index name manually.
346
+ if (!index.name)
347
+ index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where);
348
+ upQueries.push(this.createIndexSql(table, index));
349
+ downQueries.push(this.dropIndexSql(index));
370
350
  });
371
- });
372
- };
351
+ }
352
+ await this.executeQueries(upQueries, downQueries);
353
+ }
373
354
  /**
374
355
  * Drops the table.
375
356
  */
376
- OracleQueryRunner.prototype.dropTable = function (tableOrName, ifExist, dropForeignKeys, dropIndices) {
377
- if (dropForeignKeys === void 0) { dropForeignKeys = true; }
378
- if (dropIndices === void 0) { dropIndices = true; }
379
- return tslib_1.__awaiter(this, void 0, void 0, function () {
380
- var isTableExist, createForeignKeys, table, _a, upQueries, downQueries;
381
- var _this = this;
382
- return tslib_1.__generator(this, function (_b) {
383
- switch (_b.label) {
384
- case 0:
385
- if (!ifExist) return [3 /*break*/, 2];
386
- return [4 /*yield*/, this.hasTable(tableOrName)];
387
- case 1:
388
- isTableExist = _b.sent();
389
- if (!isTableExist)
390
- return [2 /*return*/, Promise.resolve()];
391
- _b.label = 2;
392
- case 2:
393
- createForeignKeys = dropForeignKeys;
394
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 3];
395
- _a = tableOrName;
396
- return [3 /*break*/, 5];
397
- case 3: return [4 /*yield*/, this.getCachedTable(tableOrName)];
398
- case 4:
399
- _a = _b.sent();
400
- _b.label = 5;
401
- case 5:
402
- table = _a;
403
- upQueries = [];
404
- downQueries = [];
405
- if (dropIndices) {
406
- table.indices.forEach(function (index) {
407
- upQueries.push(_this.dropIndexSql(index));
408
- downQueries.push(_this.createIndexSql(table, index));
409
- });
410
- }
411
- // if dropForeignKeys is true, we just drop the table, otherwise we also drop table foreign keys.
412
- // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
413
- if (dropForeignKeys)
414
- table.foreignKeys.forEach(function (foreignKey) { return upQueries.push(_this.dropForeignKeySql(table, foreignKey)); });
415
- upQueries.push(this.dropTableSql(table));
416
- downQueries.push(this.createTableSql(table, createForeignKeys));
417
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
418
- case 6:
419
- _b.sent();
420
- return [2 /*return*/];
421
- }
357
+ async dropTable(tableOrName, ifExist, dropForeignKeys = true, dropIndices = true) {
358
+ // It needs because if table does not exist and dropForeignKeys or dropIndices is true, we don't need
359
+ // to perform drop queries for foreign keys and indices.
360
+ if (ifExist) {
361
+ const isTableExist = await this.hasTable(tableOrName);
362
+ if (!isTableExist)
363
+ return Promise.resolve();
364
+ }
365
+ // if dropTable called with dropForeignKeys = true, we must create foreign keys in down query.
366
+ const createForeignKeys = dropForeignKeys;
367
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
368
+ ? tableOrName
369
+ : await this.getCachedTable(tableOrName);
370
+ const upQueries = [];
371
+ const downQueries = [];
372
+ if (dropIndices) {
373
+ table.indices.forEach((index) => {
374
+ upQueries.push(this.dropIndexSql(index));
375
+ downQueries.push(this.createIndexSql(table, index));
422
376
  });
423
- });
424
- };
377
+ }
378
+ // if dropForeignKeys is true, we just drop the table, otherwise we also drop table foreign keys.
379
+ // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
380
+ if (dropForeignKeys)
381
+ table.foreignKeys.forEach((foreignKey) => upQueries.push(this.dropForeignKeySql(table, foreignKey)));
382
+ upQueries.push(this.dropTableSql(table));
383
+ downQueries.push(this.createTableSql(table, createForeignKeys));
384
+ await this.executeQueries(upQueries, downQueries);
385
+ }
425
386
  /**
426
387
  * Creates a new view.
427
388
  */
428
- OracleQueryRunner.prototype.createView = function (view) {
429
- return tslib_1.__awaiter(this, void 0, void 0, function () {
430
- var upQueries, downQueries;
431
- return tslib_1.__generator(this, function (_a) {
432
- switch (_a.label) {
433
- case 0:
434
- upQueries = [];
435
- downQueries = [];
436
- upQueries.push(this.createViewSql(view));
437
- upQueries.push(this.insertViewDefinitionSql(view));
438
- downQueries.push(this.dropViewSql(view));
439
- downQueries.push(this.deleteViewDefinitionSql(view));
440
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
441
- case 1:
442
- _a.sent();
443
- return [2 /*return*/];
444
- }
445
- });
446
- });
447
- };
389
+ async createView(view) {
390
+ const upQueries = [];
391
+ const downQueries = [];
392
+ upQueries.push(this.createViewSql(view));
393
+ upQueries.push(this.insertViewDefinitionSql(view));
394
+ downQueries.push(this.dropViewSql(view));
395
+ downQueries.push(this.deleteViewDefinitionSql(view));
396
+ await this.executeQueries(upQueries, downQueries);
397
+ }
448
398
  /**
449
399
  * Drops the view.
450
400
  */
451
- OracleQueryRunner.prototype.dropView = function (target) {
452
- return tslib_1.__awaiter(this, void 0, void 0, function () {
453
- var viewName, view, upQueries, downQueries;
454
- return tslib_1.__generator(this, function (_a) {
455
- switch (_a.label) {
456
- case 0:
457
- viewName = target instanceof View_1.View ? target.name : target;
458
- return [4 /*yield*/, this.getCachedView(viewName)];
459
- case 1:
460
- view = _a.sent();
461
- upQueries = [];
462
- downQueries = [];
463
- upQueries.push(this.deleteViewDefinitionSql(view));
464
- upQueries.push(this.dropViewSql(view));
465
- downQueries.push(this.insertViewDefinitionSql(view));
466
- downQueries.push(this.createViewSql(view));
467
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
468
- case 2:
469
- _a.sent();
470
- return [2 /*return*/];
471
- }
472
- });
473
- });
474
- };
401
+ async dropView(target) {
402
+ const viewName = InstanceChecker_1.InstanceChecker.isView(target) ? target.name : target;
403
+ const view = await this.getCachedView(viewName);
404
+ const upQueries = [];
405
+ const downQueries = [];
406
+ upQueries.push(this.deleteViewDefinitionSql(view));
407
+ upQueries.push(this.dropViewSql(view));
408
+ downQueries.push(this.insertViewDefinitionSql(view));
409
+ downQueries.push(this.createViewSql(view));
410
+ await this.executeQueries(upQueries, downQueries);
411
+ }
475
412
  /**
476
413
  * Renames the given table.
477
414
  */
478
- OracleQueryRunner.prototype.renameTable = function (oldTableOrName, newTableOrName) {
479
- return tslib_1.__awaiter(this, void 0, void 0, function () {
480
- var upQueries, downQueries, oldTable, _a, newTable, columnNames, oldPkName, newPkName;
481
- var _this = this;
482
- return tslib_1.__generator(this, function (_b) {
483
- switch (_b.label) {
484
- case 0:
485
- upQueries = [];
486
- downQueries = [];
487
- if (!(oldTableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
488
- _a = oldTableOrName;
489
- return [3 /*break*/, 3];
490
- case 1: return [4 /*yield*/, this.getCachedTable(oldTableOrName)];
491
- case 2:
492
- _a = _b.sent();
493
- _b.label = 3;
494
- case 3:
495
- oldTable = _a;
496
- newTable = oldTable.clone();
497
- if (newTableOrName instanceof Table_1.Table) {
498
- newTable = newTableOrName;
499
- }
500
- else {
501
- newTable.name = newTableOrName;
502
- }
503
- // rename table
504
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + oldTable.name + "\" RENAME TO \"" + newTable.name + "\""));
505
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME TO \"" + oldTable.name + "\""));
506
- // rename primary key constraint
507
- if (newTable.primaryColumns.length > 0) {
508
- columnNames = newTable.primaryColumns.map(function (column) { return column.name; });
509
- oldPkName = this.connection.namingStrategy.primaryKeyName(oldTable, columnNames);
510
- newPkName = this.connection.namingStrategy.primaryKeyName(newTable, columnNames);
511
- // build queries
512
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + oldPkName + "\" TO \"" + newPkName + "\""));
513
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + newPkName + "\" TO \"" + oldPkName + "\""));
514
- }
515
- // rename unique constraints
516
- newTable.uniques.forEach(function (unique) {
517
- // build new constraint name
518
- var newUniqueName = _this.connection.namingStrategy.uniqueConstraintName(newTable, unique.columnNames);
519
- // build queries
520
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + unique.name + "\" TO \"" + newUniqueName + "\""));
521
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + newUniqueName + "\" TO \"" + unique.name + "\""));
522
- // replace constraint name
523
- unique.name = newUniqueName;
524
- });
525
- // rename index constraints
526
- newTable.indices.forEach(function (index) {
527
- // build new constraint name
528
- var newIndexName = _this.connection.namingStrategy.indexName(newTable, index.columnNames, index.where);
529
- // build queries
530
- upQueries.push(new Query_1.Query("ALTER INDEX \"" + index.name + "\" RENAME TO \"" + newIndexName + "\""));
531
- downQueries.push(new Query_1.Query("ALTER INDEX \"" + newIndexName + "\" RENAME TO \"" + index.name + "\""));
532
- // replace constraint name
533
- index.name = newIndexName;
534
- });
535
- // rename foreign key constraints
536
- newTable.foreignKeys.forEach(function (foreignKey) {
537
- // build new constraint name
538
- var newForeignKeyName = _this.connection.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames);
539
- // build queries
540
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + foreignKey.name + "\" TO \"" + newForeignKeyName + "\""));
541
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + newForeignKeyName + "\" TO \"" + foreignKey.name + "\""));
542
- // replace constraint name
543
- foreignKey.name = newForeignKeyName;
544
- });
545
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
546
- case 4:
547
- _b.sent();
548
- // rename old table and replace it in cached tabled;
549
- oldTable.name = newTable.name;
550
- this.replaceCachedTable(oldTable, newTable);
551
- return [2 /*return*/];
552
- }
553
- });
415
+ async renameTable(oldTableOrName, newTableName) {
416
+ const upQueries = [];
417
+ const downQueries = [];
418
+ const oldTable = InstanceChecker_1.InstanceChecker.isTable(oldTableOrName)
419
+ ? oldTableOrName
420
+ : await this.getCachedTable(oldTableOrName);
421
+ let newTable = oldTable.clone();
422
+ const { database: dbName, tableName: oldTableName } = this.driver.parseTableName(oldTable);
423
+ newTable.name = dbName ? `${dbName}.${newTableName}` : newTableName;
424
+ // rename table
425
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(oldTable)} RENAME TO "${newTableName}"`));
426
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME TO "${oldTableName}"`));
427
+ // rename primary key constraint
428
+ if (newTable.primaryColumns.length > 0) {
429
+ const columnNames = newTable.primaryColumns.map((column) => column.name);
430
+ const oldPkName = this.connection.namingStrategy.primaryKeyName(oldTable, columnNames);
431
+ const newPkName = this.connection.namingStrategy.primaryKeyName(newTable, columnNames);
432
+ // build queries
433
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${oldPkName}" TO "${newPkName}"`));
434
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newPkName}" TO "${oldPkName}"`));
435
+ }
436
+ // rename unique constraints
437
+ newTable.uniques.forEach((unique) => {
438
+ // build new constraint name
439
+ const newUniqueName = this.connection.namingStrategy.uniqueConstraintName(newTable, unique.columnNames);
440
+ // build queries
441
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${unique.name}" TO "${newUniqueName}"`));
442
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newUniqueName}" TO "${unique.name}"`));
443
+ // replace constraint name
444
+ unique.name = newUniqueName;
554
445
  });
555
- };
446
+ // rename index constraints
447
+ newTable.indices.forEach((index) => {
448
+ // build new constraint name
449
+ const newIndexName = this.connection.namingStrategy.indexName(newTable, index.columnNames, index.where);
450
+ // build queries
451
+ upQueries.push(new Query_1.Query(`ALTER INDEX "${index.name}" RENAME TO "${newIndexName}"`));
452
+ downQueries.push(new Query_1.Query(`ALTER INDEX "${newIndexName}" RENAME TO "${index.name}"`));
453
+ // replace constraint name
454
+ index.name = newIndexName;
455
+ });
456
+ // rename foreign key constraints
457
+ newTable.foreignKeys.forEach((foreignKey) => {
458
+ // build new constraint name
459
+ const newForeignKeyName = this.connection.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
460
+ // build queries
461
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${foreignKey.name}" TO "${newForeignKeyName}"`));
462
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newForeignKeyName}" TO "${foreignKey.name}"`));
463
+ // replace constraint name
464
+ foreignKey.name = newForeignKeyName;
465
+ });
466
+ await this.executeQueries(upQueries, downQueries);
467
+ // rename old table and replace it in cached tabled;
468
+ oldTable.name = newTable.name;
469
+ this.replaceCachedTable(oldTable, newTable);
470
+ }
556
471
  /**
557
472
  * Creates a new column from the column in the table.
558
473
  */
559
- OracleQueryRunner.prototype.addColumn = function (tableOrName, column) {
560
- return tslib_1.__awaiter(this, void 0, void 0, function () {
561
- var table, _a, clonedTable, upQueries, downQueries, primaryColumns, pkName_1, columnNames_1, pkName, columnNames, columnIndex, uniqueConstraint;
562
- return tslib_1.__generator(this, function (_b) {
563
- switch (_b.label) {
564
- case 0:
565
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
566
- _a = tableOrName;
567
- return [3 /*break*/, 3];
568
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
569
- case 2:
570
- _a = _b.sent();
571
- _b.label = 3;
572
- case 3:
573
- table = _a;
574
- clonedTable = table.clone();
575
- upQueries = [];
576
- downQueries = [];
577
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD " + this.buildCreateColumnSql(column)));
578
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP COLUMN \"" + column.name + "\""));
579
- // create or update primary key constraint
580
- if (column.isPrimary) {
581
- primaryColumns = clonedTable.primaryColumns;
582
- // if table already have primary key, me must drop it and recreate again
583
- if (primaryColumns.length > 0) {
584
- pkName_1 = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
585
- columnNames_1 = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
586
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName_1 + "\""));
587
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName_1 + "\" PRIMARY KEY (" + columnNames_1 + ")"));
588
- }
589
- primaryColumns.push(column);
590
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
591
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
592
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
593
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
594
- }
595
- columnIndex = clonedTable.indices.find(function (index) { return index.columnNames.length === 1 && index.columnNames[0] === column.name; });
596
- if (columnIndex) {
597
- clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
598
- upQueries.push(this.createIndexSql(table, columnIndex));
599
- downQueries.push(this.dropIndexSql(columnIndex));
600
- }
601
- // create unique constraint
602
- if (column.isUnique) {
603
- uniqueConstraint = new TableUnique_1.TableUnique({
604
- name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]),
605
- columnNames: [column.name]
606
- });
607
- clonedTable.uniques.push(uniqueConstraint);
608
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + column.name + "\")"));
609
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueConstraint.name + "\""));
610
- }
611
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
612
- case 4:
613
- _b.sent();
614
- clonedTable.addColumn(column);
615
- this.replaceCachedTable(table, clonedTable);
616
- return [2 /*return*/];
617
- }
474
+ async addColumn(tableOrName, column) {
475
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
476
+ ? tableOrName
477
+ : await this.getCachedTable(tableOrName);
478
+ const clonedTable = table.clone();
479
+ const upQueries = [];
480
+ const downQueries = [];
481
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column)}`));
482
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${column.name}"`));
483
+ // create or update primary key constraint
484
+ if (column.isPrimary) {
485
+ const primaryColumns = clonedTable.primaryColumns;
486
+ // if table already have primary key, me must drop it and recreate again
487
+ if (primaryColumns.length > 0) {
488
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
489
+ const columnNames = primaryColumns
490
+ .map((column) => `"${column.name}"`)
491
+ .join(", ");
492
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
493
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
494
+ }
495
+ primaryColumns.push(column);
496
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
497
+ const columnNames = primaryColumns
498
+ .map((column) => `"${column.name}"`)
499
+ .join(", ");
500
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
501
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
502
+ }
503
+ // create column index
504
+ const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
505
+ index.columnNames[0] === column.name);
506
+ if (columnIndex) {
507
+ clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
508
+ upQueries.push(this.createIndexSql(table, columnIndex));
509
+ downQueries.push(this.dropIndexSql(columnIndex));
510
+ }
511
+ // create unique constraint
512
+ if (column.isUnique) {
513
+ const uniqueConstraint = new TableUnique_1.TableUnique({
514
+ name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]),
515
+ columnNames: [column.name],
618
516
  });
619
- });
620
- };
517
+ clonedTable.uniques.push(uniqueConstraint);
518
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${column.name}")`));
519
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
520
+ }
521
+ await this.executeQueries(upQueries, downQueries);
522
+ clonedTable.addColumn(column);
523
+ this.replaceCachedTable(table, clonedTable);
524
+ }
621
525
  /**
622
526
  * Creates a new columns from the column in the table.
623
527
  */
624
- OracleQueryRunner.prototype.addColumns = function (tableOrName, columns) {
625
- return tslib_1.__awaiter(this, void 0, void 0, function () {
626
- var _this = this;
627
- return tslib_1.__generator(this, function (_a) {
628
- switch (_a.label) {
629
- case 0: return [4 /*yield*/, index_1.PromiseUtils.runInSequence(columns, function (column) { return _this.addColumn(tableOrName, column); })];
630
- case 1:
631
- _a.sent();
632
- return [2 /*return*/];
633
- }
634
- });
635
- });
636
- };
528
+ async addColumns(tableOrName, columns) {
529
+ for (const column of columns) {
530
+ await this.addColumn(tableOrName, column);
531
+ }
532
+ }
637
533
  /**
638
534
  * Renames column in the given table.
639
535
  */
640
- OracleQueryRunner.prototype.renameColumn = function (tableOrName, oldTableColumnOrName, newTableColumnOrName) {
641
- return tslib_1.__awaiter(this, void 0, void 0, function () {
642
- var table, _a, oldColumn, newColumn;
643
- return tslib_1.__generator(this, function (_b) {
644
- switch (_b.label) {
645
- case 0:
646
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
647
- _a = tableOrName;
648
- return [3 /*break*/, 3];
649
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
650
- case 2:
651
- _a = _b.sent();
652
- _b.label = 3;
653
- case 3:
654
- table = _a;
655
- oldColumn = oldTableColumnOrName instanceof TableColumn_1.TableColumn ? oldTableColumnOrName : table.columns.find(function (c) { return c.name === oldTableColumnOrName; });
656
- if (!oldColumn)
657
- throw new Error("Column \"" + oldTableColumnOrName + "\" was not found in the \"" + table.name + "\" table.");
658
- newColumn = undefined;
659
- if (newTableColumnOrName instanceof TableColumn_1.TableColumn) {
660
- newColumn = newTableColumnOrName;
661
- }
662
- else {
663
- newColumn = oldColumn.clone();
664
- newColumn.name = newTableColumnOrName;
665
- }
666
- return [4 /*yield*/, this.changeColumn(table, oldColumn, newColumn)];
667
- case 4:
668
- _b.sent();
669
- return [2 /*return*/];
670
- }
671
- });
672
- });
673
- };
536
+ async renameColumn(tableOrName, oldTableColumnOrName, newTableColumnOrName) {
537
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
538
+ ? tableOrName
539
+ : await this.getCachedTable(tableOrName);
540
+ const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
541
+ ? oldTableColumnOrName
542
+ : table.columns.find((c) => c.name === oldTableColumnOrName);
543
+ if (!oldColumn)
544
+ throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the ${this.escapePath(table)} table.`);
545
+ let newColumn = undefined;
546
+ if (InstanceChecker_1.InstanceChecker.isTableColumn(newTableColumnOrName)) {
547
+ newColumn = newTableColumnOrName;
548
+ }
549
+ else {
550
+ newColumn = oldColumn.clone();
551
+ newColumn.name = newTableColumnOrName;
552
+ }
553
+ await this.changeColumn(table, oldColumn, newColumn);
554
+ }
674
555
  /**
675
556
  * Changes a column in the table.
676
557
  */
677
- OracleQueryRunner.prototype.changeColumn = function (tableOrName, oldTableColumnOrName, newColumn) {
678
- return tslib_1.__awaiter(this, void 0, void 0, function () {
679
- var table, _a, clonedTable, upQueries, downQueries, oldColumn, primaryColumns, columnNames, oldPkName, newPkName, oldTableColumn, defaultUp, defaultDown, nullableUp, nullableDown, primaryColumns, pkName, columnNames, column, pkName, columnNames, primaryColumn, column, pkName, columnNames, uniqueConstraint, uniqueConstraint;
680
- var _this = this;
681
- return tslib_1.__generator(this, function (_b) {
682
- switch (_b.label) {
683
- case 0:
684
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
685
- _a = tableOrName;
686
- return [3 /*break*/, 3];
687
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
688
- case 2:
689
- _a = _b.sent();
690
- _b.label = 3;
691
- case 3:
692
- table = _a;
693
- clonedTable = table.clone();
694
- upQueries = [];
695
- downQueries = [];
696
- oldColumn = oldTableColumnOrName instanceof TableColumn_1.TableColumn
697
- ? oldTableColumnOrName
698
- : table.columns.find(function (column) { return column.name === oldTableColumnOrName; });
699
- if (!oldColumn)
700
- throw new Error("Column \"" + oldTableColumnOrName + "\" was not found in the \"" + table.name + "\" table.");
701
- if (!((newColumn.isGenerated !== oldColumn.isGenerated && newColumn.generationStrategy !== "uuid") || oldColumn.type !== newColumn.type || oldColumn.length !== newColumn.length)) return [3 /*break*/, 6];
702
- // Oracle does not support changing of IDENTITY column, so we must drop column and recreate it again.
703
- // Also, we recreate column if column type changed
704
- return [4 /*yield*/, this.dropColumn(table, oldColumn)];
705
- case 4:
706
- // Oracle does not support changing of IDENTITY column, so we must drop column and recreate it again.
707
- // Also, we recreate column if column type changed
708
- _b.sent();
709
- return [4 /*yield*/, this.addColumn(table, newColumn)];
710
- case 5:
711
- _b.sent();
712
- // update cloned table
713
- clonedTable = table.clone();
714
- return [3 /*break*/, 8];
715
- case 6:
716
- if (newColumn.name !== oldColumn.name) {
717
- // rename column
718
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME COLUMN \"" + oldColumn.name + "\" TO \"" + newColumn.name + "\""));
719
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME COLUMN \"" + newColumn.name + "\" TO \"" + oldColumn.name + "\""));
720
- // rename column primary key constraint
721
- if (oldColumn.isPrimary === true) {
722
- primaryColumns = clonedTable.primaryColumns;
723
- columnNames = primaryColumns.map(function (column) { return column.name; });
724
- oldPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
725
- // replace old column name with new column name
726
- columnNames.splice(columnNames.indexOf(oldColumn.name), 1);
727
- columnNames.push(newColumn.name);
728
- newPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
729
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + oldPkName + "\" TO \"" + newPkName + "\""));
730
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + newPkName + "\" TO \"" + oldPkName + "\""));
731
- }
732
- // rename unique constraints
733
- clonedTable.findColumnUniques(oldColumn).forEach(function (unique) {
734
- // build new constraint name
735
- unique.columnNames.splice(unique.columnNames.indexOf(oldColumn.name), 1);
736
- unique.columnNames.push(newColumn.name);
737
- var newUniqueName = _this.connection.namingStrategy.uniqueConstraintName(clonedTable, unique.columnNames);
738
- // build queries
739
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + unique.name + "\" TO \"" + newUniqueName + "\""));
740
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + newUniqueName + "\" TO \"" + unique.name + "\""));
741
- // replace constraint name
742
- unique.name = newUniqueName;
743
- });
744
- // rename index constraints
745
- clonedTable.findColumnIndices(oldColumn).forEach(function (index) {
746
- // build new constraint name
747
- index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
748
- index.columnNames.push(newColumn.name);
749
- var newIndexName = _this.connection.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
750
- // build queries
751
- upQueries.push(new Query_1.Query("ALTER INDEX \"" + index.name + "\" RENAME TO \"" + newIndexName + "\""));
752
- downQueries.push(new Query_1.Query("ALTER INDEX \"" + newIndexName + "\" RENAME TO \"" + index.name + "\""));
753
- // replace constraint name
754
- index.name = newIndexName;
755
- });
756
- // rename foreign key constraints
757
- clonedTable.findColumnForeignKeys(oldColumn).forEach(function (foreignKey) {
758
- // build new constraint name
759
- foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
760
- foreignKey.columnNames.push(newColumn.name);
761
- var newForeignKeyName = _this.connection.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames);
762
- // build queries
763
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + foreignKey.name + "\" TO \"" + newForeignKeyName + "\""));
764
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + newForeignKeyName + "\" TO \"" + foreignKey.name + "\""));
765
- // replace constraint name
766
- foreignKey.name = newForeignKeyName;
767
- });
768
- oldTableColumn = clonedTable.columns.find(function (column) { return column.name === oldColumn.name; });
769
- clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
770
- oldColumn.name = newColumn.name;
771
- }
772
- if (this.isColumnChanged(oldColumn, newColumn, true)) {
773
- defaultUp = "";
774
- defaultDown = "";
775
- nullableUp = "";
776
- nullableDown = "";
777
- // changing column default
778
- if (newColumn.default !== null && newColumn.default !== undefined) {
779
- defaultUp = "DEFAULT " + newColumn.default;
780
- if (oldColumn.default !== null && oldColumn.default !== undefined) {
781
- defaultDown = "DEFAULT " + oldColumn.default;
782
- }
783
- else {
784
- defaultDown = "DEFAULT NULL";
785
- }
786
- }
787
- else if (oldColumn.default !== null && oldColumn.default !== undefined) {
788
- defaultUp = "DEFAULT NULL";
789
- defaultDown = "DEFAULT " + oldColumn.default;
790
- }
791
- // changing column isNullable property
792
- if (newColumn.isNullable !== oldColumn.isNullable) {
793
- if (newColumn.isNullable === true) {
794
- nullableUp = "NULL";
795
- nullableDown = "NOT NULL";
796
- }
797
- else {
798
- nullableUp = "NOT NULL";
799
- nullableDown = "NULL";
800
- }
801
- }
802
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" MODIFY \"" + oldColumn.name + "\" " + this.connection.driver.createFullType(newColumn) + " " + defaultUp + " " + nullableUp));
803
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" MODIFY \"" + oldColumn.name + "\" " + this.connection.driver.createFullType(oldColumn) + " " + defaultDown + " " + nullableDown));
804
- }
805
- if (newColumn.isPrimary !== oldColumn.isPrimary) {
806
- primaryColumns = clonedTable.primaryColumns;
807
- // if primary column state changed, we must always drop existed constraint.
808
- if (primaryColumns.length > 0) {
809
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
810
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
811
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
812
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
813
- }
814
- if (newColumn.isPrimary === true) {
815
- primaryColumns.push(newColumn);
816
- column = clonedTable.columns.find(function (column) { return column.name === newColumn.name; });
817
- column.isPrimary = true;
818
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
819
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
820
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
821
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
822
- }
823
- else {
824
- primaryColumn = primaryColumns.find(function (c) { return c.name === newColumn.name; });
825
- primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
826
- column = clonedTable.columns.find(function (column) { return column.name === newColumn.name; });
827
- column.isPrimary = false;
828
- // if we have another primary keys, we must recreate constraint.
829
- if (primaryColumns.length > 0) {
830
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
831
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
832
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
833
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
834
- }
835
- }
836
- }
837
- if (newColumn.isUnique !== oldColumn.isUnique) {
838
- if (newColumn.isUnique === true) {
839
- uniqueConstraint = new TableUnique_1.TableUnique({
840
- name: this.connection.namingStrategy.uniqueConstraintName(table.name, [newColumn.name]),
841
- columnNames: [newColumn.name]
842
- });
843
- clonedTable.uniques.push(uniqueConstraint);
844
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + newColumn.name + "\")"));
845
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueConstraint.name + "\""));
846
- }
847
- else {
848
- uniqueConstraint = clonedTable.uniques.find(function (unique) {
849
- return unique.columnNames.length === 1 && !!unique.columnNames.find(function (columnName) { return columnName === newColumn.name; });
850
- });
851
- clonedTable.uniques.splice(clonedTable.uniques.indexOf(uniqueConstraint), 1);
852
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueConstraint.name + "\""));
853
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + newColumn.name + "\")"));
854
- }
855
- }
856
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
857
- case 7:
858
- _b.sent();
859
- this.replaceCachedTable(table, clonedTable);
860
- _b.label = 8;
861
- case 8: return [2 /*return*/];
558
+ async changeColumn(tableOrName, oldTableColumnOrName, newColumn) {
559
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
560
+ ? tableOrName
561
+ : await this.getCachedTable(tableOrName);
562
+ let clonedTable = table.clone();
563
+ const upQueries = [];
564
+ const downQueries = [];
565
+ const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
566
+ ? oldTableColumnOrName
567
+ : table.columns.find((column) => column.name === oldTableColumnOrName);
568
+ if (!oldColumn)
569
+ throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the ${this.escapePath(table)} table.`);
570
+ if ((newColumn.isGenerated !== oldColumn.isGenerated &&
571
+ newColumn.generationStrategy !== "uuid") ||
572
+ oldColumn.type !== newColumn.type ||
573
+ oldColumn.length !== newColumn.length) {
574
+ // Oracle does not support changing of IDENTITY column, so we must drop column and recreate it again.
575
+ // Also, we recreate column if column type changed
576
+ await this.dropColumn(table, oldColumn);
577
+ await this.addColumn(table, newColumn);
578
+ // update cloned table
579
+ clonedTable = table.clone();
580
+ }
581
+ else {
582
+ if (newColumn.name !== oldColumn.name) {
583
+ // rename column
584
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${oldColumn.name}" TO "${newColumn.name}"`));
585
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${newColumn.name}" TO "${oldColumn.name}"`));
586
+ // rename column primary key constraint
587
+ if (oldColumn.isPrimary === true) {
588
+ const primaryColumns = clonedTable.primaryColumns;
589
+ // build old primary constraint name
590
+ const columnNames = primaryColumns.map((column) => column.name);
591
+ const oldPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
592
+ // replace old column name with new column name
593
+ columnNames.splice(columnNames.indexOf(oldColumn.name), 1);
594
+ columnNames.push(newColumn.name);
595
+ // build new primary constraint name
596
+ const newPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
597
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${oldPkName}" TO "${newPkName}"`));
598
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newPkName}" TO "${oldPkName}"`));
862
599
  }
863
- });
864
- });
865
- };
600
+ // rename unique constraints
601
+ clonedTable.findColumnUniques(oldColumn).forEach((unique) => {
602
+ // build new constraint name
603
+ unique.columnNames.splice(unique.columnNames.indexOf(oldColumn.name), 1);
604
+ unique.columnNames.push(newColumn.name);
605
+ const newUniqueName = this.connection.namingStrategy.uniqueConstraintName(clonedTable, unique.columnNames);
606
+ // build queries
607
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${unique.name}" TO "${newUniqueName}"`));
608
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newUniqueName}" TO "${unique.name}"`));
609
+ // replace constraint name
610
+ unique.name = newUniqueName;
611
+ });
612
+ // rename index constraints
613
+ clonedTable.findColumnIndices(oldColumn).forEach((index) => {
614
+ // build new constraint name
615
+ index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
616
+ index.columnNames.push(newColumn.name);
617
+ const newIndexName = this.connection.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
618
+ // build queries
619
+ upQueries.push(new Query_1.Query(`ALTER INDEX "${index.name}" RENAME TO "${newIndexName}"`));
620
+ downQueries.push(new Query_1.Query(`ALTER INDEX "${newIndexName}" RENAME TO "${index.name}"`));
621
+ // replace constraint name
622
+ index.name = newIndexName;
623
+ });
624
+ // rename foreign key constraints
625
+ clonedTable
626
+ .findColumnForeignKeys(oldColumn)
627
+ .forEach((foreignKey) => {
628
+ // build new constraint name
629
+ foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
630
+ foreignKey.columnNames.push(newColumn.name);
631
+ const newForeignKeyName = this.connection.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
632
+ // build queries
633
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${foreignKey.name}" TO "${newForeignKeyName}"`));
634
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newForeignKeyName}" TO "${foreignKey.name}"`));
635
+ // replace constraint name
636
+ foreignKey.name = newForeignKeyName;
637
+ });
638
+ // rename old column in the Table object
639
+ const oldTableColumn = clonedTable.columns.find((column) => column.name === oldColumn.name);
640
+ clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
641
+ oldColumn.name = newColumn.name;
642
+ }
643
+ if (this.isColumnChanged(oldColumn, newColumn, true)) {
644
+ let defaultUp = "";
645
+ let defaultDown = "";
646
+ let nullableUp = "";
647
+ let nullableDown = "";
648
+ // changing column default
649
+ if (newColumn.default !== null &&
650
+ newColumn.default !== undefined) {
651
+ defaultUp = `DEFAULT ${newColumn.default}`;
652
+ if (oldColumn.default !== null &&
653
+ oldColumn.default !== undefined) {
654
+ defaultDown = `DEFAULT ${oldColumn.default}`;
655
+ }
656
+ else {
657
+ defaultDown = "DEFAULT NULL";
658
+ }
659
+ }
660
+ else if (oldColumn.default !== null &&
661
+ oldColumn.default !== undefined) {
662
+ defaultUp = "DEFAULT NULL";
663
+ defaultDown = `DEFAULT ${oldColumn.default}`;
664
+ }
665
+ // changing column isNullable property
666
+ if (newColumn.isNullable !== oldColumn.isNullable) {
667
+ if (newColumn.isNullable === true) {
668
+ nullableUp = "NULL";
669
+ nullableDown = "NOT NULL";
670
+ }
671
+ else {
672
+ nullableUp = "NOT NULL";
673
+ nullableDown = "NULL";
674
+ }
675
+ }
676
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} MODIFY "${oldColumn.name}" ${this.connection.driver.createFullType(newColumn)} ${defaultUp} ${nullableUp}`));
677
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} MODIFY "${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} ${defaultDown} ${nullableDown}`));
678
+ }
679
+ if (newColumn.isPrimary !== oldColumn.isPrimary) {
680
+ const primaryColumns = clonedTable.primaryColumns;
681
+ // if primary column state changed, we must always drop existed constraint.
682
+ if (primaryColumns.length > 0) {
683
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
684
+ const columnNames = primaryColumns
685
+ .map((column) => `"${column.name}"`)
686
+ .join(", ");
687
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
688
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
689
+ }
690
+ if (newColumn.isPrimary === true) {
691
+ primaryColumns.push(newColumn);
692
+ // update column in table
693
+ const column = clonedTable.columns.find((column) => column.name === newColumn.name);
694
+ column.isPrimary = true;
695
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
696
+ const columnNames = primaryColumns
697
+ .map((column) => `"${column.name}"`)
698
+ .join(", ");
699
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
700
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
701
+ }
702
+ else {
703
+ const primaryColumn = primaryColumns.find((c) => c.name === newColumn.name);
704
+ primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
705
+ // update column in table
706
+ const column = clonedTable.columns.find((column) => column.name === newColumn.name);
707
+ column.isPrimary = false;
708
+ // if we have another primary keys, we must recreate constraint.
709
+ if (primaryColumns.length > 0) {
710
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
711
+ const columnNames = primaryColumns
712
+ .map((column) => `"${column.name}"`)
713
+ .join(", ");
714
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
715
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
716
+ }
717
+ }
718
+ }
719
+ if (newColumn.isUnique !== oldColumn.isUnique) {
720
+ if (newColumn.isUnique === true) {
721
+ const uniqueConstraint = new TableUnique_1.TableUnique({
722
+ name: this.connection.namingStrategy.uniqueConstraintName(table, [newColumn.name]),
723
+ columnNames: [newColumn.name],
724
+ });
725
+ clonedTable.uniques.push(uniqueConstraint);
726
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${newColumn.name}")`));
727
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
728
+ }
729
+ else {
730
+ const uniqueConstraint = clonedTable.uniques.find((unique) => {
731
+ return (unique.columnNames.length === 1 &&
732
+ !!unique.columnNames.find((columnName) => columnName === newColumn.name));
733
+ });
734
+ clonedTable.uniques.splice(clonedTable.uniques.indexOf(uniqueConstraint), 1);
735
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
736
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${newColumn.name}")`));
737
+ }
738
+ }
739
+ await this.executeQueries(upQueries, downQueries);
740
+ this.replaceCachedTable(table, clonedTable);
741
+ }
742
+ }
866
743
  /**
867
744
  * Changes a column in the table.
868
745
  */
869
- OracleQueryRunner.prototype.changeColumns = function (tableOrName, changedColumns) {
870
- return tslib_1.__awaiter(this, void 0, void 0, function () {
871
- var _this = this;
872
- return tslib_1.__generator(this, function (_a) {
873
- switch (_a.label) {
874
- case 0: return [4 /*yield*/, index_1.PromiseUtils.runInSequence(changedColumns, function (changedColumn) { return _this.changeColumn(tableOrName, changedColumn.oldColumn, changedColumn.newColumn); })];
875
- case 1:
876
- _a.sent();
877
- return [2 /*return*/];
878
- }
879
- });
880
- });
881
- };
746
+ async changeColumns(tableOrName, changedColumns) {
747
+ for (const { oldColumn, newColumn } of changedColumns) {
748
+ await this.changeColumn(tableOrName, oldColumn, newColumn);
749
+ }
750
+ }
882
751
  /**
883
752
  * Drops column in the table.
884
753
  */
885
- OracleQueryRunner.prototype.dropColumn = function (tableOrName, columnOrName) {
886
- return tslib_1.__awaiter(this, void 0, void 0, function () {
887
- var table, _a, column, clonedTable, upQueries, downQueries, pkName, columnNames, tableColumn, pkName_2, columnNames_2, columnIndex, columnCheck, columnUnique;
888
- return tslib_1.__generator(this, function (_b) {
889
- switch (_b.label) {
890
- case 0:
891
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
892
- _a = tableOrName;
893
- return [3 /*break*/, 3];
894
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
895
- case 2:
896
- _a = _b.sent();
897
- _b.label = 3;
898
- case 3:
899
- table = _a;
900
- column = columnOrName instanceof TableColumn_1.TableColumn ? columnOrName : table.findColumnByName(columnOrName);
901
- if (!column)
902
- throw new Error("Column \"" + columnOrName + "\" was not found in table \"" + table.name + "\"");
903
- clonedTable = table.clone();
904
- upQueries = [];
905
- downQueries = [];
906
- // drop primary key constraint
907
- if (column.isPrimary) {
908
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(function (column) { return column.name; }));
909
- columnNames = clonedTable.primaryColumns.map(function (primaryColumn) { return "\"" + primaryColumn.name + "\""; }).join(", ");
910
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + clonedTable.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
911
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + clonedTable.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
912
- tableColumn = clonedTable.findColumnByName(column.name);
913
- tableColumn.isPrimary = false;
914
- // if primary key have multiple columns, we must recreate it without dropped column
915
- if (clonedTable.primaryColumns.length > 0) {
916
- pkName_2 = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(function (column) { return column.name; }));
917
- columnNames_2 = clonedTable.primaryColumns.map(function (primaryColumn) { return "\"" + primaryColumn.name + "\""; }).join(", ");
918
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + clonedTable.name + "\" ADD CONSTRAINT \"" + pkName_2 + "\" PRIMARY KEY (" + columnNames_2 + ")"));
919
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + clonedTable.name + "\" DROP CONSTRAINT \"" + pkName_2 + "\""));
920
- }
921
- }
922
- columnIndex = clonedTable.indices.find(function (index) { return index.columnNames.length === 1 && index.columnNames[0] === column.name; });
923
- if (columnIndex) {
924
- upQueries.push(this.dropIndexSql(columnIndex));
925
- downQueries.push(this.createIndexSql(table, columnIndex));
926
- }
927
- columnCheck = clonedTable.checks.find(function (check) { return !!check.columnNames && check.columnNames.length === 1 && check.columnNames[0] === column.name; });
928
- if (columnCheck) {
929
- clonedTable.checks.splice(clonedTable.checks.indexOf(columnCheck), 1);
930
- upQueries.push(this.dropCheckConstraintSql(table, columnCheck));
931
- downQueries.push(this.createCheckConstraintSql(table, columnCheck));
932
- }
933
- columnUnique = clonedTable.uniques.find(function (unique) { return unique.columnNames.length === 1 && unique.columnNames[0] === column.name; });
934
- if (columnUnique) {
935
- clonedTable.uniques.splice(clonedTable.uniques.indexOf(columnUnique), 1);
936
- upQueries.push(this.dropUniqueConstraintSql(table, columnUnique));
937
- downQueries.push(this.createUniqueConstraintSql(table, columnUnique));
938
- }
939
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP COLUMN \"" + column.name + "\""));
940
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD " + this.buildCreateColumnSql(column)));
941
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
942
- case 4:
943
- _b.sent();
944
- clonedTable.removeColumn(column);
945
- this.replaceCachedTable(table, clonedTable);
946
- return [2 /*return*/];
947
- }
948
- });
949
- });
950
- };
754
+ async dropColumn(tableOrName, columnOrName) {
755
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
756
+ ? tableOrName
757
+ : await this.getCachedTable(tableOrName);
758
+ const column = InstanceChecker_1.InstanceChecker.isTableColumn(columnOrName)
759
+ ? columnOrName
760
+ : table.findColumnByName(columnOrName);
761
+ if (!column)
762
+ throw new error_1.TypeORMError(`Column "${columnOrName}" was not found in table ${this.escapePath(table)}`);
763
+ const clonedTable = table.clone();
764
+ const upQueries = [];
765
+ const downQueries = [];
766
+ // drop primary key constraint
767
+ if (column.isPrimary) {
768
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
769
+ const columnNames = clonedTable.primaryColumns
770
+ .map((primaryColumn) => `"${primaryColumn.name}"`)
771
+ .join(", ");
772
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
773
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
774
+ // update column in table
775
+ const tableColumn = clonedTable.findColumnByName(column.name);
776
+ tableColumn.isPrimary = false;
777
+ // if primary key have multiple columns, we must recreate it without dropped column
778
+ if (clonedTable.primaryColumns.length > 0) {
779
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
780
+ const columnNames = clonedTable.primaryColumns
781
+ .map((primaryColumn) => `"${primaryColumn.name}"`)
782
+ .join(", ");
783
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
784
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
785
+ }
786
+ }
787
+ // drop column index
788
+ const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
789
+ index.columnNames[0] === column.name);
790
+ if (columnIndex) {
791
+ upQueries.push(this.dropIndexSql(columnIndex));
792
+ downQueries.push(this.createIndexSql(table, columnIndex));
793
+ }
794
+ // drop column check
795
+ const columnCheck = clonedTable.checks.find((check) => !!check.columnNames &&
796
+ check.columnNames.length === 1 &&
797
+ check.columnNames[0] === column.name);
798
+ if (columnCheck) {
799
+ clonedTable.checks.splice(clonedTable.checks.indexOf(columnCheck), 1);
800
+ upQueries.push(this.dropCheckConstraintSql(table, columnCheck));
801
+ downQueries.push(this.createCheckConstraintSql(table, columnCheck));
802
+ }
803
+ // drop column unique
804
+ const columnUnique = clonedTable.uniques.find((unique) => unique.columnNames.length === 1 &&
805
+ unique.columnNames[0] === column.name);
806
+ if (columnUnique) {
807
+ clonedTable.uniques.splice(clonedTable.uniques.indexOf(columnUnique), 1);
808
+ upQueries.push(this.dropUniqueConstraintSql(table, columnUnique));
809
+ downQueries.push(this.createUniqueConstraintSql(table, columnUnique));
810
+ }
811
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${column.name}"`));
812
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column)}`));
813
+ await this.executeQueries(upQueries, downQueries);
814
+ clonedTable.removeColumn(column);
815
+ this.replaceCachedTable(table, clonedTable);
816
+ }
951
817
  /**
952
818
  * Drops the columns in the table.
953
819
  */
954
- OracleQueryRunner.prototype.dropColumns = function (tableOrName, columns) {
955
- return tslib_1.__awaiter(this, void 0, void 0, function () {
956
- var _this = this;
957
- return tslib_1.__generator(this, function (_a) {
958
- switch (_a.label) {
959
- case 0: return [4 /*yield*/, index_1.PromiseUtils.runInSequence(columns, function (column) { return _this.dropColumn(tableOrName, column); })];
960
- case 1:
961
- _a.sent();
962
- return [2 /*return*/];
963
- }
964
- });
965
- });
966
- };
820
+ async dropColumns(tableOrName, columns) {
821
+ for (const column of columns) {
822
+ await this.dropColumn(tableOrName, column);
823
+ }
824
+ }
967
825
  /**
968
826
  * Creates a new primary key.
969
827
  */
970
- OracleQueryRunner.prototype.createPrimaryKey = function (tableOrName, columnNames) {
971
- return tslib_1.__awaiter(this, void 0, void 0, function () {
972
- var table, _a, clonedTable, up, down;
973
- return tslib_1.__generator(this, function (_b) {
974
- switch (_b.label) {
975
- case 0:
976
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
977
- _a = tableOrName;
978
- return [3 /*break*/, 3];
979
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
980
- case 2:
981
- _a = _b.sent();
982
- _b.label = 3;
983
- case 3:
984
- table = _a;
985
- clonedTable = table.clone();
986
- up = this.createPrimaryKeySql(table, columnNames);
987
- // mark columns as primary, because dropPrimaryKeySql build constraint name from table primary column names.
988
- clonedTable.columns.forEach(function (column) {
989
- if (columnNames.find(function (columnName) { return columnName === column.name; }))
990
- column.isPrimary = true;
991
- });
992
- down = this.dropPrimaryKeySql(clonedTable);
993
- return [4 /*yield*/, this.executeQueries(up, down)];
994
- case 4:
995
- _b.sent();
996
- this.replaceCachedTable(table, clonedTable);
997
- return [2 /*return*/];
998
- }
999
- });
828
+ async createPrimaryKey(tableOrName, columnNames) {
829
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
830
+ ? tableOrName
831
+ : await this.getCachedTable(tableOrName);
832
+ const clonedTable = table.clone();
833
+ const up = this.createPrimaryKeySql(table, columnNames);
834
+ // mark columns as primary, because dropPrimaryKeySql build constraint name from table primary column names.
835
+ clonedTable.columns.forEach((column) => {
836
+ if (columnNames.find((columnName) => columnName === column.name))
837
+ column.isPrimary = true;
1000
838
  });
1001
- };
839
+ const down = this.dropPrimaryKeySql(clonedTable);
840
+ await this.executeQueries(up, down);
841
+ this.replaceCachedTable(table, clonedTable);
842
+ }
1002
843
  /**
1003
844
  * Updates composite primary keys.
1004
845
  */
1005
- OracleQueryRunner.prototype.updatePrimaryKeys = function (tableOrName, columns) {
1006
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1007
- var table, _a, columnNames, clonedTable, upQueries, downQueries, primaryColumns, pkName_3, columnNamesString_1, pkName, columnNamesString;
1008
- return tslib_1.__generator(this, function (_b) {
1009
- switch (_b.label) {
1010
- case 0:
1011
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1012
- _a = tableOrName;
1013
- return [3 /*break*/, 3];
1014
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1015
- case 2:
1016
- _a = _b.sent();
1017
- _b.label = 3;
1018
- case 3:
1019
- table = _a;
1020
- columnNames = columns.map(function (column) { return column.name; });
1021
- clonedTable = table.clone();
1022
- upQueries = [];
1023
- downQueries = [];
1024
- primaryColumns = clonedTable.primaryColumns;
1025
- if (primaryColumns.length > 0) {
1026
- pkName_3 = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
1027
- columnNamesString_1 = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
1028
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName_3 + "\""));
1029
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName_3 + "\" PRIMARY KEY (" + columnNamesString_1 + ")"));
1030
- }
1031
- // update columns in table.
1032
- clonedTable.columns
1033
- .filter(function (column) { return columnNames.indexOf(column.name) !== -1; })
1034
- .forEach(function (column) { return column.isPrimary = true; });
1035
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames);
1036
- columnNamesString = columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1037
- upQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNamesString + ")"));
1038
- downQueries.push(new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
1039
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
1040
- case 4:
1041
- _b.sent();
1042
- this.replaceCachedTable(table, clonedTable);
1043
- return [2 /*return*/];
1044
- }
1045
- });
1046
- });
1047
- };
846
+ async updatePrimaryKeys(tableOrName, columns) {
847
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
848
+ ? tableOrName
849
+ : await this.getCachedTable(tableOrName);
850
+ const columnNames = columns.map((column) => column.name);
851
+ const clonedTable = table.clone();
852
+ const upQueries = [];
853
+ const downQueries = [];
854
+ // if table already have primary columns, we must drop them.
855
+ const primaryColumns = clonedTable.primaryColumns;
856
+ if (primaryColumns.length > 0) {
857
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
858
+ const columnNamesString = primaryColumns
859
+ .map((column) => `"${column.name}"`)
860
+ .join(", ");
861
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
862
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
863
+ }
864
+ // update columns in table.
865
+ clonedTable.columns
866
+ .filter((column) => columnNames.indexOf(column.name) !== -1)
867
+ .forEach((column) => (column.isPrimary = true));
868
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
869
+ const columnNamesString = columnNames
870
+ .map((columnName) => `"${columnName}"`)
871
+ .join(", ");
872
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
873
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
874
+ await this.executeQueries(upQueries, downQueries);
875
+ this.replaceCachedTable(table, clonedTable);
876
+ }
1048
877
  /**
1049
878
  * Drops a primary key.
1050
879
  */
1051
- OracleQueryRunner.prototype.dropPrimaryKey = function (tableOrName) {
1052
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1053
- var table, _a, up, down;
1054
- return tslib_1.__generator(this, function (_b) {
1055
- switch (_b.label) {
1056
- case 0:
1057
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1058
- _a = tableOrName;
1059
- return [3 /*break*/, 3];
1060
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1061
- case 2:
1062
- _a = _b.sent();
1063
- _b.label = 3;
1064
- case 3:
1065
- table = _a;
1066
- up = this.dropPrimaryKeySql(table);
1067
- down = this.createPrimaryKeySql(table, table.primaryColumns.map(function (column) { return column.name; }));
1068
- return [4 /*yield*/, this.executeQueries(up, down)];
1069
- case 4:
1070
- _b.sent();
1071
- table.primaryColumns.forEach(function (column) {
1072
- column.isPrimary = false;
1073
- });
1074
- return [2 /*return*/];
1075
- }
1076
- });
880
+ async dropPrimaryKey(tableOrName) {
881
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
882
+ ? tableOrName
883
+ : await this.getCachedTable(tableOrName);
884
+ const up = this.dropPrimaryKeySql(table);
885
+ const down = this.createPrimaryKeySql(table, table.primaryColumns.map((column) => column.name));
886
+ await this.executeQueries(up, down);
887
+ table.primaryColumns.forEach((column) => {
888
+ column.isPrimary = false;
1077
889
  });
1078
- };
890
+ }
1079
891
  /**
1080
892
  * Creates a new unique constraint.
1081
893
  */
1082
- OracleQueryRunner.prototype.createUniqueConstraint = function (tableOrName, uniqueConstraint) {
1083
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1084
- var table, _a, up, down;
1085
- return tslib_1.__generator(this, function (_b) {
1086
- switch (_b.label) {
1087
- case 0:
1088
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1089
- _a = tableOrName;
1090
- return [3 /*break*/, 3];
1091
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1092
- case 2:
1093
- _a = _b.sent();
1094
- _b.label = 3;
1095
- case 3:
1096
- table = _a;
1097
- // new unique constraint may be passed without name. In this case we generate unique name manually.
1098
- if (!uniqueConstraint.name)
1099
- uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table.name, uniqueConstraint.columnNames);
1100
- up = this.createUniqueConstraintSql(table, uniqueConstraint);
1101
- down = this.dropUniqueConstraintSql(table, uniqueConstraint);
1102
- return [4 /*yield*/, this.executeQueries(up, down)];
1103
- case 4:
1104
- _b.sent();
1105
- table.addUniqueConstraint(uniqueConstraint);
1106
- return [2 /*return*/];
1107
- }
1108
- });
1109
- });
1110
- };
894
+ async createUniqueConstraint(tableOrName, uniqueConstraint) {
895
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
896
+ ? tableOrName
897
+ : await this.getCachedTable(tableOrName);
898
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
899
+ if (!uniqueConstraint.name)
900
+ uniqueConstraint.name =
901
+ this.connection.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames);
902
+ const up = this.createUniqueConstraintSql(table, uniqueConstraint);
903
+ const down = this.dropUniqueConstraintSql(table, uniqueConstraint);
904
+ await this.executeQueries(up, down);
905
+ table.addUniqueConstraint(uniqueConstraint);
906
+ }
1111
907
  /**
1112
908
  * Creates a new unique constraints.
1113
909
  */
1114
- OracleQueryRunner.prototype.createUniqueConstraints = function (tableOrName, uniqueConstraints) {
1115
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1116
- var promises;
1117
- var _this = this;
1118
- return tslib_1.__generator(this, function (_a) {
1119
- switch (_a.label) {
1120
- case 0:
1121
- promises = uniqueConstraints.map(function (uniqueConstraint) { return _this.createUniqueConstraint(tableOrName, uniqueConstraint); });
1122
- return [4 /*yield*/, Promise.all(promises)];
1123
- case 1:
1124
- _a.sent();
1125
- return [2 /*return*/];
1126
- }
1127
- });
1128
- });
1129
- };
910
+ async createUniqueConstraints(tableOrName, uniqueConstraints) {
911
+ const promises = uniqueConstraints.map((uniqueConstraint) => this.createUniqueConstraint(tableOrName, uniqueConstraint));
912
+ await Promise.all(promises);
913
+ }
1130
914
  /**
1131
915
  * Drops an unique constraint.
1132
916
  */
1133
- OracleQueryRunner.prototype.dropUniqueConstraint = function (tableOrName, uniqueOrName) {
1134
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1135
- var table, _a, uniqueConstraint, up, down;
1136
- return tslib_1.__generator(this, function (_b) {
1137
- switch (_b.label) {
1138
- case 0:
1139
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1140
- _a = tableOrName;
1141
- return [3 /*break*/, 3];
1142
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1143
- case 2:
1144
- _a = _b.sent();
1145
- _b.label = 3;
1146
- case 3:
1147
- table = _a;
1148
- uniqueConstraint = uniqueOrName instanceof TableUnique_1.TableUnique ? uniqueOrName : table.uniques.find(function (u) { return u.name === uniqueOrName; });
1149
- if (!uniqueConstraint)
1150
- throw new Error("Supplied unique constraint was not found in table " + table.name);
1151
- up = this.dropUniqueConstraintSql(table, uniqueConstraint);
1152
- down = this.createUniqueConstraintSql(table, uniqueConstraint);
1153
- return [4 /*yield*/, this.executeQueries(up, down)];
1154
- case 4:
1155
- _b.sent();
1156
- table.removeUniqueConstraint(uniqueConstraint);
1157
- return [2 /*return*/];
1158
- }
1159
- });
1160
- });
1161
- };
917
+ async dropUniqueConstraint(tableOrName, uniqueOrName) {
918
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
919
+ ? tableOrName
920
+ : await this.getCachedTable(tableOrName);
921
+ const uniqueConstraint = InstanceChecker_1.InstanceChecker.isTableUnique(uniqueOrName)
922
+ ? uniqueOrName
923
+ : table.uniques.find((u) => u.name === uniqueOrName);
924
+ if (!uniqueConstraint)
925
+ throw new error_1.TypeORMError(`Supplied unique constraint was not found in table ${table.name}`);
926
+ const up = this.dropUniqueConstraintSql(table, uniqueConstraint);
927
+ const down = this.createUniqueConstraintSql(table, uniqueConstraint);
928
+ await this.executeQueries(up, down);
929
+ table.removeUniqueConstraint(uniqueConstraint);
930
+ }
1162
931
  /**
1163
932
  * Creates an unique constraints.
1164
933
  */
1165
- OracleQueryRunner.prototype.dropUniqueConstraints = function (tableOrName, uniqueConstraints) {
1166
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1167
- var promises;
1168
- var _this = this;
1169
- return tslib_1.__generator(this, function (_a) {
1170
- switch (_a.label) {
1171
- case 0:
1172
- promises = uniqueConstraints.map(function (uniqueConstraint) { return _this.dropUniqueConstraint(tableOrName, uniqueConstraint); });
1173
- return [4 /*yield*/, Promise.all(promises)];
1174
- case 1:
1175
- _a.sent();
1176
- return [2 /*return*/];
1177
- }
1178
- });
1179
- });
1180
- };
934
+ async dropUniqueConstraints(tableOrName, uniqueConstraints) {
935
+ const promises = uniqueConstraints.map((uniqueConstraint) => this.dropUniqueConstraint(tableOrName, uniqueConstraint));
936
+ await Promise.all(promises);
937
+ }
1181
938
  /**
1182
939
  * Creates new check constraint.
1183
940
  */
1184
- OracleQueryRunner.prototype.createCheckConstraint = function (tableOrName, checkConstraint) {
1185
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1186
- var table, _a, up, down;
1187
- return tslib_1.__generator(this, function (_b) {
1188
- switch (_b.label) {
1189
- case 0:
1190
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1191
- _a = tableOrName;
1192
- return [3 /*break*/, 3];
1193
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1194
- case 2:
1195
- _a = _b.sent();
1196
- _b.label = 3;
1197
- case 3:
1198
- table = _a;
1199
- // new unique constraint may be passed without name. In this case we generate unique name manually.
1200
- if (!checkConstraint.name)
1201
- checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression);
1202
- up = this.createCheckConstraintSql(table, checkConstraint);
1203
- down = this.dropCheckConstraintSql(table, checkConstraint);
1204
- return [4 /*yield*/, this.executeQueries(up, down)];
1205
- case 4:
1206
- _b.sent();
1207
- table.addCheckConstraint(checkConstraint);
1208
- return [2 /*return*/];
1209
- }
1210
- });
1211
- });
1212
- };
941
+ async createCheckConstraint(tableOrName, checkConstraint) {
942
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
943
+ ? tableOrName
944
+ : await this.getCachedTable(tableOrName);
945
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
946
+ if (!checkConstraint.name)
947
+ checkConstraint.name =
948
+ this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression);
949
+ const up = this.createCheckConstraintSql(table, checkConstraint);
950
+ const down = this.dropCheckConstraintSql(table, checkConstraint);
951
+ await this.executeQueries(up, down);
952
+ table.addCheckConstraint(checkConstraint);
953
+ }
1213
954
  /**
1214
955
  * Creates new check constraints.
1215
956
  */
1216
- OracleQueryRunner.prototype.createCheckConstraints = function (tableOrName, checkConstraints) {
1217
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1218
- var promises;
1219
- var _this = this;
1220
- return tslib_1.__generator(this, function (_a) {
1221
- switch (_a.label) {
1222
- case 0:
1223
- promises = checkConstraints.map(function (checkConstraint) { return _this.createCheckConstraint(tableOrName, checkConstraint); });
1224
- return [4 /*yield*/, Promise.all(promises)];
1225
- case 1:
1226
- _a.sent();
1227
- return [2 /*return*/];
1228
- }
1229
- });
1230
- });
1231
- };
957
+ async createCheckConstraints(tableOrName, checkConstraints) {
958
+ const promises = checkConstraints.map((checkConstraint) => this.createCheckConstraint(tableOrName, checkConstraint));
959
+ await Promise.all(promises);
960
+ }
1232
961
  /**
1233
962
  * Drops check constraint.
1234
963
  */
1235
- OracleQueryRunner.prototype.dropCheckConstraint = function (tableOrName, checkOrName) {
1236
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1237
- var table, _a, checkConstraint, up, down;
1238
- return tslib_1.__generator(this, function (_b) {
1239
- switch (_b.label) {
1240
- case 0:
1241
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1242
- _a = tableOrName;
1243
- return [3 /*break*/, 3];
1244
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1245
- case 2:
1246
- _a = _b.sent();
1247
- _b.label = 3;
1248
- case 3:
1249
- table = _a;
1250
- checkConstraint = checkOrName instanceof TableCheck_1.TableCheck ? checkOrName : table.checks.find(function (c) { return c.name === checkOrName; });
1251
- if (!checkConstraint)
1252
- throw new Error("Supplied check constraint was not found in table " + table.name);
1253
- up = this.dropCheckConstraintSql(table, checkConstraint);
1254
- down = this.createCheckConstraintSql(table, checkConstraint);
1255
- return [4 /*yield*/, this.executeQueries(up, down)];
1256
- case 4:
1257
- _b.sent();
1258
- table.removeCheckConstraint(checkConstraint);
1259
- return [2 /*return*/];
1260
- }
1261
- });
1262
- });
1263
- };
964
+ async dropCheckConstraint(tableOrName, checkOrName) {
965
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
966
+ ? tableOrName
967
+ : await this.getCachedTable(tableOrName);
968
+ const checkConstraint = InstanceChecker_1.InstanceChecker.isTableCheck(checkOrName)
969
+ ? checkOrName
970
+ : table.checks.find((c) => c.name === checkOrName);
971
+ if (!checkConstraint)
972
+ throw new error_1.TypeORMError(`Supplied check constraint was not found in table ${table.name}`);
973
+ const up = this.dropCheckConstraintSql(table, checkConstraint);
974
+ const down = this.createCheckConstraintSql(table, checkConstraint);
975
+ await this.executeQueries(up, down);
976
+ table.removeCheckConstraint(checkConstraint);
977
+ }
1264
978
  /**
1265
979
  * Drops check constraints.
1266
980
  */
1267
- OracleQueryRunner.prototype.dropCheckConstraints = function (tableOrName, checkConstraints) {
1268
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1269
- var promises;
1270
- var _this = this;
1271
- return tslib_1.__generator(this, function (_a) {
1272
- switch (_a.label) {
1273
- case 0:
1274
- promises = checkConstraints.map(function (checkConstraint) { return _this.dropCheckConstraint(tableOrName, checkConstraint); });
1275
- return [4 /*yield*/, Promise.all(promises)];
1276
- case 1:
1277
- _a.sent();
1278
- return [2 /*return*/];
1279
- }
1280
- });
1281
- });
1282
- };
981
+ async dropCheckConstraints(tableOrName, checkConstraints) {
982
+ const promises = checkConstraints.map((checkConstraint) => this.dropCheckConstraint(tableOrName, checkConstraint));
983
+ await Promise.all(promises);
984
+ }
1283
985
  /**
1284
986
  * Creates a new exclusion constraint.
1285
987
  */
1286
- OracleQueryRunner.prototype.createExclusionConstraint = function (tableOrName, exclusionConstraint) {
1287
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1288
- return tslib_1.__generator(this, function (_a) {
1289
- throw new Error("Oracle does not support exclusion constraints.");
1290
- });
1291
- });
1292
- };
988
+ async createExclusionConstraint(tableOrName, exclusionConstraint) {
989
+ throw new error_1.TypeORMError(`Oracle does not support exclusion constraints.`);
990
+ }
1293
991
  /**
1294
992
  * Creates a new exclusion constraints.
1295
993
  */
1296
- OracleQueryRunner.prototype.createExclusionConstraints = function (tableOrName, exclusionConstraints) {
1297
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1298
- return tslib_1.__generator(this, function (_a) {
1299
- throw new Error("Oracle does not support exclusion constraints.");
1300
- });
1301
- });
1302
- };
994
+ async createExclusionConstraints(tableOrName, exclusionConstraints) {
995
+ throw new error_1.TypeORMError(`Oracle does not support exclusion constraints.`);
996
+ }
1303
997
  /**
1304
998
  * Drops exclusion constraint.
1305
999
  */
1306
- OracleQueryRunner.prototype.dropExclusionConstraint = function (tableOrName, exclusionOrName) {
1307
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1308
- return tslib_1.__generator(this, function (_a) {
1309
- throw new Error("Oracle does not support exclusion constraints.");
1310
- });
1311
- });
1312
- };
1000
+ async dropExclusionConstraint(tableOrName, exclusionOrName) {
1001
+ throw new error_1.TypeORMError(`Oracle does not support exclusion constraints.`);
1002
+ }
1313
1003
  /**
1314
1004
  * Drops exclusion constraints.
1315
1005
  */
1316
- OracleQueryRunner.prototype.dropExclusionConstraints = function (tableOrName, exclusionConstraints) {
1317
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1318
- return tslib_1.__generator(this, function (_a) {
1319
- throw new Error("Oracle does not support exclusion constraints.");
1320
- });
1321
- });
1322
- };
1006
+ async dropExclusionConstraints(tableOrName, exclusionConstraints) {
1007
+ throw new error_1.TypeORMError(`Oracle does not support exclusion constraints.`);
1008
+ }
1323
1009
  /**
1324
1010
  * Creates a new foreign key.
1325
1011
  */
1326
- OracleQueryRunner.prototype.createForeignKey = function (tableOrName, foreignKey) {
1327
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1328
- var table, _a, up, down;
1329
- return tslib_1.__generator(this, function (_b) {
1330
- switch (_b.label) {
1331
- case 0:
1332
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1333
- _a = tableOrName;
1334
- return [3 /*break*/, 3];
1335
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1336
- case 2:
1337
- _a = _b.sent();
1338
- _b.label = 3;
1339
- case 3:
1340
- table = _a;
1341
- // new FK may be passed without name. In this case we generate FK name manually.
1342
- if (!foreignKey.name)
1343
- foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames);
1344
- up = this.createForeignKeySql(table, foreignKey);
1345
- down = this.dropForeignKeySql(table, foreignKey);
1346
- return [4 /*yield*/, this.executeQueries(up, down)];
1347
- case 4:
1348
- _b.sent();
1349
- table.addForeignKey(foreignKey);
1350
- return [2 /*return*/];
1351
- }
1352
- });
1353
- });
1354
- };
1012
+ async createForeignKey(tableOrName, foreignKey) {
1013
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1014
+ ? tableOrName
1015
+ : await this.getCachedTable(tableOrName);
1016
+ // new FK may be passed without name. In this case we generate FK name manually.
1017
+ if (!foreignKey.name)
1018
+ foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
1019
+ const up = this.createForeignKeySql(table, foreignKey);
1020
+ const down = this.dropForeignKeySql(table, foreignKey);
1021
+ await this.executeQueries(up, down);
1022
+ table.addForeignKey(foreignKey);
1023
+ }
1355
1024
  /**
1356
1025
  * Creates a new foreign keys.
1357
1026
  */
1358
- OracleQueryRunner.prototype.createForeignKeys = function (tableOrName, foreignKeys) {
1359
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1360
- var promises;
1361
- var _this = this;
1362
- return tslib_1.__generator(this, function (_a) {
1363
- switch (_a.label) {
1364
- case 0:
1365
- promises = foreignKeys.map(function (foreignKey) { return _this.createForeignKey(tableOrName, foreignKey); });
1366
- return [4 /*yield*/, Promise.all(promises)];
1367
- case 1:
1368
- _a.sent();
1369
- return [2 /*return*/];
1370
- }
1371
- });
1372
- });
1373
- };
1027
+ async createForeignKeys(tableOrName, foreignKeys) {
1028
+ const promises = foreignKeys.map((foreignKey) => this.createForeignKey(tableOrName, foreignKey));
1029
+ await Promise.all(promises);
1030
+ }
1374
1031
  /**
1375
1032
  * Drops a foreign key from the table.
1376
1033
  */
1377
- OracleQueryRunner.prototype.dropForeignKey = function (tableOrName, foreignKeyOrName) {
1378
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1379
- var table, _a, foreignKey, up, down;
1380
- return tslib_1.__generator(this, function (_b) {
1381
- switch (_b.label) {
1382
- case 0:
1383
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1384
- _a = tableOrName;
1385
- return [3 /*break*/, 3];
1386
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1387
- case 2:
1388
- _a = _b.sent();
1389
- _b.label = 3;
1390
- case 3:
1391
- table = _a;
1392
- foreignKey = foreignKeyOrName instanceof TableForeignKey_1.TableForeignKey ? foreignKeyOrName : table.foreignKeys.find(function (fk) { return fk.name === foreignKeyOrName; });
1393
- if (!foreignKey)
1394
- throw new Error("Supplied foreign key was not found in table " + table.name);
1395
- up = this.dropForeignKeySql(table, foreignKey);
1396
- down = this.createForeignKeySql(table, foreignKey);
1397
- return [4 /*yield*/, this.executeQueries(up, down)];
1398
- case 4:
1399
- _b.sent();
1400
- table.removeForeignKey(foreignKey);
1401
- return [2 /*return*/];
1402
- }
1403
- });
1404
- });
1405
- };
1034
+ async dropForeignKey(tableOrName, foreignKeyOrName) {
1035
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1036
+ ? tableOrName
1037
+ : await this.getCachedTable(tableOrName);
1038
+ const foreignKey = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
1039
+ ? foreignKeyOrName
1040
+ : table.foreignKeys.find((fk) => fk.name === foreignKeyOrName);
1041
+ if (!foreignKey)
1042
+ throw new error_1.TypeORMError(`Supplied foreign key was not found in table ${table.name}`);
1043
+ const up = this.dropForeignKeySql(table, foreignKey);
1044
+ const down = this.createForeignKeySql(table, foreignKey);
1045
+ await this.executeQueries(up, down);
1046
+ table.removeForeignKey(foreignKey);
1047
+ }
1406
1048
  /**
1407
1049
  * Drops a foreign keys from the table.
1408
1050
  */
1409
- OracleQueryRunner.prototype.dropForeignKeys = function (tableOrName, foreignKeys) {
1410
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1411
- var promises;
1412
- var _this = this;
1413
- return tslib_1.__generator(this, function (_a) {
1414
- switch (_a.label) {
1415
- case 0:
1416
- promises = foreignKeys.map(function (foreignKey) { return _this.dropForeignKey(tableOrName, foreignKey); });
1417
- return [4 /*yield*/, Promise.all(promises)];
1418
- case 1:
1419
- _a.sent();
1420
- return [2 /*return*/];
1421
- }
1422
- });
1423
- });
1424
- };
1051
+ async dropForeignKeys(tableOrName, foreignKeys) {
1052
+ const promises = foreignKeys.map((foreignKey) => this.dropForeignKey(tableOrName, foreignKey));
1053
+ await Promise.all(promises);
1054
+ }
1425
1055
  /**
1426
1056
  * Creates a new index.
1427
1057
  */
1428
- OracleQueryRunner.prototype.createIndex = function (tableOrName, index) {
1429
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1430
- var table, _a, up, down;
1431
- return tslib_1.__generator(this, function (_b) {
1432
- switch (_b.label) {
1433
- case 0:
1434
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1435
- _a = tableOrName;
1436
- return [3 /*break*/, 3];
1437
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1438
- case 2:
1439
- _a = _b.sent();
1440
- _b.label = 3;
1441
- case 3:
1442
- table = _a;
1443
- // new index may be passed without name. In this case we generate index name manually.
1444
- if (!index.name)
1445
- index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where);
1446
- up = this.createIndexSql(table, index);
1447
- down = this.dropIndexSql(index);
1448
- return [4 /*yield*/, this.executeQueries(up, down)];
1449
- case 4:
1450
- _b.sent();
1451
- table.addIndex(index);
1452
- return [2 /*return*/];
1453
- }
1454
- });
1455
- });
1456
- };
1058
+ async createIndex(tableOrName, index) {
1059
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1060
+ ? tableOrName
1061
+ : await this.getCachedTable(tableOrName);
1062
+ // new index may be passed without name. In this case we generate index name manually.
1063
+ if (!index.name)
1064
+ index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where);
1065
+ const up = this.createIndexSql(table, index);
1066
+ const down = this.dropIndexSql(index);
1067
+ await this.executeQueries(up, down);
1068
+ table.addIndex(index);
1069
+ }
1457
1070
  /**
1458
1071
  * Creates a new indices
1459
1072
  */
1460
- OracleQueryRunner.prototype.createIndices = function (tableOrName, indices) {
1461
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1462
- var promises;
1463
- var _this = this;
1464
- return tslib_1.__generator(this, function (_a) {
1465
- switch (_a.label) {
1466
- case 0:
1467
- promises = indices.map(function (index) { return _this.createIndex(tableOrName, index); });
1468
- return [4 /*yield*/, Promise.all(promises)];
1469
- case 1:
1470
- _a.sent();
1471
- return [2 /*return*/];
1472
- }
1473
- });
1474
- });
1475
- };
1073
+ async createIndices(tableOrName, indices) {
1074
+ const promises = indices.map((index) => this.createIndex(tableOrName, index));
1075
+ await Promise.all(promises);
1076
+ }
1476
1077
  /**
1477
1078
  * Drops an index from the table.
1478
1079
  */
1479
- OracleQueryRunner.prototype.dropIndex = function (tableOrName, indexOrName) {
1480
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1481
- var table, _a, index, up, down;
1482
- return tslib_1.__generator(this, function (_b) {
1483
- switch (_b.label) {
1484
- case 0:
1485
- if (!(tableOrName instanceof Table_1.Table)) return [3 /*break*/, 1];
1486
- _a = tableOrName;
1487
- return [3 /*break*/, 3];
1488
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1489
- case 2:
1490
- _a = _b.sent();
1491
- _b.label = 3;
1492
- case 3:
1493
- table = _a;
1494
- index = indexOrName instanceof TableIndex_1.TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
1495
- if (!index)
1496
- throw new Error("Supplied index was not found in table " + table.name);
1497
- up = this.dropIndexSql(index);
1498
- down = this.createIndexSql(table, index);
1499
- return [4 /*yield*/, this.executeQueries(up, down)];
1500
- case 4:
1501
- _b.sent();
1502
- table.removeIndex(index);
1503
- return [2 /*return*/];
1504
- }
1505
- });
1506
- });
1507
- };
1080
+ async dropIndex(tableOrName, indexOrName) {
1081
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1082
+ ? tableOrName
1083
+ : await this.getCachedTable(tableOrName);
1084
+ const index = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
1085
+ ? indexOrName
1086
+ : table.indices.find((i) => i.name === indexOrName);
1087
+ if (!index)
1088
+ throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
1089
+ const up = this.dropIndexSql(index);
1090
+ const down = this.createIndexSql(table, index);
1091
+ await this.executeQueries(up, down);
1092
+ table.removeIndex(index);
1093
+ }
1508
1094
  /**
1509
1095
  * Drops an indices from the table.
1510
1096
  */
1511
- OracleQueryRunner.prototype.dropIndices = function (tableOrName, indices) {
1512
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1513
- var promises;
1514
- var _this = this;
1515
- return tslib_1.__generator(this, function (_a) {
1516
- switch (_a.label) {
1517
- case 0:
1518
- promises = indices.map(function (index) { return _this.dropIndex(tableOrName, index); });
1519
- return [4 /*yield*/, Promise.all(promises)];
1520
- case 1:
1521
- _a.sent();
1522
- return [2 /*return*/];
1523
- }
1524
- });
1525
- });
1526
- };
1097
+ async dropIndices(tableOrName, indices) {
1098
+ const promises = indices.map((index) => this.dropIndex(tableOrName, index));
1099
+ await Promise.all(promises);
1100
+ }
1527
1101
  /**
1528
1102
  * Clears all table contents.
1529
1103
  * Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.
1530
1104
  */
1531
- OracleQueryRunner.prototype.clearTable = function (tableName) {
1532
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1533
- return tslib_1.__generator(this, function (_a) {
1534
- switch (_a.label) {
1535
- case 0: return [4 /*yield*/, this.query("TRUNCATE TABLE \"" + tableName + "\"")];
1536
- case 1:
1537
- _a.sent();
1538
- return [2 /*return*/];
1539
- }
1540
- });
1541
- });
1542
- };
1105
+ async clearTable(tableName) {
1106
+ await this.query(`TRUNCATE TABLE ${this.escapePath(tableName)}`);
1107
+ }
1543
1108
  /**
1544
1109
  * Removes all tables from the currently connected database.
1545
1110
  */
1546
- OracleQueryRunner.prototype.clearDatabase = function () {
1547
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1548
- var dropViewsQuery, dropViewQueries, dropTablesQuery, dropTableQueries, error_1, rollbackError_1;
1549
- var _this = this;
1550
- return tslib_1.__generator(this, function (_a) {
1551
- switch (_a.label) {
1552
- case 0: return [4 /*yield*/, this.startTransaction()];
1553
- case 1:
1554
- _a.sent();
1555
- _a.label = 2;
1556
- case 2:
1557
- _a.trys.push([2, 8, , 13]);
1558
- dropViewsQuery = "SELECT 'DROP VIEW \"' || VIEW_NAME || '\"' AS \"query\" FROM \"USER_VIEWS\"";
1559
- return [4 /*yield*/, this.query(dropViewsQuery)];
1560
- case 3:
1561
- dropViewQueries = _a.sent();
1562
- return [4 /*yield*/, Promise.all(dropViewQueries.map(function (query) { return _this.query(query["query"]); }))];
1563
- case 4:
1564
- _a.sent();
1565
- dropTablesQuery = "SELECT 'DROP TABLE \"' || TABLE_NAME || '\" CASCADE CONSTRAINTS' AS \"query\" FROM \"USER_TABLES\"";
1566
- return [4 /*yield*/, this.query(dropTablesQuery)];
1567
- case 5:
1568
- dropTableQueries = _a.sent();
1569
- return [4 /*yield*/, Promise.all(dropTableQueries.map(function (query) { return _this.query(query["query"]); }))];
1570
- case 6:
1571
- _a.sent();
1572
- return [4 /*yield*/, this.commitTransaction()];
1573
- case 7:
1574
- _a.sent();
1575
- return [3 /*break*/, 13];
1576
- case 8:
1577
- error_1 = _a.sent();
1578
- _a.label = 9;
1579
- case 9:
1580
- _a.trys.push([9, 11, , 12]);
1581
- return [4 /*yield*/, this.rollbackTransaction()];
1582
- case 10:
1583
- _a.sent();
1584
- return [3 /*break*/, 12];
1585
- case 11:
1586
- rollbackError_1 = _a.sent();
1587
- return [3 /*break*/, 12];
1588
- case 12: throw error_1;
1589
- case 13: return [2 /*return*/];
1590
- }
1591
- });
1592
- });
1593
- };
1111
+ async clearDatabase() {
1112
+ const isAnotherTransactionActive = this.isTransactionActive;
1113
+ if (!isAnotherTransactionActive)
1114
+ await this.startTransaction();
1115
+ try {
1116
+ // drop views
1117
+ const dropViewsQuery = `SELECT 'DROP VIEW "' || VIEW_NAME || '"' AS "query" FROM "USER_VIEWS"`;
1118
+ const dropViewQueries = await this.query(dropViewsQuery);
1119
+ await Promise.all(dropViewQueries.map((query) => this.query(query["query"])));
1120
+ // drop materialized views
1121
+ const dropMatViewsQuery = `SELECT 'DROP MATERIALIZED VIEW "' || MVIEW_NAME || '"' AS "query" FROM "USER_MVIEWS"`;
1122
+ const dropMatViewQueries = await this.query(dropMatViewsQuery);
1123
+ await Promise.all(dropMatViewQueries.map((query) => this.query(query["query"])));
1124
+ // drop tables
1125
+ const dropTablesQuery = `SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS' AS "query" FROM "USER_TABLES"`;
1126
+ const dropTableQueries = await this.query(dropTablesQuery);
1127
+ await Promise.all(dropTableQueries.map((query) => this.query(query["query"])));
1128
+ if (!isAnotherTransactionActive)
1129
+ await this.commitTransaction();
1130
+ }
1131
+ catch (error) {
1132
+ try {
1133
+ // we throw original error even if rollback thrown an error
1134
+ if (!isAnotherTransactionActive)
1135
+ await this.rollbackTransaction();
1136
+ }
1137
+ catch (rollbackError) { }
1138
+ throw error;
1139
+ }
1140
+ }
1594
1141
  // -------------------------------------------------------------------------
1595
1142
  // Protected Methods
1596
1143
  // -------------------------------------------------------------------------
1597
- OracleQueryRunner.prototype.loadViews = function (viewNames) {
1598
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1599
- var hasTable, viewNamesString, query, dbViews;
1600
- return tslib_1.__generator(this, function (_a) {
1601
- switch (_a.label) {
1602
- case 0: return [4 /*yield*/, this.hasTable(this.getTypeormMetadataTableName())];
1603
- case 1:
1604
- hasTable = _a.sent();
1605
- if (!hasTable)
1606
- return [2 /*return*/, Promise.resolve([])];
1607
- viewNamesString = viewNames.map(function (name) { return "'" + name + "'"; }).join(", ");
1608
- query = "SELECT \"T\".* FROM \"" + this.getTypeormMetadataTableName() + "\" \"T\" INNER JOIN \"USER_VIEWS\" \"V\" ON \"V\".\"VIEW_NAME\" = \"T\".\"name\" WHERE \"T\".\"type\" = 'VIEW'";
1609
- if (viewNamesString.length > 0)
1610
- query += " AND \"T\".\"name\" IN (" + viewNamesString + ")";
1611
- return [4 /*yield*/, this.query(query)];
1612
- case 2:
1613
- dbViews = _a.sent();
1614
- return [2 /*return*/, dbViews.map(function (dbView) {
1615
- var view = new View_1.View();
1616
- view.name = dbView["name"];
1617
- view.expression = dbView["value"];
1618
- return view;
1619
- })];
1620
- }
1621
- });
1144
+ async loadViews(viewNames) {
1145
+ const hasTable = await this.hasTable(this.getTypeormMetadataTableName());
1146
+ if (!hasTable) {
1147
+ return [];
1148
+ }
1149
+ if (!viewNames) {
1150
+ viewNames = [];
1151
+ }
1152
+ const currentDatabase = await this.getCurrentDatabase();
1153
+ const currentSchema = await this.getCurrentSchema();
1154
+ const viewNamesString = viewNames
1155
+ .map((name) => "'" + name + "'")
1156
+ .join(", ");
1157
+ let query = `SELECT "T".* FROM ${this.escapePath(this.getTypeormMetadataTableName())} "T" ` +
1158
+ `INNER JOIN "USER_OBJECTS" "O" ON "O"."OBJECT_NAME" = "T"."name" AND "O"."OBJECT_TYPE" IN ( 'MATERIALIZED VIEW', 'VIEW' ) ` +
1159
+ `WHERE "T"."type" IN ( '${MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW}', '${MetadataTableType_1.MetadataTableType.VIEW}' )`;
1160
+ if (viewNamesString.length > 0)
1161
+ query += ` AND "T"."name" IN (${viewNamesString})`;
1162
+ const dbViews = await this.query(query);
1163
+ return dbViews.map((dbView) => {
1164
+ const parsedName = this.driver.parseTableName(dbView["name"]);
1165
+ const view = new View_1.View();
1166
+ view.database =
1167
+ parsedName.database || dbView["database"] || currentDatabase;
1168
+ view.schema = parsedName.schema || dbView["schema"] || currentSchema;
1169
+ view.name = parsedName.tableName;
1170
+ view.expression = dbView["value"];
1171
+ view.materialized =
1172
+ dbView["type"] === MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW;
1173
+ return view;
1622
1174
  });
1623
- };
1175
+ }
1624
1176
  /**
1625
1177
  * Loads all tables (with given names) from the database and creates a Table from them.
1626
1178
  */
1627
- OracleQueryRunner.prototype.loadTables = function (tableNames) {
1628
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1629
- var tableNamesString, tablesSql, columnsSql, indicesSql, foreignKeysSql, constraintsSql, _a, dbTables, dbColumns, dbIndices, dbForeignKeys, dbConstraints;
1630
- var _this = this;
1631
- return tslib_1.__generator(this, function (_b) {
1632
- switch (_b.label) {
1633
- case 0:
1634
- // if no tables given then no need to proceed
1635
- if (!tableNames || !tableNames.length)
1636
- return [2 /*return*/, []];
1637
- tableNamesString = tableNames.map(function (name) { return "'" + name + "'"; }).join(", ");
1638
- tablesSql = "SELECT * FROM \"USER_TABLES\" WHERE \"TABLE_NAME\" IN (" + tableNamesString + ")";
1639
- columnsSql = "SELECT * FROM \"USER_TAB_COLS\" WHERE \"TABLE_NAME\" IN (" + tableNamesString + ")";
1640
- indicesSql = "SELECT \"IND\".\"INDEX_NAME\", \"IND\".\"TABLE_NAME\", \"IND\".\"UNIQUENESS\", " +
1641
- "LISTAGG (\"COL\".\"COLUMN_NAME\", ',') WITHIN GROUP (ORDER BY \"COL\".\"COLUMN_NAME\") AS \"COLUMN_NAMES\" " +
1642
- "FROM \"USER_INDEXES\" \"IND\" " +
1643
- "INNER JOIN \"USER_IND_COLUMNS\" \"COL\" ON \"COL\".\"INDEX_NAME\" = \"IND\".\"INDEX_NAME\" " +
1644
- "LEFT JOIN \"USER_CONSTRAINTS\" \"CON\" ON \"CON\".\"CONSTRAINT_NAME\" = \"IND\".\"INDEX_NAME\" " +
1645
- ("WHERE \"IND\".\"TABLE_NAME\" IN (" + tableNamesString + ") AND \"CON\".\"CONSTRAINT_NAME\" IS NULL ") +
1646
- "GROUP BY \"IND\".\"INDEX_NAME\", \"IND\".\"TABLE_NAME\", \"IND\".\"UNIQUENESS\"";
1647
- foreignKeysSql = "SELECT \"C\".\"CONSTRAINT_NAME\", \"C\".\"TABLE_NAME\", \"COL\".\"COLUMN_NAME\", \"REF_COL\".\"TABLE_NAME\" AS \"REFERENCED_TABLE_NAME\", " +
1648
- "\"REF_COL\".\"COLUMN_NAME\" AS \"REFERENCED_COLUMN_NAME\", \"C\".\"DELETE_RULE\" AS \"ON_DELETE\" " +
1649
- "FROM \"USER_CONSTRAINTS\" \"C\" " +
1650
- "INNER JOIN \"USER_CONS_COLUMNS\" \"COL\" ON \"COL\".\"OWNER\" = \"C\".\"OWNER\" AND \"COL\".\"CONSTRAINT_NAME\" = \"C\".\"CONSTRAINT_NAME\" " +
1651
- "INNER JOIN \"USER_CONS_COLUMNS\" \"REF_COL\" ON \"REF_COL\".\"OWNER\" = \"C\".\"R_OWNER\" AND \"REF_COL\".\"CONSTRAINT_NAME\" = \"C\".\"R_CONSTRAINT_NAME\" AND \"REF_COL\".\"POSITION\" = \"COL\".\"POSITION\" " +
1652
- ("WHERE \"C\".\"TABLE_NAME\" IN (" + tableNamesString + ") AND \"C\".\"CONSTRAINT_TYPE\" = 'R'");
1653
- constraintsSql = "SELECT \"C\".\"CONSTRAINT_NAME\", \"C\".\"CONSTRAINT_TYPE\", \"C\".\"TABLE_NAME\", \"COL\".\"COLUMN_NAME\", \"C\".\"SEARCH_CONDITION\" " +
1654
- "FROM \"USER_CONSTRAINTS\" \"C\" " +
1655
- "INNER JOIN \"USER_CONS_COLUMNS\" \"COL\" ON \"COL\".\"OWNER\" = \"C\".\"OWNER\" AND \"COL\".\"CONSTRAINT_NAME\" = \"C\".\"CONSTRAINT_NAME\" " +
1656
- ("WHERE \"C\".\"TABLE_NAME\" IN (" + tableNamesString + ") AND \"C\".\"CONSTRAINT_TYPE\" IN ('C', 'U', 'P') AND \"C\".\"GENERATED\" = 'USER NAME'");
1657
- return [4 /*yield*/, Promise.all([
1658
- this.query(tablesSql),
1659
- this.query(columnsSql),
1660
- this.query(indicesSql),
1661
- this.query(foreignKeysSql),
1662
- this.query(constraintsSql),
1663
- ])];
1664
- case 1:
1665
- _a = tslib_1.__read.apply(void 0, [_b.sent(), 5]), dbTables = _a[0], dbColumns = _a[1], dbIndices = _a[2], dbForeignKeys = _a[3], dbConstraints = _a[4];
1666
- // if tables were not found in the db, no need to proceed
1667
- if (!dbTables.length)
1668
- return [2 /*return*/, []];
1669
- // create tables for loaded tables
1670
- return [2 /*return*/, dbTables.map(function (dbTable) {
1671
- var table = new Table_1.Table();
1672
- table.name = dbTable["TABLE_NAME"];
1673
- // create columns from the loaded columns
1674
- table.columns = dbColumns
1675
- .filter(function (dbColumn) { return dbColumn["TABLE_NAME"] === table.name; })
1676
- .map(function (dbColumn) {
1677
- var columnConstraints = dbConstraints.filter(function (dbConstraint) { return dbConstraint["TABLE_NAME"] === table.name && dbConstraint["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]; });
1678
- var uniqueConstraint = columnConstraints.find(function (constraint) { return constraint["CONSTRAINT_TYPE"] === "U"; });
1679
- var isConstraintComposite = uniqueConstraint
1680
- ? !!dbConstraints.find(function (dbConstraint) { return dbConstraint["CONSTRAINT_TYPE"] === "U"
1681
- && dbConstraint["CONSTRAINT_NAME"] === uniqueConstraint["CONSTRAINT_NAME"]
1682
- && dbConstraint["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; })
1683
- : false;
1684
- var isUnique = !!uniqueConstraint && !isConstraintComposite;
1685
- var isPrimary = !!columnConstraints.find(function (constraint) { return constraint["CONSTRAINT_TYPE"] === "P"; });
1686
- var tableColumn = new TableColumn_1.TableColumn();
1687
- tableColumn.name = dbColumn["COLUMN_NAME"];
1688
- tableColumn.type = dbColumn["DATA_TYPE"].toLowerCase();
1689
- if (tableColumn.type.indexOf("(") !== -1)
1690
- tableColumn.type = tableColumn.type.replace(/\([0-9]*\)/, "");
1691
- // check only columns that have length property
1692
- if (_this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1) {
1693
- var length = tableColumn.type === "raw" ? dbColumn["DATA_LENGTH"] : dbColumn["CHAR_COL_DECL_LENGTH"];
1694
- tableColumn.length = length && !_this.isDefaultColumnLength(table, tableColumn, length) ? length.toString() : "";
1695
- }
1696
- if (tableColumn.type === "number" || tableColumn.type === "float") {
1697
- if (dbColumn["DATA_PRECISION"] !== null && !_this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_PRECISION"]))
1698
- tableColumn.precision = dbColumn["DATA_PRECISION"];
1699
- if (dbColumn["DATA_SCALE"] !== null && !_this.isDefaultColumnScale(table, tableColumn, dbColumn["DATA_SCALE"]))
1700
- tableColumn.scale = dbColumn["DATA_SCALE"];
1701
- }
1702
- else if ((tableColumn.type === "timestamp"
1703
- || tableColumn.type === "timestamp with time zone"
1704
- || tableColumn.type === "timestamp with local time zone") && dbColumn["DATA_SCALE"] !== null) {
1705
- tableColumn.precision = !_this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_SCALE"]) ? dbColumn["DATA_SCALE"] : undefined;
1706
- }
1707
- tableColumn.default = dbColumn["DATA_DEFAULT"] !== null
1708
- && dbColumn["DATA_DEFAULT"] !== undefined
1709
- && dbColumn["DATA_DEFAULT"].trim() !== "NULL" ? tableColumn.default = dbColumn["DATA_DEFAULT"].trim() : undefined;
1710
- tableColumn.isNullable = dbColumn["NULLABLE"] === "Y";
1711
- tableColumn.isUnique = isUnique;
1712
- tableColumn.isPrimary = isPrimary;
1713
- tableColumn.isGenerated = dbColumn["IDENTITY_COLUMN"] === "YES";
1714
- if (tableColumn.isGenerated) {
1715
- tableColumn.generationStrategy = "increment";
1716
- tableColumn.default = undefined;
1717
- }
1718
- tableColumn.comment = ""; // todo
1719
- return tableColumn;
1720
- });
1721
- // find unique constraints of table, group them by constraint name and build TableUnique.
1722
- var tableUniqueConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
1723
- return dbConstraint["TABLE_NAME"] === table.name && dbConstraint["CONSTRAINT_TYPE"] === "U";
1724
- }), function (dbConstraint) { return dbConstraint["CONSTRAINT_NAME"]; });
1725
- table.uniques = tableUniqueConstraints.map(function (constraint) {
1726
- var uniques = dbConstraints.filter(function (dbC) { return dbC["CONSTRAINT_NAME"] === constraint["CONSTRAINT_NAME"]; });
1727
- return new TableUnique_1.TableUnique({
1728
- name: constraint["CONSTRAINT_NAME"],
1729
- columnNames: uniques.map(function (u) { return u["COLUMN_NAME"]; })
1730
- });
1731
- });
1732
- // find check constraints of table, group them by constraint name and build TableCheck.
1733
- var tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
1734
- return dbConstraint["TABLE_NAME"] === table.name && dbConstraint["CONSTRAINT_TYPE"] === "C";
1735
- }), function (dbConstraint) { return dbConstraint["CONSTRAINT_NAME"]; });
1736
- table.checks = tableCheckConstraints.map(function (constraint) {
1737
- var checks = dbConstraints.filter(function (dbC) { return dbC["CONSTRAINT_NAME"] === constraint["CONSTRAINT_NAME"]; });
1738
- return new TableCheck_1.TableCheck({
1739
- name: constraint["CONSTRAINT_NAME"],
1740
- columnNames: checks.map(function (c) { return c["COLUMN_NAME"]; }),
1741
- expression: constraint["SEARCH_CONDITION"]
1742
- });
1743
- });
1744
- // find foreign key constraints of table, group them by constraint name and build TableForeignKey.
1745
- var tableForeignKeyConstraints = OrmUtils_1.OrmUtils.uniq(dbForeignKeys.filter(function (dbForeignKey) {
1746
- return dbForeignKey["TABLE_NAME"] === table.name;
1747
- }), function (dbForeignKey) { return dbForeignKey["CONSTRAINT_NAME"]; });
1748
- table.foreignKeys = tableForeignKeyConstraints.map(function (dbForeignKey) {
1749
- var foreignKeys = dbForeignKeys.filter(function (dbFk) { return dbFk["CONSTRAINT_NAME"] === dbForeignKey["CONSTRAINT_NAME"]; });
1750
- return new TableForeignKey_1.TableForeignKey({
1751
- name: dbForeignKey["CONSTRAINT_NAME"],
1752
- columnNames: foreignKeys.map(function (dbFk) { return dbFk["COLUMN_NAME"]; }),
1753
- referencedTableName: dbForeignKey["REFERENCED_TABLE_NAME"],
1754
- referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["REFERENCED_COLUMN_NAME"]; }),
1755
- onDelete: dbForeignKey["ON_DELETE"],
1756
- onUpdate: "NO ACTION",
1757
- });
1758
- });
1759
- // create TableIndex objects from the loaded indices
1760
- table.indices = dbIndices
1761
- .filter(function (dbIndex) { return dbIndex["TABLE_NAME"] === table.name; })
1762
- .map(function (dbIndex) {
1763
- return new TableIndex_1.TableIndex({
1764
- name: dbIndex["INDEX_NAME"],
1765
- columnNames: dbIndex["COLUMN_NAMES"].split(","),
1766
- isUnique: dbIndex["UNIQUENESS"] === "UNIQUE"
1767
- });
1768
- });
1769
- return table;
1770
- })];
1179
+ async loadTables(tableNames) {
1180
+ if (tableNames && tableNames.length === 0) {
1181
+ return [];
1182
+ }
1183
+ const dbTables = [];
1184
+ const currentSchema = await this.getCurrentSchema();
1185
+ const currentDatabase = await this.getCurrentDatabase();
1186
+ if (!tableNames) {
1187
+ const tablesSql = `SELECT "TABLE_NAME", "OWNER" FROM "ALL_TABLES"`;
1188
+ dbTables.push(...(await this.query(tablesSql)));
1189
+ }
1190
+ else {
1191
+ const tablesCondition = tableNames
1192
+ .map((tableName) => {
1193
+ const parts = tableName.split(".");
1194
+ if (parts.length >= 3) {
1195
+ const [, schema, name] = parts;
1196
+ return `("OWNER" = '${schema}' AND "TABLE_NAME" = '${name}')`;
1771
1197
  }
1198
+ else if (parts.length === 2) {
1199
+ const [schema, name] = parts;
1200
+ return `("OWNER" = '${schema}' AND "TABLE_NAME" = '${name}')`;
1201
+ }
1202
+ else if (parts.length === 1) {
1203
+ const [name] = parts;
1204
+ return `("TABLE_NAME" = '${name}')`;
1205
+ }
1206
+ else {
1207
+ return `(1=0)`;
1208
+ }
1209
+ })
1210
+ .join(" OR ");
1211
+ const tablesSql = `SELECT "TABLE_NAME", "OWNER" FROM "ALL_TABLES" WHERE ${tablesCondition}`;
1212
+ dbTables.push(...(await this.query(tablesSql)));
1213
+ }
1214
+ // if tables were not found in the db, no need to proceed
1215
+ if (dbTables.length === 0) {
1216
+ return [];
1217
+ }
1218
+ // load tables, columns, indices and foreign keys
1219
+ const columnsCondition = dbTables
1220
+ .map(({ TABLE_NAME, OWNER }) => {
1221
+ return `("C"."OWNER" = '${OWNER}' AND "C"."TABLE_NAME" = '${TABLE_NAME}')`;
1222
+ })
1223
+ .join(" OR ");
1224
+ const columnsSql = `SELECT * FROM "ALL_TAB_COLS" "C" WHERE (${columnsCondition})`;
1225
+ const indicesSql = `SELECT "C"."INDEX_NAME", "C"."OWNER", "C"."TABLE_NAME", "C"."UNIQUENESS", ` +
1226
+ `LISTAGG ("COL"."COLUMN_NAME", ',') WITHIN GROUP (ORDER BY "COL"."COLUMN_NAME") AS "COLUMN_NAMES" ` +
1227
+ `FROM "ALL_INDEXES" "C" ` +
1228
+ `INNER JOIN "ALL_IND_COLUMNS" "COL" ON "COL"."INDEX_OWNER" = "C"."OWNER" AND "COL"."INDEX_NAME" = "C"."INDEX_NAME" ` +
1229
+ `LEFT JOIN "ALL_CONSTRAINTS" "CON" ON "CON"."OWNER" = "C"."OWNER" AND "CON"."CONSTRAINT_NAME" = "C"."INDEX_NAME" ` +
1230
+ `WHERE (${columnsCondition}) AND "CON"."CONSTRAINT_NAME" IS NULL ` +
1231
+ `GROUP BY "C"."INDEX_NAME", "C"."OWNER", "C"."TABLE_NAME", "C"."UNIQUENESS"`;
1232
+ const foreignKeysSql = `SELECT "C"."CONSTRAINT_NAME", "C"."OWNER", "C"."TABLE_NAME", "COL"."COLUMN_NAME", "REF_COL"."TABLE_NAME" AS "REFERENCED_TABLE_NAME", ` +
1233
+ `"REF_COL"."COLUMN_NAME" AS "REFERENCED_COLUMN_NAME", "C"."DELETE_RULE" AS "ON_DELETE" ` +
1234
+ `FROM "ALL_CONSTRAINTS" "C" ` +
1235
+ `INNER JOIN "ALL_CONS_COLUMNS" "COL" ON "COL"."OWNER" = "C"."OWNER" AND "COL"."CONSTRAINT_NAME" = "C"."CONSTRAINT_NAME" ` +
1236
+ `INNER JOIN "ALL_CONS_COLUMNS" "REF_COL" ON "REF_COL"."OWNER" = "C"."R_OWNER" AND "REF_COL"."CONSTRAINT_NAME" = "C"."R_CONSTRAINT_NAME" AND "REF_COL"."POSITION" = "COL"."POSITION" ` +
1237
+ `WHERE (${columnsCondition}) AND "C"."CONSTRAINT_TYPE" = 'R'`;
1238
+ const constraintsSql = `SELECT "C"."CONSTRAINT_NAME", "C"."CONSTRAINT_TYPE", "C"."OWNER", "C"."TABLE_NAME", "COL"."COLUMN_NAME", "C"."SEARCH_CONDITION" ` +
1239
+ `FROM "ALL_CONSTRAINTS" "C" ` +
1240
+ `INNER JOIN "ALL_CONS_COLUMNS" "COL" ON "COL"."OWNER" = "C"."OWNER" AND "COL"."CONSTRAINT_NAME" = "C"."CONSTRAINT_NAME" ` +
1241
+ `WHERE (${columnsCondition}) AND "C"."CONSTRAINT_TYPE" IN ('C', 'U', 'P') AND "C"."GENERATED" = 'USER NAME'`;
1242
+ const [dbColumns, dbIndices, dbForeignKeys, dbConstraints,] = await Promise.all([
1243
+ this.query(columnsSql),
1244
+ this.query(indicesSql),
1245
+ this.query(foreignKeysSql),
1246
+ this.query(constraintsSql),
1247
+ ]);
1248
+ // create tables for loaded tables
1249
+ return dbTables.map((dbTable) => {
1250
+ const table = new Table_1.Table();
1251
+ const owner = dbTable["OWNER"] === currentSchema &&
1252
+ (!this.driver.options.schema ||
1253
+ this.driver.options.schema === currentSchema)
1254
+ ? undefined
1255
+ : dbTable["OWNER"];
1256
+ table.database = currentDatabase;
1257
+ table.schema = dbTable["OWNER"];
1258
+ table.name = this.driver.buildTableName(dbTable["TABLE_NAME"], owner);
1259
+ // create columns from the loaded columns
1260
+ table.columns = dbColumns
1261
+ .filter((dbColumn) => dbColumn["OWNER"] === dbTable["OWNER"] &&
1262
+ dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"])
1263
+ .map((dbColumn) => {
1264
+ const columnConstraints = dbConstraints.filter((dbConstraint) => dbConstraint["OWNER"] === dbColumn["OWNER"] &&
1265
+ dbConstraint["TABLE_NAME"] ===
1266
+ dbColumn["TABLE_NAME"] &&
1267
+ dbConstraint["COLUMN_NAME"] ===
1268
+ dbColumn["COLUMN_NAME"]);
1269
+ const uniqueConstraints = columnConstraints.filter((constraint) => constraint["CONSTRAINT_TYPE"] === "U");
1270
+ const isConstraintComposite = uniqueConstraints.every((uniqueConstraint) => {
1271
+ return dbConstraints.some((dbConstraint) => dbConstraint["OWNER"] ===
1272
+ dbColumn["OWNER"] &&
1273
+ dbConstraint["TABLE_NAME"] ===
1274
+ dbColumn["TABLE_NAME"] &&
1275
+ dbConstraint["COLUMN_NAME"] !==
1276
+ dbColumn["COLUMN_NAME"] &&
1277
+ dbConstraint["CONSTRAINT_NAME"] ===
1278
+ uniqueConstraint["CONSTRAINT_NAME"] &&
1279
+ dbConstraint["CONSTRAINT_TYPE"] === "U");
1280
+ });
1281
+ const isPrimary = !!columnConstraints.find((constraint) => constraint["CONSTRAINT_TYPE"] === "P");
1282
+ const tableColumn = new TableColumn_1.TableColumn();
1283
+ tableColumn.name = dbColumn["COLUMN_NAME"];
1284
+ tableColumn.type = dbColumn["DATA_TYPE"].toLowerCase();
1285
+ if (tableColumn.type.indexOf("(") !== -1)
1286
+ tableColumn.type = tableColumn.type.replace(/\([0-9]*\)/, "");
1287
+ // check only columns that have length property
1288
+ if (this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1) {
1289
+ const length = tableColumn.type === "raw"
1290
+ ? dbColumn["DATA_LENGTH"]
1291
+ : dbColumn["CHAR_COL_DECL_LENGTH"];
1292
+ tableColumn.length =
1293
+ length &&
1294
+ !this.isDefaultColumnLength(table, tableColumn, length)
1295
+ ? length.toString()
1296
+ : "";
1297
+ }
1298
+ if (tableColumn.type === "number" ||
1299
+ tableColumn.type === "float") {
1300
+ if (dbColumn["DATA_PRECISION"] !== null &&
1301
+ !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_PRECISION"]))
1302
+ tableColumn.precision = dbColumn["DATA_PRECISION"];
1303
+ if (dbColumn["DATA_SCALE"] !== null &&
1304
+ !this.isDefaultColumnScale(table, tableColumn, dbColumn["DATA_SCALE"]))
1305
+ tableColumn.scale = dbColumn["DATA_SCALE"];
1306
+ }
1307
+ else if ((tableColumn.type === "timestamp" ||
1308
+ tableColumn.type === "timestamp with time zone" ||
1309
+ tableColumn.type ===
1310
+ "timestamp with local time zone") &&
1311
+ dbColumn["DATA_SCALE"] !== null) {
1312
+ tableColumn.precision = !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_SCALE"])
1313
+ ? dbColumn["DATA_SCALE"]
1314
+ : undefined;
1315
+ }
1316
+ tableColumn.default =
1317
+ dbColumn["DATA_DEFAULT"] !== null &&
1318
+ dbColumn["DATA_DEFAULT"] !== undefined &&
1319
+ dbColumn["DATA_DEFAULT"].trim() !== "NULL"
1320
+ ? (tableColumn.default =
1321
+ dbColumn["DATA_DEFAULT"].trim())
1322
+ : undefined;
1323
+ tableColumn.isNullable = dbColumn["NULLABLE"] === "Y";
1324
+ tableColumn.isUnique =
1325
+ uniqueConstraints.length > 0 && !isConstraintComposite;
1326
+ tableColumn.isPrimary = isPrimary;
1327
+ tableColumn.isGenerated =
1328
+ dbColumn["IDENTITY_COLUMN"] === "YES";
1329
+ if (tableColumn.isGenerated) {
1330
+ tableColumn.generationStrategy = "increment";
1331
+ tableColumn.default = undefined;
1332
+ }
1333
+ tableColumn.comment = ""; // todo
1334
+ return tableColumn;
1772
1335
  });
1336
+ // find unique constraints of table, group them by constraint name and build TableUnique.
1337
+ const tableUniqueConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
1338
+ return (dbConstraint["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1339
+ dbConstraint["OWNER"] === dbTable["OWNER"] &&
1340
+ dbConstraint["CONSTRAINT_TYPE"] === "U");
1341
+ }), (dbConstraint) => dbConstraint["CONSTRAINT_NAME"]);
1342
+ table.uniques = tableUniqueConstraints.map((constraint) => {
1343
+ const uniques = dbConstraints.filter((dbC) => dbC["CONSTRAINT_NAME"] ===
1344
+ constraint["CONSTRAINT_NAME"]);
1345
+ return new TableUnique_1.TableUnique({
1346
+ name: constraint["CONSTRAINT_NAME"],
1347
+ columnNames: uniques.map((u) => u["COLUMN_NAME"]),
1348
+ });
1349
+ });
1350
+ // find check constraints of table, group them by constraint name and build TableCheck.
1351
+ const tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
1352
+ return (dbConstraint["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1353
+ dbConstraint["OWNER"] === dbTable["OWNER"] &&
1354
+ dbConstraint["CONSTRAINT_TYPE"] === "C");
1355
+ }), (dbConstraint) => dbConstraint["CONSTRAINT_NAME"]);
1356
+ table.checks = tableCheckConstraints.map((constraint) => {
1357
+ const checks = dbConstraints.filter((dbC) => dbC["TABLE_NAME"] === constraint["TABLE_NAME"] &&
1358
+ dbC["OWNER"] === constraint["OWNER"] &&
1359
+ dbC["CONSTRAINT_NAME"] ===
1360
+ constraint["CONSTRAINT_NAME"]);
1361
+ return new TableCheck_1.TableCheck({
1362
+ name: constraint["CONSTRAINT_NAME"],
1363
+ columnNames: checks.map((c) => c["COLUMN_NAME"]),
1364
+ expression: constraint["SEARCH_CONDITION"],
1365
+ });
1366
+ });
1367
+ // find foreign key constraints of table, group them by constraint name and build TableForeignKey.
1368
+ const tableForeignKeyConstraints = OrmUtils_1.OrmUtils.uniq(dbForeignKeys.filter((dbForeignKey) => dbForeignKey["OWNER"] === dbTable["OWNER"] &&
1369
+ dbForeignKey["TABLE_NAME"] === dbTable["TABLE_NAME"]), (dbForeignKey) => dbForeignKey["CONSTRAINT_NAME"]);
1370
+ table.foreignKeys = tableForeignKeyConstraints.map((dbForeignKey) => {
1371
+ const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["TABLE_NAME"] === dbForeignKey["TABLE_NAME"] &&
1372
+ dbFk["OWNER"] === dbForeignKey["OWNER"] &&
1373
+ dbFk["CONSTRAINT_NAME"] ===
1374
+ dbForeignKey["CONSTRAINT_NAME"]);
1375
+ return new TableForeignKey_1.TableForeignKey({
1376
+ name: dbForeignKey["CONSTRAINT_NAME"],
1377
+ columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
1378
+ referencedDatabase: table.database,
1379
+ referencedSchema: dbForeignKey["OWNER"],
1380
+ referencedTableName: dbForeignKey["REFERENCED_TABLE_NAME"],
1381
+ referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
1382
+ onDelete: dbForeignKey["ON_DELETE"],
1383
+ onUpdate: "NO ACTION", // Oracle does not have onUpdate option in FK's, but we need it for proper synchronization
1384
+ });
1385
+ });
1386
+ // create TableIndex objects from the loaded indices
1387
+ table.indices = dbIndices
1388
+ .filter((dbIndex) => dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1389
+ dbIndex["OWNER"] === dbTable["OWNER"])
1390
+ .map((dbIndex) => {
1391
+ return new TableIndex_1.TableIndex({
1392
+ name: dbIndex["INDEX_NAME"],
1393
+ columnNames: dbIndex["COLUMN_NAMES"].split(","),
1394
+ isUnique: dbIndex["UNIQUENESS"] === "UNIQUE",
1395
+ });
1396
+ });
1397
+ return table;
1773
1398
  });
1774
- };
1399
+ }
1775
1400
  /**
1776
1401
  * Builds and returns SQL for create table.
1777
1402
  */
1778
- OracleQueryRunner.prototype.createTableSql = function (table, createForeignKeys) {
1779
- var _this = this;
1780
- var columnDefinitions = table.columns.map(function (column) { return _this.buildCreateColumnSql(column); }).join(", ");
1781
- var sql = "CREATE TABLE \"" + table.name + "\" (" + columnDefinitions;
1403
+ createTableSql(table, createForeignKeys) {
1404
+ const columnDefinitions = table.columns
1405
+ .map((column) => this.buildCreateColumnSql(column))
1406
+ .join(", ");
1407
+ let sql = `CREATE TABLE ${this.escapePath(table)} (${columnDefinitions}`;
1782
1408
  table.columns
1783
- .filter(function (column) { return column.isUnique; })
1784
- .forEach(function (column) {
1785
- var isUniqueExist = table.uniques.some(function (unique) { return unique.columnNames.length === 1 && unique.columnNames[0] === column.name; });
1409
+ .filter((column) => column.isUnique)
1410
+ .forEach((column) => {
1411
+ const isUniqueExist = table.uniques.some((unique) => unique.columnNames.length === 1 &&
1412
+ unique.columnNames[0] === column.name);
1786
1413
  if (!isUniqueExist)
1787
1414
  table.uniques.push(new TableUnique_1.TableUnique({
1788
- name: _this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]),
1789
- columnNames: [column.name]
1415
+ name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]),
1416
+ columnNames: [column.name],
1790
1417
  }));
1791
1418
  });
1792
1419
  if (table.uniques.length > 0) {
1793
- var uniquesSql = table.uniques.map(function (unique) {
1794
- var uniqueName = unique.name ? unique.name : _this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames);
1795
- var columnNames = unique.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1796
- return "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
1797
- }).join(", ");
1798
- sql += ", " + uniquesSql;
1420
+ const uniquesSql = table.uniques
1421
+ .map((unique) => {
1422
+ const uniqueName = unique.name
1423
+ ? unique.name
1424
+ : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
1425
+ const columnNames = unique.columnNames
1426
+ .map((columnName) => `"${columnName}"`)
1427
+ .join(", ");
1428
+ return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`;
1429
+ })
1430
+ .join(", ");
1431
+ sql += `, ${uniquesSql}`;
1799
1432
  }
1800
1433
  if (table.checks.length > 0) {
1801
- var checksSql = table.checks.map(function (check) {
1802
- var checkName = check.name ? check.name : _this.connection.namingStrategy.checkConstraintName(table.name, check.expression);
1803
- return "CONSTRAINT \"" + checkName + "\" CHECK (" + check.expression + ")";
1804
- }).join(", ");
1805
- sql += ", " + checksSql;
1434
+ const checksSql = table.checks
1435
+ .map((check) => {
1436
+ const checkName = check.name
1437
+ ? check.name
1438
+ : this.connection.namingStrategy.checkConstraintName(table, check.expression);
1439
+ return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
1440
+ })
1441
+ .join(", ");
1442
+ sql += `, ${checksSql}`;
1806
1443
  }
1807
1444
  if (table.foreignKeys.length > 0 && createForeignKeys) {
1808
- var foreignKeysSql = table.foreignKeys.map(function (fk) {
1809
- var columnNames = fk.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1445
+ const foreignKeysSql = table.foreignKeys
1446
+ .map((fk) => {
1447
+ const columnNames = fk.columnNames
1448
+ .map((columnName) => `"${columnName}"`)
1449
+ .join(", ");
1810
1450
  if (!fk.name)
1811
- fk.name = _this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames);
1812
- var referencedColumnNames = fk.referencedColumnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1813
- var constraint = "CONSTRAINT \"" + fk.name + "\" FOREIGN KEY (" + columnNames + ") REFERENCES \"" + fk.referencedTableName + "\" (" + referencedColumnNames + ")";
1814
- if (fk.onDelete && fk.onDelete !== "NO ACTION") // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata
1815
- constraint += " ON DELETE " + fk.onDelete;
1451
+ fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
1452
+ const referencedColumnNames = fk.referencedColumnNames
1453
+ .map((columnName) => `"${columnName}"`)
1454
+ .join(", ");
1455
+ let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(this.getTablePath(fk))} (${referencedColumnNames})`;
1456
+ if (fk.onDelete && fk.onDelete !== "NO ACTION")
1457
+ // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata
1458
+ constraint += ` ON DELETE ${fk.onDelete}`;
1816
1459
  return constraint;
1817
- }).join(", ");
1818
- sql += ", " + foreignKeysSql;
1460
+ })
1461
+ .join(", ");
1462
+ sql += `, ${foreignKeysSql}`;
1819
1463
  }
1820
- var primaryColumns = table.columns.filter(function (column) { return column.isPrimary; });
1464
+ const primaryColumns = table.columns.filter((column) => column.isPrimary);
1821
1465
  if (primaryColumns.length > 0) {
1822
- var primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(function (column) { return column.name; }));
1823
- var columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
1824
- sql += ", CONSTRAINT \"" + primaryKeyName + "\" PRIMARY KEY (" + columnNames + ")";
1466
+ const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map((column) => column.name));
1467
+ const columnNames = primaryColumns
1468
+ .map((column) => `"${column.name}"`)
1469
+ .join(", ");
1470
+ sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`;
1825
1471
  }
1826
- sql += ")";
1472
+ sql += `)`;
1827
1473
  return new Query_1.Query(sql);
1828
- };
1474
+ }
1829
1475
  /**
1830
1476
  * Builds drop table sql.
1831
1477
  */
1832
- OracleQueryRunner.prototype.dropTableSql = function (tableOrName, ifExist) {
1833
- var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
1834
- var query = ifExist ? "DROP TABLE IF EXISTS \"" + tableName + "\"" : "DROP TABLE \"" + tableName + "\"";
1478
+ dropTableSql(tableOrName, ifExist) {
1479
+ const query = ifExist
1480
+ ? `DROP TABLE IF EXISTS ${this.escapePath(tableOrName)}`
1481
+ : `DROP TABLE ${this.escapePath(tableOrName)}`;
1835
1482
  return new Query_1.Query(query);
1836
- };
1837
- OracleQueryRunner.prototype.createViewSql = function (view) {
1838
- var materializedClause = view.materialized ? "MATERIALIZED " : "";
1483
+ }
1484
+ createViewSql(view) {
1485
+ const materializedClause = view.materialized ? "MATERIALIZED " : "";
1839
1486
  if (typeof view.expression === "string") {
1840
- return new Query_1.Query("CREATE " + materializedClause + "VIEW \"" + view.name + "\" AS " + view.expression);
1487
+ return new Query_1.Query(`CREATE ${materializedClause}VIEW ${this.escapePath(view)} AS ${view.expression}`);
1841
1488
  }
1842
1489
  else {
1843
- return new Query_1.Query("CREATE " + materializedClause + "VIEW \"" + view.name + "\" AS " + view.expression(this.connection).getQuery());
1490
+ return new Query_1.Query(`CREATE ${materializedClause}VIEW ${this.escapePath(view)} AS ${view.expression(this.connection).getQuery()}`);
1844
1491
  }
1845
- };
1846
- OracleQueryRunner.prototype.insertViewDefinitionSql = function (view) {
1847
- var expression = typeof view.expression === "string" ? view.expression.trim() : view.expression(this.connection).getQuery();
1848
- var _a = tslib_1.__read(this.connection.createQueryBuilder()
1849
- .insert()
1850
- .into(this.getTypeormMetadataTableName())
1851
- .values({ type: "VIEW", name: view.name, value: expression })
1852
- .getQueryAndParameters(), 2), query = _a[0], parameters = _a[1];
1853
- return new Query_1.Query(query, parameters);
1854
- };
1492
+ }
1493
+ insertViewDefinitionSql(view) {
1494
+ const expression = typeof view.expression === "string"
1495
+ ? view.expression.trim()
1496
+ : view.expression(this.connection).getQuery();
1497
+ const type = view.materialized
1498
+ ? MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW
1499
+ : MetadataTableType_1.MetadataTableType.VIEW;
1500
+ return this.insertTypeormMetadataSql({
1501
+ type: type,
1502
+ name: view.name,
1503
+ value: expression,
1504
+ });
1505
+ }
1855
1506
  /**
1856
1507
  * Builds drop view sql.
1857
1508
  */
1858
- OracleQueryRunner.prototype.dropViewSql = function (viewOrPath) {
1859
- var viewName = viewOrPath instanceof View_1.View ? viewOrPath.name : viewOrPath;
1860
- return new Query_1.Query("DROP VIEW \"" + viewName + "\"");
1861
- };
1509
+ dropViewSql(view) {
1510
+ const materializedClause = view.materialized ? "MATERIALIZED " : "";
1511
+ return new Query_1.Query(`DROP ${materializedClause}VIEW ${this.escapePath(view)}`);
1512
+ }
1862
1513
  /**
1863
1514
  * Builds remove view sql.
1864
1515
  */
1865
- OracleQueryRunner.prototype.deleteViewDefinitionSql = function (viewOrPath) {
1866
- var viewName = viewOrPath instanceof View_1.View ? viewOrPath.name : viewOrPath;
1867
- var qb = this.connection.createQueryBuilder();
1868
- var _a = tslib_1.__read(qb.delete()
1869
- .from(this.getTypeormMetadataTableName())
1870
- .where(qb.escape("type") + " = 'VIEW'")
1871
- .andWhere(qb.escape("name") + " = :name", { name: viewName })
1872
- .getQueryAndParameters(), 2), query = _a[0], parameters = _a[1];
1873
- return new Query_1.Query(query, parameters);
1874
- };
1516
+ deleteViewDefinitionSql(view) {
1517
+ const type = view.materialized
1518
+ ? MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW
1519
+ : MetadataTableType_1.MetadataTableType.VIEW;
1520
+ return this.deleteTypeormMetadataSql({ type, name: view.name });
1521
+ }
1875
1522
  /**
1876
1523
  * Builds create index sql.
1877
1524
  */
1878
- OracleQueryRunner.prototype.createIndexSql = function (table, index) {
1879
- var columns = index.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1880
- return new Query_1.Query("CREATE " + (index.isUnique ? "UNIQUE " : "") + "INDEX \"" + index.name + "\" ON \"" + table.name + "\" (" + columns + ")");
1881
- };
1525
+ createIndexSql(table, index) {
1526
+ const columns = index.columnNames
1527
+ .map((columnName) => `"${columnName}"`)
1528
+ .join(", ");
1529
+ return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} (${columns})`);
1530
+ }
1882
1531
  /**
1883
1532
  * Builds drop index sql.
1884
1533
  */
1885
- OracleQueryRunner.prototype.dropIndexSql = function (indexOrName) {
1886
- var indexName = indexOrName instanceof TableIndex_1.TableIndex ? indexOrName.name : indexOrName;
1887
- return new Query_1.Query("DROP INDEX \"" + indexName + "\"");
1888
- };
1534
+ dropIndexSql(indexOrName) {
1535
+ let indexName = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
1536
+ ? indexOrName.name
1537
+ : indexOrName;
1538
+ return new Query_1.Query(`DROP INDEX "${indexName}"`);
1539
+ }
1889
1540
  /**
1890
1541
  * Builds create primary key sql.
1891
1542
  */
1892
- OracleQueryRunner.prototype.createPrimaryKeySql = function (table, columnNames) {
1893
- var primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames);
1894
- var columnNamesString = columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1895
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + primaryKeyName + "\" PRIMARY KEY (" + columnNamesString + ")");
1896
- };
1543
+ createPrimaryKeySql(table, columnNames) {
1544
+ const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames);
1545
+ const columnNamesString = columnNames
1546
+ .map((columnName) => `"${columnName}"`)
1547
+ .join(", ");
1548
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`);
1549
+ }
1897
1550
  /**
1898
1551
  * Builds drop primary key sql.
1899
1552
  */
1900
- OracleQueryRunner.prototype.dropPrimaryKeySql = function (table) {
1901
- var columnNames = table.primaryColumns.map(function (column) { return column.name; });
1902
- var primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames);
1903
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + primaryKeyName + "\"");
1904
- };
1553
+ dropPrimaryKeySql(table) {
1554
+ const columnNames = table.primaryColumns.map((column) => column.name);
1555
+ const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames);
1556
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`);
1557
+ }
1905
1558
  /**
1906
1559
  * Builds create unique constraint sql.
1907
1560
  */
1908
- OracleQueryRunner.prototype.createUniqueConstraintSql = function (table, uniqueConstraint) {
1909
- var columnNames = uniqueConstraint.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
1910
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")");
1911
- };
1561
+ createUniqueConstraintSql(table, uniqueConstraint) {
1562
+ const columnNames = uniqueConstraint.columnNames
1563
+ .map((column) => `"` + column + `"`)
1564
+ .join(", ");
1565
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE (${columnNames})`);
1566
+ }
1912
1567
  /**
1913
1568
  * Builds drop unique constraint sql.
1914
1569
  */
1915
- OracleQueryRunner.prototype.dropUniqueConstraintSql = function (table, uniqueOrName) {
1916
- var uniqueName = uniqueOrName instanceof TableUnique_1.TableUnique ? uniqueOrName.name : uniqueOrName;
1917
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueName + "\"");
1918
- };
1570
+ dropUniqueConstraintSql(table, uniqueOrName) {
1571
+ const uniqueName = InstanceChecker_1.InstanceChecker.isTableUnique(uniqueOrName)
1572
+ ? uniqueOrName.name
1573
+ : uniqueOrName;
1574
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueName}"`);
1575
+ }
1919
1576
  /**
1920
1577
  * Builds create check constraint sql.
1921
1578
  */
1922
- OracleQueryRunner.prototype.createCheckConstraintSql = function (table, checkConstraint) {
1923
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + checkConstraint.name + "\" CHECK (" + checkConstraint.expression + ")");
1924
- };
1579
+ createCheckConstraintSql(table, checkConstraint) {
1580
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${checkConstraint.name}" CHECK (${checkConstraint.expression})`);
1581
+ }
1925
1582
  /**
1926
1583
  * Builds drop check constraint sql.
1927
1584
  */
1928
- OracleQueryRunner.prototype.dropCheckConstraintSql = function (table, checkOrName) {
1929
- var checkName = checkOrName instanceof TableCheck_1.TableCheck ? checkOrName.name : checkOrName;
1930
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + checkName + "\"");
1931
- };
1585
+ dropCheckConstraintSql(table, checkOrName) {
1586
+ const checkName = InstanceChecker_1.InstanceChecker.isTableCheck(checkOrName)
1587
+ ? checkOrName.name
1588
+ : checkOrName;
1589
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${checkName}"`);
1590
+ }
1932
1591
  /**
1933
1592
  * Builds create foreign key sql.
1934
1593
  */
1935
- OracleQueryRunner.prototype.createForeignKeySql = function (table, foreignKey) {
1936
- var columnNames = foreignKey.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
1937
- var referencedColumnNames = foreignKey.referencedColumnNames.map(function (column) { return "\"" + column + "\""; }).join(",");
1938
- var sql = "ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + foreignKey.name + "\" FOREIGN KEY (" + columnNames + ") " +
1939
- ("REFERENCES \"" + foreignKey.referencedTableName + "\" (" + referencedColumnNames + ")");
1594
+ createForeignKeySql(table, foreignKey) {
1595
+ const columnNames = foreignKey.columnNames
1596
+ .map((column) => `"` + column + `"`)
1597
+ .join(", ");
1598
+ const referencedColumnNames = foreignKey.referencedColumnNames
1599
+ .map((column) => `"` + column + `"`)
1600
+ .join(",");
1601
+ let sql = `ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${foreignKey.name}" FOREIGN KEY (${columnNames}) ` +
1602
+ `REFERENCES ${this.escapePath(this.getTablePath(foreignKey))} (${referencedColumnNames})`;
1940
1603
  // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata
1941
1604
  if (foreignKey.onDelete && foreignKey.onDelete !== "NO ACTION")
1942
- sql += " ON DELETE " + foreignKey.onDelete;
1605
+ sql += ` ON DELETE ${foreignKey.onDelete}`;
1943
1606
  return new Query_1.Query(sql);
1944
- };
1607
+ }
1945
1608
  /**
1946
1609
  * Builds drop foreign key sql.
1947
1610
  */
1948
- OracleQueryRunner.prototype.dropForeignKeySql = function (table, foreignKeyOrName) {
1949
- var foreignKeyName = foreignKeyOrName instanceof TableForeignKey_1.TableForeignKey ? foreignKeyOrName.name : foreignKeyOrName;
1950
- return new Query_1.Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + foreignKeyName + "\"");
1951
- };
1611
+ dropForeignKeySql(table, foreignKeyOrName) {
1612
+ const foreignKeyName = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
1613
+ ? foreignKeyOrName.name
1614
+ : foreignKeyOrName;
1615
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${foreignKeyName}"`);
1616
+ }
1952
1617
  /**
1953
1618
  * Builds a query for create column.
1954
1619
  */
1955
- OracleQueryRunner.prototype.buildCreateColumnSql = function (column) {
1956
- var c = "\"" + column.name + "\" " + this.connection.driver.createFullType(column);
1620
+ buildCreateColumnSql(column) {
1621
+ let c = `"${column.name}" ` + this.connection.driver.createFullType(column);
1957
1622
  if (column.charset)
1958
1623
  c += " CHARACTER SET " + column.charset;
1959
1624
  if (column.collation)
1960
1625
  c += " COLLATE " + column.collation;
1961
- if (column.default !== undefined && column.default !== null) // DEFAULT must be placed before NOT NULL
1626
+ if (column.default !== undefined && column.default !== null)
1627
+ // DEFAULT must be placed before NOT NULL
1962
1628
  c += " DEFAULT " + column.default;
1963
- if (column.isNullable !== true && !column.isGenerated) // NOT NULL is not supported with GENERATED
1629
+ if (column.isNullable !== true && !column.isGenerated)
1630
+ // NOT NULL is not supported with GENERATED
1964
1631
  c += " NOT NULL";
1965
- if (column.isGenerated === true && column.generationStrategy === "increment")
1632
+ if (column.isGenerated === true &&
1633
+ column.generationStrategy === "increment")
1966
1634
  c += " GENERATED BY DEFAULT AS IDENTITY";
1967
1635
  return c;
1968
- };
1969
- return OracleQueryRunner;
1970
- }(BaseQueryRunner_1.BaseQueryRunner));
1636
+ }
1637
+ /**
1638
+ * Escapes given table or view path.
1639
+ */
1640
+ escapePath(target) {
1641
+ // Ignore database when escaping paths
1642
+ const { schema, tableName } = this.driver.parseTableName(target);
1643
+ if (schema && schema !== this.driver.schema) {
1644
+ return `"${schema}"."${tableName}"`;
1645
+ }
1646
+ return `"${tableName}"`;
1647
+ }
1648
+ }
1971
1649
  exports.OracleQueryRunner = OracleQueryRunner;
1972
1650
 
1973
1651
  //# sourceMappingURL=OracleQueryRunner.js.map