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,5 +1,3 @@
1
- import * as tslib_1 from "tslib";
2
- import { TransactionAlreadyStartedError } from "../../error/TransactionAlreadyStartedError";
3
1
  import { TransactionNotStartedError } from "../../error/TransactionNotStartedError";
4
2
  import { TableColumn } from "../../schema-builder/table/TableColumn";
5
3
  import { Table } from "../../schema-builder/table/Table";
@@ -14,23 +12,23 @@ import { Broadcaster } from "../../subscriber/Broadcaster";
14
12
  import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
15
13
  import { OrmUtils } from "../../util/OrmUtils";
16
14
  import { TableCheck } from "../../schema-builder/table/TableCheck";
17
- import { PromiseUtils } from "../../index";
15
+ import { TypeORMError } from "../../error";
16
+ import { QueryResult } from "../../query-runner/QueryResult";
17
+ import { MetadataTableType } from "../types/MetadataTableType";
18
+ import { InstanceChecker } from "../../util/InstanceChecker";
18
19
  /**
19
20
  * Runs queries on a single oracle database connection.
20
21
  */
21
- var OracleQueryRunner = /** @class */ (function (_super) {
22
- tslib_1.__extends(OracleQueryRunner, _super);
22
+ export class OracleQueryRunner extends BaseQueryRunner {
23
23
  // -------------------------------------------------------------------------
24
24
  // Constructor
25
25
  // -------------------------------------------------------------------------
26
- function OracleQueryRunner(driver, mode) {
27
- if (mode === void 0) { mode = "master"; }
28
- var _this = _super.call(this) || this;
29
- _this.driver = driver;
30
- _this.connection = driver.connection;
31
- _this.broadcaster = new Broadcaster(_this);
32
- _this.mode = mode;
33
- return _this;
26
+ constructor(driver, mode) {
27
+ super();
28
+ this.driver = driver;
29
+ this.connection = driver.connection;
30
+ this.broadcaster = new Broadcaster(this);
31
+ this.mode = mode;
34
32
  }
35
33
  // -------------------------------------------------------------------------
36
34
  // Public Methods
@@ -39,1933 +37,1611 @@ var OracleQueryRunner = /** @class */ (function (_super) {
39
37
  * Creates/uses database connection from the connection pool to perform further operations.
40
38
  * Returns obtained database connection.
41
39
  */
42
- OracleQueryRunner.prototype.connect = function () {
43
- var _this = this;
40
+ connect() {
44
41
  if (this.databaseConnection)
45
42
  return Promise.resolve(this.databaseConnection);
46
43
  if (this.databaseConnectionPromise)
47
44
  return this.databaseConnectionPromise;
48
45
  if (this.mode === "slave" && this.driver.isReplicated) {
49
- this.databaseConnectionPromise = this.driver.obtainSlaveConnection().then(function (connection) {
50
- _this.databaseConnection = connection;
51
- return _this.databaseConnection;
46
+ this.databaseConnectionPromise = this.driver
47
+ .obtainSlaveConnection()
48
+ .then((connection) => {
49
+ this.databaseConnection = connection;
50
+ return this.databaseConnection;
52
51
  });
53
52
  }
54
- else { // master
55
- this.databaseConnectionPromise = this.driver.obtainMasterConnection().then(function (connection) {
56
- _this.databaseConnection = connection;
57
- return _this.databaseConnection;
53
+ else {
54
+ // master
55
+ this.databaseConnectionPromise = this.driver
56
+ .obtainMasterConnection()
57
+ .then((connection) => {
58
+ this.databaseConnection = connection;
59
+ return this.databaseConnection;
58
60
  });
59
61
  }
60
62
  return this.databaseConnectionPromise;
61
- };
63
+ }
62
64
  /**
63
65
  * Releases used database connection.
64
66
  * You cannot use query runner methods once its released.
65
67
  */
66
- OracleQueryRunner.prototype.release = function () {
67
- var _this = this;
68
- return new Promise(function (ok, fail) {
69
- _this.isReleased = true;
70
- if (_this.databaseConnection) {
71
- _this.databaseConnection.close(function (err) {
72
- if (err)
73
- return fail(err);
74
- ok();
75
- });
76
- }
77
- else {
78
- ok();
79
- }
80
- });
81
- };
68
+ async release() {
69
+ this.isReleased = true;
70
+ if (!this.databaseConnection) {
71
+ return;
72
+ }
73
+ await this.databaseConnection.close();
74
+ }
82
75
  /**
83
76
  * Starts transaction.
84
77
  */
85
- OracleQueryRunner.prototype.startTransaction = function (isolationLevel) {
86
- if (isolationLevel === void 0) { isolationLevel = "READ COMMITTED"; }
87
- return tslib_1.__awaiter(this, void 0, void 0, function () {
88
- return tslib_1.__generator(this, function (_a) {
89
- switch (_a.label) {
90
- case 0:
91
- if (this.isReleased)
92
- throw new QueryRunnerAlreadyReleasedError();
93
- if (this.isTransactionActive)
94
- throw new TransactionAlreadyStartedError();
95
- // await this.query("START TRANSACTION");
96
- if (isolationLevel !== "SERIALIZABLE" && isolationLevel !== "READ COMMITTED") {
97
- throw new Error("Oracle only supports SERIALIZABLE and READ COMMITTED isolation");
98
- }
99
- return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
100
- case 1:
101
- _a.sent();
102
- this.isTransactionActive = true;
103
- return [2 /*return*/];
104
- }
105
- });
106
- });
107
- };
78
+ async startTransaction(isolationLevel = "READ COMMITTED") {
79
+ if (this.isReleased)
80
+ throw new QueryRunnerAlreadyReleasedError();
81
+ // await this.query("START TRANSACTION");
82
+ if (isolationLevel !== "SERIALIZABLE" &&
83
+ isolationLevel !== "READ COMMITTED") {
84
+ throw new TypeORMError(`Oracle only supports SERIALIZABLE and READ COMMITTED isolation`);
85
+ }
86
+ this.isTransactionActive = true;
87
+ try {
88
+ await this.broadcaster.broadcast("BeforeTransactionStart");
89
+ }
90
+ catch (err) {
91
+ this.isTransactionActive = false;
92
+ throw err;
93
+ }
94
+ if (this.transactionDepth === 0) {
95
+ await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
96
+ }
97
+ else {
98
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
99
+ }
100
+ this.transactionDepth += 1;
101
+ await this.broadcaster.broadcast("AfterTransactionStart");
102
+ }
108
103
  /**
109
104
  * Commits transaction.
110
105
  * Error will be thrown if transaction was not started.
111
106
  */
112
- OracleQueryRunner.prototype.commitTransaction = function () {
113
- return tslib_1.__awaiter(this, void 0, void 0, function () {
114
- return tslib_1.__generator(this, function (_a) {
115
- switch (_a.label) {
116
- case 0:
117
- if (!this.isTransactionActive)
118
- throw new TransactionNotStartedError();
119
- return [4 /*yield*/, this.query("COMMIT")];
120
- case 1:
121
- _a.sent();
122
- this.isTransactionActive = false;
123
- return [2 /*return*/];
124
- }
125
- });
126
- });
127
- };
107
+ async commitTransaction() {
108
+ if (!this.isTransactionActive)
109
+ throw new TransactionNotStartedError();
110
+ await this.broadcaster.broadcast("BeforeTransactionCommit");
111
+ if (this.transactionDepth === 1) {
112
+ await this.query("COMMIT");
113
+ this.isTransactionActive = false;
114
+ }
115
+ this.transactionDepth -= 1;
116
+ await this.broadcaster.broadcast("AfterTransactionCommit");
117
+ }
128
118
  /**
129
119
  * Rollbacks transaction.
130
120
  * Error will be thrown if transaction was not started.
131
121
  */
132
- OracleQueryRunner.prototype.rollbackTransaction = function () {
133
- return tslib_1.__awaiter(this, void 0, void 0, function () {
134
- return tslib_1.__generator(this, function (_a) {
135
- switch (_a.label) {
136
- case 0:
137
- if (!this.isTransactionActive)
138
- throw new TransactionNotStartedError();
139
- return [4 /*yield*/, this.query("ROLLBACK")];
140
- case 1:
141
- _a.sent();
142
- this.isTransactionActive = false;
143
- return [2 /*return*/];
144
- }
145
- });
146
- });
147
- };
122
+ async rollbackTransaction() {
123
+ if (!this.isTransactionActive)
124
+ throw new TransactionNotStartedError();
125
+ await this.broadcaster.broadcast("BeforeTransactionRollback");
126
+ if (this.transactionDepth > 1) {
127
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
128
+ }
129
+ else {
130
+ await this.query("ROLLBACK");
131
+ this.isTransactionActive = false;
132
+ }
133
+ this.transactionDepth -= 1;
134
+ await this.broadcaster.broadcast("AfterTransactionRollback");
135
+ }
148
136
  /**
149
137
  * Executes a given SQL query.
150
138
  */
151
- OracleQueryRunner.prototype.query = function (query, parameters) {
152
- var _this = this;
139
+ async query(query, parameters, useStructuredResult = false) {
153
140
  if (this.isReleased)
154
141
  throw new QueryRunnerAlreadyReleasedError();
155
- return new Promise(function (ok, fail) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
156
- var queryStartTime_1, handler, executionOptions, databaseConnection, err_1;
157
- var _this = this;
158
- return tslib_1.__generator(this, function (_a) {
159
- switch (_a.label) {
160
- case 0:
161
- _a.trys.push([0, 2, , 3]);
162
- this.driver.connection.logger.logQuery(query, parameters, this);
163
- queryStartTime_1 = +new Date();
164
- handler = function (err, result) {
165
- // log slow queries if maxQueryExecution time is set
166
- var maxQueryExecutionTime = _this.driver.connection.options.maxQueryExecutionTime;
167
- var queryEndTime = +new Date();
168
- var queryExecutionTime = queryEndTime - queryStartTime_1;
169
- if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime)
170
- _this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, _this);
171
- if (err) {
172
- _this.driver.connection.logger.logQueryError(err, query, parameters, _this);
173
- return fail(new QueryFailedError(query, parameters, err));
174
- }
175
- // TODO: find better solution. Must return result instead of properties
176
- ok(result.rows || result.outBinds || result.rowsAffected);
177
- };
178
- executionOptions = {
179
- autoCommit: this.isTransactionActive ? false : true
180
- };
181
- return [4 /*yield*/, this.connect()];
182
- case 1:
183
- databaseConnection = _a.sent();
184
- databaseConnection.execute(query, parameters || {}, executionOptions, handler);
185
- return [3 /*break*/, 3];
186
- case 2:
187
- err_1 = _a.sent();
188
- fail(err_1);
189
- return [3 /*break*/, 3];
190
- case 3: return [2 /*return*/];
191
- }
192
- });
193
- }); });
194
- };
142
+ const databaseConnection = await this.connect();
143
+ this.driver.connection.logger.logQuery(query, parameters, this);
144
+ const queryStartTime = +new Date();
145
+ try {
146
+ const executionOptions = {
147
+ autoCommit: !this.isTransactionActive,
148
+ outFormat: this.driver.oracle.OBJECT,
149
+ };
150
+ const raw = await databaseConnection.execute(query, parameters || {}, executionOptions);
151
+ // log slow queries if maxQueryExecution time is set
152
+ const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
153
+ const queryEndTime = +new Date();
154
+ const queryExecutionTime = queryEndTime - queryStartTime;
155
+ if (maxQueryExecutionTime &&
156
+ queryExecutionTime > maxQueryExecutionTime)
157
+ this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
158
+ const result = new QueryResult();
159
+ result.raw =
160
+ raw.rows ||
161
+ raw.outBinds ||
162
+ raw.rowsAffected ||
163
+ raw.implicitResults;
164
+ if ((raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("rows")) && Array.isArray(raw.rows)) {
165
+ result.records = raw.rows;
166
+ }
167
+ if ((raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("outBinds")) &&
168
+ Array.isArray(raw.outBinds)) {
169
+ result.records = raw.outBinds;
170
+ }
171
+ if ((raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("implicitResults")) &&
172
+ Array.isArray(raw.implicitResults)) {
173
+ result.records = raw.implicitResults;
174
+ }
175
+ if (raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("rowsAffected")) {
176
+ result.affected = raw.rowsAffected;
177
+ }
178
+ if (useStructuredResult) {
179
+ return result;
180
+ }
181
+ else {
182
+ return result.raw;
183
+ }
184
+ }
185
+ catch (err) {
186
+ this.driver.connection.logger.logQueryError(err, query, parameters, this);
187
+ throw new QueryFailedError(query, parameters, err);
188
+ }
189
+ }
195
190
  /**
196
191
  * Returns raw data stream.
197
192
  */
198
- OracleQueryRunner.prototype.stream = function (query, parameters, onEnd, onError) {
199
- throw new Error("Stream is not supported by Oracle driver.");
200
- };
193
+ async stream(query, parameters, onEnd, onError) {
194
+ if (this.isReleased) {
195
+ throw new QueryRunnerAlreadyReleasedError();
196
+ }
197
+ const executionOptions = {
198
+ autoCommit: !this.isTransactionActive,
199
+ outFormat: this.driver.oracle.OBJECT,
200
+ };
201
+ const databaseConnection = await this.connect();
202
+ this.driver.connection.logger.logQuery(query, parameters, this);
203
+ try {
204
+ const stream = databaseConnection.queryStream(query, parameters, executionOptions);
205
+ if (onEnd) {
206
+ stream.on("end", onEnd);
207
+ }
208
+ if (onError) {
209
+ stream.on("error", onError);
210
+ }
211
+ return stream;
212
+ }
213
+ catch (err) {
214
+ this.driver.connection.logger.logQueryError(err, query, parameters, this);
215
+ throw new QueryFailedError(query, parameters, err);
216
+ }
217
+ }
201
218
  /**
202
219
  * Returns all available database names including system databases.
203
220
  */
204
- OracleQueryRunner.prototype.getDatabases = function () {
205
- return tslib_1.__awaiter(this, void 0, void 0, function () {
206
- return tslib_1.__generator(this, function (_a) {
207
- return [2 /*return*/, Promise.resolve([])];
208
- });
209
- });
210
- };
221
+ async getDatabases() {
222
+ return Promise.resolve([]);
223
+ }
211
224
  /**
212
225
  * Returns all available schema names including system schemas.
213
226
  * If database parameter specified, returns schemas of that database.
214
227
  */
215
- OracleQueryRunner.prototype.getSchemas = function (database) {
216
- return tslib_1.__awaiter(this, void 0, void 0, function () {
217
- return tslib_1.__generator(this, function (_a) {
218
- return [2 /*return*/, Promise.resolve([])];
219
- });
220
- });
221
- };
228
+ async getSchemas(database) {
229
+ return Promise.resolve([]);
230
+ }
222
231
  /**
223
232
  * Checks if database with the given name exist.
224
233
  */
225
- OracleQueryRunner.prototype.hasDatabase = function (database) {
226
- return tslib_1.__awaiter(this, void 0, void 0, function () {
227
- return tslib_1.__generator(this, function (_a) {
228
- return [2 /*return*/, Promise.resolve(false)];
229
- });
230
- });
231
- };
234
+ async hasDatabase(database) {
235
+ try {
236
+ const query = await this.query(`SELECT 1 AS "exists" FROM global_name@"${database}"`);
237
+ return query.length > 0;
238
+ }
239
+ catch (e) {
240
+ return false;
241
+ }
242
+ }
243
+ /**
244
+ * Loads currently using database
245
+ */
246
+ async getCurrentDatabase() {
247
+ const query = await this.query(`SELECT SYS_CONTEXT('USERENV','DB_NAME') AS "db_name" FROM dual`);
248
+ return query[0]["db_name"];
249
+ }
232
250
  /**
233
251
  * Checks if schema with the given name exist.
234
252
  */
235
- OracleQueryRunner.prototype.hasSchema = function (schema) {
236
- return tslib_1.__awaiter(this, void 0, void 0, function () {
237
- return tslib_1.__generator(this, function (_a) {
238
- return [2 /*return*/, Promise.resolve(false)];
239
- });
240
- });
241
- };
253
+ async hasSchema(schema) {
254
+ return Promise.resolve(false);
255
+ }
256
+ /**
257
+ * Loads currently using database schema
258
+ */
259
+ async getCurrentSchema() {
260
+ const query = await this.query(`SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA') AS "schema_name" FROM dual`);
261
+ return query[0]["schema_name"];
262
+ }
242
263
  /**
243
264
  * Checks if table with the given name exist in the database.
244
265
  */
245
- OracleQueryRunner.prototype.hasTable = function (tableOrName) {
246
- return tslib_1.__awaiter(this, void 0, void 0, function () {
247
- var tableName, sql, result;
248
- return tslib_1.__generator(this, function (_a) {
249
- switch (_a.label) {
250
- case 0:
251
- tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;
252
- sql = "SELECT \"TABLE_NAME\" FROM \"USER_TABLES\" WHERE \"TABLE_NAME\" = '" + tableName + "'";
253
- return [4 /*yield*/, this.query(sql)];
254
- case 1:
255
- result = _a.sent();
256
- return [2 /*return*/, result.length ? true : false];
257
- }
258
- });
259
- });
260
- };
266
+ async hasTable(tableOrName) {
267
+ const { tableName } = this.driver.parseTableName(tableOrName);
268
+ const sql = `SELECT "TABLE_NAME" FROM "USER_TABLES" WHERE "TABLE_NAME" = '${tableName}'`;
269
+ const result = await this.query(sql);
270
+ return result.length ? true : false;
271
+ }
261
272
  /**
262
273
  * Checks if column with the given name exist in the given table.
263
274
  */
264
- OracleQueryRunner.prototype.hasColumn = function (tableOrName, columnName) {
265
- return tslib_1.__awaiter(this, void 0, void 0, function () {
266
- var tableName, sql, result;
267
- return tslib_1.__generator(this, function (_a) {
268
- switch (_a.label) {
269
- case 0:
270
- tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;
271
- sql = "SELECT \"COLUMN_NAME\" FROM \"USER_TAB_COLS\" WHERE \"TABLE_NAME\" = '" + tableName + "' AND \"COLUMN_NAME\" = '" + columnName + "'";
272
- return [4 /*yield*/, this.query(sql)];
273
- case 1:
274
- result = _a.sent();
275
- return [2 /*return*/, result.length ? true : false];
276
- }
277
- });
278
- });
279
- };
275
+ async hasColumn(tableOrName, columnName) {
276
+ const { tableName } = this.driver.parseTableName(tableOrName);
277
+ const sql = `SELECT "COLUMN_NAME" FROM "USER_TAB_COLS" WHERE "TABLE_NAME" = '${tableName}' AND "COLUMN_NAME" = '${columnName}'`;
278
+ const result = await this.query(sql);
279
+ return result.length ? true : false;
280
+ }
280
281
  /**
281
282
  * Creates a new database.
282
283
  */
283
- OracleQueryRunner.prototype.createDatabase = function (database, ifNotExist) {
284
- return tslib_1.__awaiter(this, void 0, void 0, function () {
285
- return tslib_1.__generator(this, function (_a) {
286
- switch (_a.label) {
287
- case 0: return [4 /*yield*/, this.query("CREATE DATABASE IF NOT EXISTS \"" + database + "\"")];
288
- case 1:
289
- _a.sent();
290
- return [2 /*return*/];
284
+ async createDatabase(database, ifNotExist) {
285
+ // Even with `IF NOT EXISTS` we get:
286
+ // ORA-01501: CREATE DATABASE failed
287
+ // ORA-01100: database already mounted
288
+ if (ifNotExist) {
289
+ try {
290
+ await this.query(`CREATE DATABASE IF NOT EXISTS "${database}";`);
291
+ }
292
+ catch (e) {
293
+ // if (e instanceof QueryFailedError) {
294
+ if (e.message.includes("ORA-01100: database already mounted")) {
295
+ return;
291
296
  }
292
- });
293
- });
294
- };
297
+ // }
298
+ throw e;
299
+ }
300
+ }
301
+ else {
302
+ await this.query(`CREATE DATABASE "${database}"`);
303
+ }
304
+ }
295
305
  /**
296
306
  * Drops database.
297
307
  */
298
- OracleQueryRunner.prototype.dropDatabase = function (database, ifExist) {
299
- return tslib_1.__awaiter(this, void 0, void 0, function () {
300
- return tslib_1.__generator(this, function (_a) {
301
- return [2 /*return*/, Promise.resolve()];
302
- });
303
- });
304
- };
308
+ async dropDatabase(database, ifExist) {
309
+ return Promise.resolve();
310
+ }
305
311
  /**
306
312
  * Creates a new table schema.
307
313
  */
308
- OracleQueryRunner.prototype.createSchema = function (schemas, ifNotExist) {
309
- return tslib_1.__awaiter(this, void 0, void 0, function () {
310
- return tslib_1.__generator(this, function (_a) {
311
- throw new Error("Schema create queries are not supported by Oracle driver.");
312
- });
313
- });
314
- };
314
+ async createSchema(schemaPath, ifNotExist) {
315
+ throw new TypeORMError(`Schema create queries are not supported by Oracle driver.`);
316
+ }
315
317
  /**
316
318
  * Drops table schema.
317
319
  */
318
- OracleQueryRunner.prototype.dropSchema = function (schemaPath, ifExist) {
319
- return tslib_1.__awaiter(this, void 0, void 0, function () {
320
- return tslib_1.__generator(this, function (_a) {
321
- throw new Error("Schema drop queries are not supported by Oracle driver.");
322
- });
323
- });
324
- };
320
+ async dropSchema(schemaPath, ifExist) {
321
+ throw new TypeORMError(`Schema drop queries are not supported by Oracle driver.`);
322
+ }
325
323
  /**
326
324
  * Creates a new table.
327
325
  */
328
- OracleQueryRunner.prototype.createTable = function (table, ifNotExist, createForeignKeys, createIndices) {
329
- if (ifNotExist === void 0) { ifNotExist = false; }
330
- if (createForeignKeys === void 0) { createForeignKeys = true; }
331
- if (createIndices === void 0) { createIndices = true; }
332
- return tslib_1.__awaiter(this, void 0, void 0, function () {
333
- var isTableExist, upQueries, downQueries;
334
- var _this = this;
335
- return tslib_1.__generator(this, function (_a) {
336
- switch (_a.label) {
337
- case 0:
338
- if (!ifNotExist) return [3 /*break*/, 2];
339
- return [4 /*yield*/, this.hasTable(table)];
340
- case 1:
341
- isTableExist = _a.sent();
342
- if (isTableExist)
343
- return [2 /*return*/, Promise.resolve()];
344
- _a.label = 2;
345
- case 2:
346
- upQueries = [];
347
- downQueries = [];
348
- upQueries.push(this.createTableSql(table, createForeignKeys));
349
- downQueries.push(this.dropTableSql(table));
350
- // if createForeignKeys is true, we must drop created foreign keys in down query.
351
- // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
352
- if (createForeignKeys)
353
- table.foreignKeys.forEach(function (foreignKey) { return downQueries.push(_this.dropForeignKeySql(table, foreignKey)); });
354
- if (createIndices) {
355
- table.indices.forEach(function (index) {
356
- // new index may be passed without name. In this case we generate index name manually.
357
- if (!index.name)
358
- index.name = _this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where);
359
- upQueries.push(_this.createIndexSql(table, index));
360
- downQueries.push(_this.dropIndexSql(index));
361
- });
362
- }
363
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
364
- case 3:
365
- _a.sent();
366
- return [2 /*return*/];
367
- }
326
+ async createTable(table, ifNotExist = false, createForeignKeys = true, createIndices = true) {
327
+ if (ifNotExist) {
328
+ const isTableExist = await this.hasTable(table);
329
+ if (isTableExist)
330
+ return Promise.resolve();
331
+ }
332
+ const upQueries = [];
333
+ const downQueries = [];
334
+ upQueries.push(this.createTableSql(table, createForeignKeys));
335
+ downQueries.push(this.dropTableSql(table));
336
+ // if createForeignKeys is true, we must drop created foreign keys in down query.
337
+ // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
338
+ if (createForeignKeys)
339
+ table.foreignKeys.forEach((foreignKey) => downQueries.push(this.dropForeignKeySql(table, foreignKey)));
340
+ if (createIndices) {
341
+ table.indices.forEach((index) => {
342
+ // new index may be passed without name. In this case we generate index name manually.
343
+ if (!index.name)
344
+ index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where);
345
+ upQueries.push(this.createIndexSql(table, index));
346
+ downQueries.push(this.dropIndexSql(index));
368
347
  });
369
- });
370
- };
348
+ }
349
+ await this.executeQueries(upQueries, downQueries);
350
+ }
371
351
  /**
372
352
  * Drops the table.
373
353
  */
374
- OracleQueryRunner.prototype.dropTable = function (tableOrName, ifExist, dropForeignKeys, dropIndices) {
375
- if (dropForeignKeys === void 0) { dropForeignKeys = true; }
376
- if (dropIndices === void 0) { dropIndices = true; }
377
- return tslib_1.__awaiter(this, void 0, void 0, function () {
378
- var isTableExist, createForeignKeys, table, _a, upQueries, downQueries;
379
- var _this = this;
380
- return tslib_1.__generator(this, function (_b) {
381
- switch (_b.label) {
382
- case 0:
383
- if (!ifExist) return [3 /*break*/, 2];
384
- return [4 /*yield*/, this.hasTable(tableOrName)];
385
- case 1:
386
- isTableExist = _b.sent();
387
- if (!isTableExist)
388
- return [2 /*return*/, Promise.resolve()];
389
- _b.label = 2;
390
- case 2:
391
- createForeignKeys = dropForeignKeys;
392
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 3];
393
- _a = tableOrName;
394
- return [3 /*break*/, 5];
395
- case 3: return [4 /*yield*/, this.getCachedTable(tableOrName)];
396
- case 4:
397
- _a = _b.sent();
398
- _b.label = 5;
399
- case 5:
400
- table = _a;
401
- upQueries = [];
402
- downQueries = [];
403
- if (dropIndices) {
404
- table.indices.forEach(function (index) {
405
- upQueries.push(_this.dropIndexSql(index));
406
- downQueries.push(_this.createIndexSql(table, index));
407
- });
408
- }
409
- // if dropForeignKeys is true, we just drop the table, otherwise we also drop table foreign keys.
410
- // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
411
- if (dropForeignKeys)
412
- table.foreignKeys.forEach(function (foreignKey) { return upQueries.push(_this.dropForeignKeySql(table, foreignKey)); });
413
- upQueries.push(this.dropTableSql(table));
414
- downQueries.push(this.createTableSql(table, createForeignKeys));
415
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
416
- case 6:
417
- _b.sent();
418
- return [2 /*return*/];
419
- }
354
+ async dropTable(tableOrName, ifExist, dropForeignKeys = true, dropIndices = true) {
355
+ // It needs because if table does not exist and dropForeignKeys or dropIndices is true, we don't need
356
+ // to perform drop queries for foreign keys and indices.
357
+ if (ifExist) {
358
+ const isTableExist = await this.hasTable(tableOrName);
359
+ if (!isTableExist)
360
+ return Promise.resolve();
361
+ }
362
+ // if dropTable called with dropForeignKeys = true, we must create foreign keys in down query.
363
+ const createForeignKeys = dropForeignKeys;
364
+ const table = InstanceChecker.isTable(tableOrName)
365
+ ? tableOrName
366
+ : await this.getCachedTable(tableOrName);
367
+ const upQueries = [];
368
+ const downQueries = [];
369
+ if (dropIndices) {
370
+ table.indices.forEach((index) => {
371
+ upQueries.push(this.dropIndexSql(index));
372
+ downQueries.push(this.createIndexSql(table, index));
420
373
  });
421
- });
422
- };
374
+ }
375
+ // if dropForeignKeys is true, we just drop the table, otherwise we also drop table foreign keys.
376
+ // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
377
+ if (dropForeignKeys)
378
+ table.foreignKeys.forEach((foreignKey) => upQueries.push(this.dropForeignKeySql(table, foreignKey)));
379
+ upQueries.push(this.dropTableSql(table));
380
+ downQueries.push(this.createTableSql(table, createForeignKeys));
381
+ await this.executeQueries(upQueries, downQueries);
382
+ }
423
383
  /**
424
384
  * Creates a new view.
425
385
  */
426
- OracleQueryRunner.prototype.createView = function (view) {
427
- return tslib_1.__awaiter(this, void 0, void 0, function () {
428
- var upQueries, downQueries;
429
- return tslib_1.__generator(this, function (_a) {
430
- switch (_a.label) {
431
- case 0:
432
- upQueries = [];
433
- downQueries = [];
434
- upQueries.push(this.createViewSql(view));
435
- upQueries.push(this.insertViewDefinitionSql(view));
436
- downQueries.push(this.dropViewSql(view));
437
- downQueries.push(this.deleteViewDefinitionSql(view));
438
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
439
- case 1:
440
- _a.sent();
441
- return [2 /*return*/];
442
- }
443
- });
444
- });
445
- };
386
+ async createView(view) {
387
+ const upQueries = [];
388
+ const downQueries = [];
389
+ upQueries.push(this.createViewSql(view));
390
+ upQueries.push(this.insertViewDefinitionSql(view));
391
+ downQueries.push(this.dropViewSql(view));
392
+ downQueries.push(this.deleteViewDefinitionSql(view));
393
+ await this.executeQueries(upQueries, downQueries);
394
+ }
446
395
  /**
447
396
  * Drops the view.
448
397
  */
449
- OracleQueryRunner.prototype.dropView = function (target) {
450
- return tslib_1.__awaiter(this, void 0, void 0, function () {
451
- var viewName, view, upQueries, downQueries;
452
- return tslib_1.__generator(this, function (_a) {
453
- switch (_a.label) {
454
- case 0:
455
- viewName = target instanceof View ? target.name : target;
456
- return [4 /*yield*/, this.getCachedView(viewName)];
457
- case 1:
458
- view = _a.sent();
459
- upQueries = [];
460
- downQueries = [];
461
- upQueries.push(this.deleteViewDefinitionSql(view));
462
- upQueries.push(this.dropViewSql(view));
463
- downQueries.push(this.insertViewDefinitionSql(view));
464
- downQueries.push(this.createViewSql(view));
465
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
466
- case 2:
467
- _a.sent();
468
- return [2 /*return*/];
469
- }
470
- });
471
- });
472
- };
398
+ async dropView(target) {
399
+ const viewName = InstanceChecker.isView(target) ? target.name : target;
400
+ const view = await this.getCachedView(viewName);
401
+ const upQueries = [];
402
+ const downQueries = [];
403
+ upQueries.push(this.deleteViewDefinitionSql(view));
404
+ upQueries.push(this.dropViewSql(view));
405
+ downQueries.push(this.insertViewDefinitionSql(view));
406
+ downQueries.push(this.createViewSql(view));
407
+ await this.executeQueries(upQueries, downQueries);
408
+ }
473
409
  /**
474
410
  * Renames the given table.
475
411
  */
476
- OracleQueryRunner.prototype.renameTable = function (oldTableOrName, newTableOrName) {
477
- return tslib_1.__awaiter(this, void 0, void 0, function () {
478
- var upQueries, downQueries, oldTable, _a, newTable, columnNames, oldPkName, newPkName;
479
- var _this = this;
480
- return tslib_1.__generator(this, function (_b) {
481
- switch (_b.label) {
482
- case 0:
483
- upQueries = [];
484
- downQueries = [];
485
- if (!(oldTableOrName instanceof Table)) return [3 /*break*/, 1];
486
- _a = oldTableOrName;
487
- return [3 /*break*/, 3];
488
- case 1: return [4 /*yield*/, this.getCachedTable(oldTableOrName)];
489
- case 2:
490
- _a = _b.sent();
491
- _b.label = 3;
492
- case 3:
493
- oldTable = _a;
494
- newTable = oldTable.clone();
495
- if (newTableOrName instanceof Table) {
496
- newTable = newTableOrName;
497
- }
498
- else {
499
- newTable.name = newTableOrName;
500
- }
501
- // rename table
502
- upQueries.push(new Query("ALTER TABLE \"" + oldTable.name + "\" RENAME TO \"" + newTable.name + "\""));
503
- downQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME TO \"" + oldTable.name + "\""));
504
- // rename primary key constraint
505
- if (newTable.primaryColumns.length > 0) {
506
- columnNames = newTable.primaryColumns.map(function (column) { return column.name; });
507
- oldPkName = this.connection.namingStrategy.primaryKeyName(oldTable, columnNames);
508
- newPkName = this.connection.namingStrategy.primaryKeyName(newTable, columnNames);
509
- // build queries
510
- upQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + oldPkName + "\" TO \"" + newPkName + "\""));
511
- downQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + newPkName + "\" TO \"" + oldPkName + "\""));
512
- }
513
- // rename unique constraints
514
- newTable.uniques.forEach(function (unique) {
515
- // build new constraint name
516
- var newUniqueName = _this.connection.namingStrategy.uniqueConstraintName(newTable, unique.columnNames);
517
- // build queries
518
- upQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + unique.name + "\" TO \"" + newUniqueName + "\""));
519
- downQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + newUniqueName + "\" TO \"" + unique.name + "\""));
520
- // replace constraint name
521
- unique.name = newUniqueName;
522
- });
523
- // rename index constraints
524
- newTable.indices.forEach(function (index) {
525
- // build new constraint name
526
- var newIndexName = _this.connection.namingStrategy.indexName(newTable, index.columnNames, index.where);
527
- // build queries
528
- upQueries.push(new Query("ALTER INDEX \"" + index.name + "\" RENAME TO \"" + newIndexName + "\""));
529
- downQueries.push(new Query("ALTER INDEX \"" + newIndexName + "\" RENAME TO \"" + index.name + "\""));
530
- // replace constraint name
531
- index.name = newIndexName;
532
- });
533
- // rename foreign key constraints
534
- newTable.foreignKeys.forEach(function (foreignKey) {
535
- // build new constraint name
536
- var newForeignKeyName = _this.connection.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames);
537
- // build queries
538
- upQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + foreignKey.name + "\" TO \"" + newForeignKeyName + "\""));
539
- downQueries.push(new Query("ALTER TABLE \"" + newTable.name + "\" RENAME CONSTRAINT \"" + newForeignKeyName + "\" TO \"" + foreignKey.name + "\""));
540
- // replace constraint name
541
- foreignKey.name = newForeignKeyName;
542
- });
543
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
544
- case 4:
545
- _b.sent();
546
- // rename old table and replace it in cached tabled;
547
- oldTable.name = newTable.name;
548
- this.replaceCachedTable(oldTable, newTable);
549
- return [2 /*return*/];
550
- }
551
- });
412
+ async renameTable(oldTableOrName, newTableName) {
413
+ const upQueries = [];
414
+ const downQueries = [];
415
+ const oldTable = InstanceChecker.isTable(oldTableOrName)
416
+ ? oldTableOrName
417
+ : await this.getCachedTable(oldTableOrName);
418
+ let newTable = oldTable.clone();
419
+ const { database: dbName, tableName: oldTableName } = this.driver.parseTableName(oldTable);
420
+ newTable.name = dbName ? `${dbName}.${newTableName}` : newTableName;
421
+ // rename table
422
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(oldTable)} RENAME TO "${newTableName}"`));
423
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME TO "${oldTableName}"`));
424
+ // rename primary key constraint
425
+ if (newTable.primaryColumns.length > 0) {
426
+ const columnNames = newTable.primaryColumns.map((column) => column.name);
427
+ const oldPkName = this.connection.namingStrategy.primaryKeyName(oldTable, columnNames);
428
+ const newPkName = this.connection.namingStrategy.primaryKeyName(newTable, columnNames);
429
+ // build queries
430
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${oldPkName}" TO "${newPkName}"`));
431
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newPkName}" TO "${oldPkName}"`));
432
+ }
433
+ // rename unique constraints
434
+ newTable.uniques.forEach((unique) => {
435
+ // build new constraint name
436
+ const newUniqueName = this.connection.namingStrategy.uniqueConstraintName(newTable, unique.columnNames);
437
+ // build queries
438
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${unique.name}" TO "${newUniqueName}"`));
439
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newUniqueName}" TO "${unique.name}"`));
440
+ // replace constraint name
441
+ unique.name = newUniqueName;
552
442
  });
553
- };
443
+ // rename index constraints
444
+ newTable.indices.forEach((index) => {
445
+ // build new constraint name
446
+ const newIndexName = this.connection.namingStrategy.indexName(newTable, index.columnNames, index.where);
447
+ // build queries
448
+ upQueries.push(new Query(`ALTER INDEX "${index.name}" RENAME TO "${newIndexName}"`));
449
+ downQueries.push(new Query(`ALTER INDEX "${newIndexName}" RENAME TO "${index.name}"`));
450
+ // replace constraint name
451
+ index.name = newIndexName;
452
+ });
453
+ // rename foreign key constraints
454
+ newTable.foreignKeys.forEach((foreignKey) => {
455
+ // build new constraint name
456
+ const newForeignKeyName = this.connection.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
457
+ // build queries
458
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${foreignKey.name}" TO "${newForeignKeyName}"`));
459
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newForeignKeyName}" TO "${foreignKey.name}"`));
460
+ // replace constraint name
461
+ foreignKey.name = newForeignKeyName;
462
+ });
463
+ await this.executeQueries(upQueries, downQueries);
464
+ // rename old table and replace it in cached tabled;
465
+ oldTable.name = newTable.name;
466
+ this.replaceCachedTable(oldTable, newTable);
467
+ }
554
468
  /**
555
469
  * Creates a new column from the column in the table.
556
470
  */
557
- OracleQueryRunner.prototype.addColumn = function (tableOrName, column) {
558
- return tslib_1.__awaiter(this, void 0, void 0, function () {
559
- var table, _a, clonedTable, upQueries, downQueries, primaryColumns, pkName_1, columnNames_1, pkName, columnNames, columnIndex, uniqueConstraint;
560
- return tslib_1.__generator(this, function (_b) {
561
- switch (_b.label) {
562
- case 0:
563
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
564
- _a = tableOrName;
565
- return [3 /*break*/, 3];
566
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
567
- case 2:
568
- _a = _b.sent();
569
- _b.label = 3;
570
- case 3:
571
- table = _a;
572
- clonedTable = table.clone();
573
- upQueries = [];
574
- downQueries = [];
575
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD " + this.buildCreateColumnSql(column)));
576
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP COLUMN \"" + column.name + "\""));
577
- // create or update primary key constraint
578
- if (column.isPrimary) {
579
- primaryColumns = clonedTable.primaryColumns;
580
- // if table already have primary key, me must drop it and recreate again
581
- if (primaryColumns.length > 0) {
582
- pkName_1 = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
583
- columnNames_1 = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
584
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName_1 + "\""));
585
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName_1 + "\" PRIMARY KEY (" + columnNames_1 + ")"));
586
- }
587
- primaryColumns.push(column);
588
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
589
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
590
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
591
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
592
- }
593
- columnIndex = clonedTable.indices.find(function (index) { return index.columnNames.length === 1 && index.columnNames[0] === column.name; });
594
- if (columnIndex) {
595
- clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
596
- upQueries.push(this.createIndexSql(table, columnIndex));
597
- downQueries.push(this.dropIndexSql(columnIndex));
598
- }
599
- // create unique constraint
600
- if (column.isUnique) {
601
- uniqueConstraint = new TableUnique({
602
- name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]),
603
- columnNames: [column.name]
604
- });
605
- clonedTable.uniques.push(uniqueConstraint);
606
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + column.name + "\")"));
607
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueConstraint.name + "\""));
608
- }
609
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
610
- case 4:
611
- _b.sent();
612
- clonedTable.addColumn(column);
613
- this.replaceCachedTable(table, clonedTable);
614
- return [2 /*return*/];
615
- }
471
+ async addColumn(tableOrName, column) {
472
+ const table = InstanceChecker.isTable(tableOrName)
473
+ ? tableOrName
474
+ : await this.getCachedTable(tableOrName);
475
+ const clonedTable = table.clone();
476
+ const upQueries = [];
477
+ const downQueries = [];
478
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column)}`));
479
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${column.name}"`));
480
+ // create or update primary key constraint
481
+ if (column.isPrimary) {
482
+ const primaryColumns = clonedTable.primaryColumns;
483
+ // if table already have primary key, me must drop it and recreate again
484
+ if (primaryColumns.length > 0) {
485
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
486
+ const columnNames = primaryColumns
487
+ .map((column) => `"${column.name}"`)
488
+ .join(", ");
489
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
490
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
491
+ }
492
+ primaryColumns.push(column);
493
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
494
+ const columnNames = primaryColumns
495
+ .map((column) => `"${column.name}"`)
496
+ .join(", ");
497
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
498
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
499
+ }
500
+ // create column index
501
+ const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
502
+ index.columnNames[0] === column.name);
503
+ if (columnIndex) {
504
+ clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
505
+ upQueries.push(this.createIndexSql(table, columnIndex));
506
+ downQueries.push(this.dropIndexSql(columnIndex));
507
+ }
508
+ // create unique constraint
509
+ if (column.isUnique) {
510
+ const uniqueConstraint = new TableUnique({
511
+ name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]),
512
+ columnNames: [column.name],
616
513
  });
617
- });
618
- };
514
+ clonedTable.uniques.push(uniqueConstraint);
515
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${column.name}")`));
516
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
517
+ }
518
+ await this.executeQueries(upQueries, downQueries);
519
+ clonedTable.addColumn(column);
520
+ this.replaceCachedTable(table, clonedTable);
521
+ }
619
522
  /**
620
523
  * Creates a new columns from the column in the table.
621
524
  */
622
- OracleQueryRunner.prototype.addColumns = function (tableOrName, columns) {
623
- return tslib_1.__awaiter(this, void 0, void 0, function () {
624
- var _this = this;
625
- return tslib_1.__generator(this, function (_a) {
626
- switch (_a.label) {
627
- case 0: return [4 /*yield*/, PromiseUtils.runInSequence(columns, function (column) { return _this.addColumn(tableOrName, column); })];
628
- case 1:
629
- _a.sent();
630
- return [2 /*return*/];
631
- }
632
- });
633
- });
634
- };
525
+ async addColumns(tableOrName, columns) {
526
+ for (const column of columns) {
527
+ await this.addColumn(tableOrName, column);
528
+ }
529
+ }
635
530
  /**
636
531
  * Renames column in the given table.
637
532
  */
638
- OracleQueryRunner.prototype.renameColumn = function (tableOrName, oldTableColumnOrName, newTableColumnOrName) {
639
- return tslib_1.__awaiter(this, void 0, void 0, function () {
640
- var table, _a, oldColumn, newColumn;
641
- return tslib_1.__generator(this, function (_b) {
642
- switch (_b.label) {
643
- case 0:
644
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
645
- _a = tableOrName;
646
- return [3 /*break*/, 3];
647
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
648
- case 2:
649
- _a = _b.sent();
650
- _b.label = 3;
651
- case 3:
652
- table = _a;
653
- oldColumn = oldTableColumnOrName instanceof TableColumn ? oldTableColumnOrName : table.columns.find(function (c) { return c.name === oldTableColumnOrName; });
654
- if (!oldColumn)
655
- throw new Error("Column \"" + oldTableColumnOrName + "\" was not found in the \"" + table.name + "\" table.");
656
- newColumn = undefined;
657
- if (newTableColumnOrName instanceof TableColumn) {
658
- newColumn = newTableColumnOrName;
659
- }
660
- else {
661
- newColumn = oldColumn.clone();
662
- newColumn.name = newTableColumnOrName;
663
- }
664
- return [4 /*yield*/, this.changeColumn(table, oldColumn, newColumn)];
665
- case 4:
666
- _b.sent();
667
- return [2 /*return*/];
668
- }
669
- });
670
- });
671
- };
533
+ async renameColumn(tableOrName, oldTableColumnOrName, newTableColumnOrName) {
534
+ const table = InstanceChecker.isTable(tableOrName)
535
+ ? tableOrName
536
+ : await this.getCachedTable(tableOrName);
537
+ const oldColumn = InstanceChecker.isTableColumn(oldTableColumnOrName)
538
+ ? oldTableColumnOrName
539
+ : table.columns.find((c) => c.name === oldTableColumnOrName);
540
+ if (!oldColumn)
541
+ throw new TypeORMError(`Column "${oldTableColumnOrName}" was not found in the ${this.escapePath(table)} table.`);
542
+ let newColumn = undefined;
543
+ if (InstanceChecker.isTableColumn(newTableColumnOrName)) {
544
+ newColumn = newTableColumnOrName;
545
+ }
546
+ else {
547
+ newColumn = oldColumn.clone();
548
+ newColumn.name = newTableColumnOrName;
549
+ }
550
+ await this.changeColumn(table, oldColumn, newColumn);
551
+ }
672
552
  /**
673
553
  * Changes a column in the table.
674
554
  */
675
- OracleQueryRunner.prototype.changeColumn = function (tableOrName, oldTableColumnOrName, newColumn) {
676
- return tslib_1.__awaiter(this, void 0, void 0, function () {
677
- 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;
678
- var _this = this;
679
- return tslib_1.__generator(this, function (_b) {
680
- switch (_b.label) {
681
- case 0:
682
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
683
- _a = tableOrName;
684
- return [3 /*break*/, 3];
685
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
686
- case 2:
687
- _a = _b.sent();
688
- _b.label = 3;
689
- case 3:
690
- table = _a;
691
- clonedTable = table.clone();
692
- upQueries = [];
693
- downQueries = [];
694
- oldColumn = oldTableColumnOrName instanceof TableColumn
695
- ? oldTableColumnOrName
696
- : table.columns.find(function (column) { return column.name === oldTableColumnOrName; });
697
- if (!oldColumn)
698
- throw new Error("Column \"" + oldTableColumnOrName + "\" was not found in the \"" + table.name + "\" table.");
699
- if (!((newColumn.isGenerated !== oldColumn.isGenerated && newColumn.generationStrategy !== "uuid") || oldColumn.type !== newColumn.type || oldColumn.length !== newColumn.length)) return [3 /*break*/, 6];
700
- // Oracle does not support changing of IDENTITY column, so we must drop column and recreate it again.
701
- // Also, we recreate column if column type changed
702
- return [4 /*yield*/, this.dropColumn(table, oldColumn)];
703
- case 4:
704
- // Oracle does not support changing of IDENTITY column, so we must drop column and recreate it again.
705
- // Also, we recreate column if column type changed
706
- _b.sent();
707
- return [4 /*yield*/, this.addColumn(table, newColumn)];
708
- case 5:
709
- _b.sent();
710
- // update cloned table
711
- clonedTable = table.clone();
712
- return [3 /*break*/, 8];
713
- case 6:
714
- if (newColumn.name !== oldColumn.name) {
715
- // rename column
716
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME COLUMN \"" + oldColumn.name + "\" TO \"" + newColumn.name + "\""));
717
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME COLUMN \"" + newColumn.name + "\" TO \"" + oldColumn.name + "\""));
718
- // rename column primary key constraint
719
- if (oldColumn.isPrimary === true) {
720
- primaryColumns = clonedTable.primaryColumns;
721
- columnNames = primaryColumns.map(function (column) { return column.name; });
722
- oldPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
723
- // replace old column name with new column name
724
- columnNames.splice(columnNames.indexOf(oldColumn.name), 1);
725
- columnNames.push(newColumn.name);
726
- newPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
727
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + oldPkName + "\" TO \"" + newPkName + "\""));
728
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + newPkName + "\" TO \"" + oldPkName + "\""));
729
- }
730
- // rename unique constraints
731
- clonedTable.findColumnUniques(oldColumn).forEach(function (unique) {
732
- // build new constraint name
733
- unique.columnNames.splice(unique.columnNames.indexOf(oldColumn.name), 1);
734
- unique.columnNames.push(newColumn.name);
735
- var newUniqueName = _this.connection.namingStrategy.uniqueConstraintName(clonedTable, unique.columnNames);
736
- // build queries
737
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + unique.name + "\" TO \"" + newUniqueName + "\""));
738
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + newUniqueName + "\" TO \"" + unique.name + "\""));
739
- // replace constraint name
740
- unique.name = newUniqueName;
741
- });
742
- // rename index constraints
743
- clonedTable.findColumnIndices(oldColumn).forEach(function (index) {
744
- // build new constraint name
745
- index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
746
- index.columnNames.push(newColumn.name);
747
- var newIndexName = _this.connection.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
748
- // build queries
749
- upQueries.push(new Query("ALTER INDEX \"" + index.name + "\" RENAME TO \"" + newIndexName + "\""));
750
- downQueries.push(new Query("ALTER INDEX \"" + newIndexName + "\" RENAME TO \"" + index.name + "\""));
751
- // replace constraint name
752
- index.name = newIndexName;
753
- });
754
- // rename foreign key constraints
755
- clonedTable.findColumnForeignKeys(oldColumn).forEach(function (foreignKey) {
756
- // build new constraint name
757
- foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
758
- foreignKey.columnNames.push(newColumn.name);
759
- var newForeignKeyName = _this.connection.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames);
760
- // build queries
761
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + foreignKey.name + "\" TO \"" + newForeignKeyName + "\""));
762
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" RENAME CONSTRAINT \"" + newForeignKeyName + "\" TO \"" + foreignKey.name + "\""));
763
- // replace constraint name
764
- foreignKey.name = newForeignKeyName;
765
- });
766
- oldTableColumn = clonedTable.columns.find(function (column) { return column.name === oldColumn.name; });
767
- clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
768
- oldColumn.name = newColumn.name;
769
- }
770
- if (this.isColumnChanged(oldColumn, newColumn, true)) {
771
- defaultUp = "";
772
- defaultDown = "";
773
- nullableUp = "";
774
- nullableDown = "";
775
- // changing column default
776
- if (newColumn.default !== null && newColumn.default !== undefined) {
777
- defaultUp = "DEFAULT " + newColumn.default;
778
- if (oldColumn.default !== null && oldColumn.default !== undefined) {
779
- defaultDown = "DEFAULT " + oldColumn.default;
780
- }
781
- else {
782
- defaultDown = "DEFAULT NULL";
783
- }
784
- }
785
- else if (oldColumn.default !== null && oldColumn.default !== undefined) {
786
- defaultUp = "DEFAULT NULL";
787
- defaultDown = "DEFAULT " + oldColumn.default;
788
- }
789
- // changing column isNullable property
790
- if (newColumn.isNullable !== oldColumn.isNullable) {
791
- if (newColumn.isNullable === true) {
792
- nullableUp = "NULL";
793
- nullableDown = "NOT NULL";
794
- }
795
- else {
796
- nullableUp = "NOT NULL";
797
- nullableDown = "NULL";
798
- }
799
- }
800
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" MODIFY \"" + oldColumn.name + "\" " + this.connection.driver.createFullType(newColumn) + " " + defaultUp + " " + nullableUp));
801
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" MODIFY \"" + oldColumn.name + "\" " + this.connection.driver.createFullType(oldColumn) + " " + defaultDown + " " + nullableDown));
802
- }
803
- if (newColumn.isPrimary !== oldColumn.isPrimary) {
804
- primaryColumns = clonedTable.primaryColumns;
805
- // if primary column state changed, we must always drop existed constraint.
806
- if (primaryColumns.length > 0) {
807
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
808
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
809
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
810
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
811
- }
812
- if (newColumn.isPrimary === true) {
813
- primaryColumns.push(newColumn);
814
- column = clonedTable.columns.find(function (column) { return column.name === newColumn.name; });
815
- column.isPrimary = true;
816
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
817
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
818
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
819
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
820
- }
821
- else {
822
- primaryColumn = primaryColumns.find(function (c) { return c.name === newColumn.name; });
823
- primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
824
- column = clonedTable.columns.find(function (column) { return column.name === newColumn.name; });
825
- column.isPrimary = false;
826
- // if we have another primary keys, we must recreate constraint.
827
- if (primaryColumns.length > 0) {
828
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
829
- columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
830
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
831
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
832
- }
833
- }
834
- }
835
- if (newColumn.isUnique !== oldColumn.isUnique) {
836
- if (newColumn.isUnique === true) {
837
- uniqueConstraint = new TableUnique({
838
- name: this.connection.namingStrategy.uniqueConstraintName(table.name, [newColumn.name]),
839
- columnNames: [newColumn.name]
840
- });
841
- clonedTable.uniques.push(uniqueConstraint);
842
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + newColumn.name + "\")"));
843
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueConstraint.name + "\""));
844
- }
845
- else {
846
- uniqueConstraint = clonedTable.uniques.find(function (unique) {
847
- return unique.columnNames.length === 1 && !!unique.columnNames.find(function (columnName) { return columnName === newColumn.name; });
848
- });
849
- clonedTable.uniques.splice(clonedTable.uniques.indexOf(uniqueConstraint), 1);
850
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueConstraint.name + "\""));
851
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + newColumn.name + "\")"));
852
- }
853
- }
854
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
855
- case 7:
856
- _b.sent();
857
- this.replaceCachedTable(table, clonedTable);
858
- _b.label = 8;
859
- case 8: return [2 /*return*/];
555
+ async changeColumn(tableOrName, oldTableColumnOrName, newColumn) {
556
+ const table = InstanceChecker.isTable(tableOrName)
557
+ ? tableOrName
558
+ : await this.getCachedTable(tableOrName);
559
+ let clonedTable = table.clone();
560
+ const upQueries = [];
561
+ const downQueries = [];
562
+ const oldColumn = InstanceChecker.isTableColumn(oldTableColumnOrName)
563
+ ? oldTableColumnOrName
564
+ : table.columns.find((column) => column.name === oldTableColumnOrName);
565
+ if (!oldColumn)
566
+ throw new TypeORMError(`Column "${oldTableColumnOrName}" was not found in the ${this.escapePath(table)} table.`);
567
+ if ((newColumn.isGenerated !== oldColumn.isGenerated &&
568
+ newColumn.generationStrategy !== "uuid") ||
569
+ oldColumn.type !== newColumn.type ||
570
+ oldColumn.length !== newColumn.length) {
571
+ // Oracle does not support changing of IDENTITY column, so we must drop column and recreate it again.
572
+ // Also, we recreate column if column type changed
573
+ await this.dropColumn(table, oldColumn);
574
+ await this.addColumn(table, newColumn);
575
+ // update cloned table
576
+ clonedTable = table.clone();
577
+ }
578
+ else {
579
+ if (newColumn.name !== oldColumn.name) {
580
+ // rename column
581
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${oldColumn.name}" TO "${newColumn.name}"`));
582
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${newColumn.name}" TO "${oldColumn.name}"`));
583
+ // rename column primary key constraint
584
+ if (oldColumn.isPrimary === true) {
585
+ const primaryColumns = clonedTable.primaryColumns;
586
+ // build old primary constraint name
587
+ const columnNames = primaryColumns.map((column) => column.name);
588
+ const oldPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
589
+ // replace old column name with new column name
590
+ columnNames.splice(columnNames.indexOf(oldColumn.name), 1);
591
+ columnNames.push(newColumn.name);
592
+ // build new primary constraint name
593
+ const newPkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
594
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${oldPkName}" TO "${newPkName}"`));
595
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newPkName}" TO "${oldPkName}"`));
860
596
  }
861
- });
862
- });
863
- };
597
+ // rename unique constraints
598
+ clonedTable.findColumnUniques(oldColumn).forEach((unique) => {
599
+ // build new constraint name
600
+ unique.columnNames.splice(unique.columnNames.indexOf(oldColumn.name), 1);
601
+ unique.columnNames.push(newColumn.name);
602
+ const newUniqueName = this.connection.namingStrategy.uniqueConstraintName(clonedTable, unique.columnNames);
603
+ // build queries
604
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${unique.name}" TO "${newUniqueName}"`));
605
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newUniqueName}" TO "${unique.name}"`));
606
+ // replace constraint name
607
+ unique.name = newUniqueName;
608
+ });
609
+ // rename index constraints
610
+ clonedTable.findColumnIndices(oldColumn).forEach((index) => {
611
+ // build new constraint name
612
+ index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
613
+ index.columnNames.push(newColumn.name);
614
+ const newIndexName = this.connection.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
615
+ // build queries
616
+ upQueries.push(new Query(`ALTER INDEX "${index.name}" RENAME TO "${newIndexName}"`));
617
+ downQueries.push(new Query(`ALTER INDEX "${newIndexName}" RENAME TO "${index.name}"`));
618
+ // replace constraint name
619
+ index.name = newIndexName;
620
+ });
621
+ // rename foreign key constraints
622
+ clonedTable
623
+ .findColumnForeignKeys(oldColumn)
624
+ .forEach((foreignKey) => {
625
+ // build new constraint name
626
+ foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
627
+ foreignKey.columnNames.push(newColumn.name);
628
+ const newForeignKeyName = this.connection.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
629
+ // build queries
630
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${foreignKey.name}" TO "${newForeignKeyName}"`));
631
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newForeignKeyName}" TO "${foreignKey.name}"`));
632
+ // replace constraint name
633
+ foreignKey.name = newForeignKeyName;
634
+ });
635
+ // rename old column in the Table object
636
+ const oldTableColumn = clonedTable.columns.find((column) => column.name === oldColumn.name);
637
+ clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
638
+ oldColumn.name = newColumn.name;
639
+ }
640
+ if (this.isColumnChanged(oldColumn, newColumn, true)) {
641
+ let defaultUp = "";
642
+ let defaultDown = "";
643
+ let nullableUp = "";
644
+ let nullableDown = "";
645
+ // changing column default
646
+ if (newColumn.default !== null &&
647
+ newColumn.default !== undefined) {
648
+ defaultUp = `DEFAULT ${newColumn.default}`;
649
+ if (oldColumn.default !== null &&
650
+ oldColumn.default !== undefined) {
651
+ defaultDown = `DEFAULT ${oldColumn.default}`;
652
+ }
653
+ else {
654
+ defaultDown = "DEFAULT NULL";
655
+ }
656
+ }
657
+ else if (oldColumn.default !== null &&
658
+ oldColumn.default !== undefined) {
659
+ defaultUp = "DEFAULT NULL";
660
+ defaultDown = `DEFAULT ${oldColumn.default}`;
661
+ }
662
+ // changing column isNullable property
663
+ if (newColumn.isNullable !== oldColumn.isNullable) {
664
+ if (newColumn.isNullable === true) {
665
+ nullableUp = "NULL";
666
+ nullableDown = "NOT NULL";
667
+ }
668
+ else {
669
+ nullableUp = "NOT NULL";
670
+ nullableDown = "NULL";
671
+ }
672
+ }
673
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} MODIFY "${oldColumn.name}" ${this.connection.driver.createFullType(newColumn)} ${defaultUp} ${nullableUp}`));
674
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} MODIFY "${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} ${defaultDown} ${nullableDown}`));
675
+ }
676
+ if (newColumn.isPrimary !== oldColumn.isPrimary) {
677
+ const primaryColumns = clonedTable.primaryColumns;
678
+ // if primary column state changed, we must always drop existed constraint.
679
+ if (primaryColumns.length > 0) {
680
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
681
+ const columnNames = primaryColumns
682
+ .map((column) => `"${column.name}"`)
683
+ .join(", ");
684
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
685
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
686
+ }
687
+ if (newColumn.isPrimary === true) {
688
+ primaryColumns.push(newColumn);
689
+ // update column in table
690
+ const column = clonedTable.columns.find((column) => column.name === newColumn.name);
691
+ column.isPrimary = true;
692
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
693
+ const columnNames = primaryColumns
694
+ .map((column) => `"${column.name}"`)
695
+ .join(", ");
696
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
697
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
698
+ }
699
+ else {
700
+ const primaryColumn = primaryColumns.find((c) => c.name === newColumn.name);
701
+ primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
702
+ // update column in table
703
+ const column = clonedTable.columns.find((column) => column.name === newColumn.name);
704
+ column.isPrimary = false;
705
+ // if we have another primary keys, we must recreate constraint.
706
+ if (primaryColumns.length > 0) {
707
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
708
+ const columnNames = primaryColumns
709
+ .map((column) => `"${column.name}"`)
710
+ .join(", ");
711
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
712
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
713
+ }
714
+ }
715
+ }
716
+ if (newColumn.isUnique !== oldColumn.isUnique) {
717
+ if (newColumn.isUnique === true) {
718
+ const uniqueConstraint = new TableUnique({
719
+ name: this.connection.namingStrategy.uniqueConstraintName(table, [newColumn.name]),
720
+ columnNames: [newColumn.name],
721
+ });
722
+ clonedTable.uniques.push(uniqueConstraint);
723
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${newColumn.name}")`));
724
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
725
+ }
726
+ else {
727
+ const uniqueConstraint = clonedTable.uniques.find((unique) => {
728
+ return (unique.columnNames.length === 1 &&
729
+ !!unique.columnNames.find((columnName) => columnName === newColumn.name));
730
+ });
731
+ clonedTable.uniques.splice(clonedTable.uniques.indexOf(uniqueConstraint), 1);
732
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
733
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${newColumn.name}")`));
734
+ }
735
+ }
736
+ await this.executeQueries(upQueries, downQueries);
737
+ this.replaceCachedTable(table, clonedTable);
738
+ }
739
+ }
864
740
  /**
865
741
  * Changes a column in the table.
866
742
  */
867
- OracleQueryRunner.prototype.changeColumns = function (tableOrName, changedColumns) {
868
- return tslib_1.__awaiter(this, void 0, void 0, function () {
869
- var _this = this;
870
- return tslib_1.__generator(this, function (_a) {
871
- switch (_a.label) {
872
- case 0: return [4 /*yield*/, PromiseUtils.runInSequence(changedColumns, function (changedColumn) { return _this.changeColumn(tableOrName, changedColumn.oldColumn, changedColumn.newColumn); })];
873
- case 1:
874
- _a.sent();
875
- return [2 /*return*/];
876
- }
877
- });
878
- });
879
- };
743
+ async changeColumns(tableOrName, changedColumns) {
744
+ for (const { oldColumn, newColumn } of changedColumns) {
745
+ await this.changeColumn(tableOrName, oldColumn, newColumn);
746
+ }
747
+ }
880
748
  /**
881
749
  * Drops column in the table.
882
750
  */
883
- OracleQueryRunner.prototype.dropColumn = function (tableOrName, columnOrName) {
884
- return tslib_1.__awaiter(this, void 0, void 0, function () {
885
- var table, _a, column, clonedTable, upQueries, downQueries, pkName, columnNames, tableColumn, pkName_2, columnNames_2, columnIndex, columnCheck, columnUnique;
886
- return tslib_1.__generator(this, function (_b) {
887
- switch (_b.label) {
888
- case 0:
889
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
890
- _a = tableOrName;
891
- return [3 /*break*/, 3];
892
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
893
- case 2:
894
- _a = _b.sent();
895
- _b.label = 3;
896
- case 3:
897
- table = _a;
898
- column = columnOrName instanceof TableColumn ? columnOrName : table.findColumnByName(columnOrName);
899
- if (!column)
900
- throw new Error("Column \"" + columnOrName + "\" was not found in table \"" + table.name + "\"");
901
- clonedTable = table.clone();
902
- upQueries = [];
903
- downQueries = [];
904
- // drop primary key constraint
905
- if (column.isPrimary) {
906
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(function (column) { return column.name; }));
907
- columnNames = clonedTable.primaryColumns.map(function (primaryColumn) { return "\"" + primaryColumn.name + "\""; }).join(", ");
908
- upQueries.push(new Query("ALTER TABLE \"" + clonedTable.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
909
- downQueries.push(new Query("ALTER TABLE \"" + clonedTable.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNames + ")"));
910
- tableColumn = clonedTable.findColumnByName(column.name);
911
- tableColumn.isPrimary = false;
912
- // if primary key have multiple columns, we must recreate it without dropped column
913
- if (clonedTable.primaryColumns.length > 0) {
914
- pkName_2 = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(function (column) { return column.name; }));
915
- columnNames_2 = clonedTable.primaryColumns.map(function (primaryColumn) { return "\"" + primaryColumn.name + "\""; }).join(", ");
916
- upQueries.push(new Query("ALTER TABLE \"" + clonedTable.name + "\" ADD CONSTRAINT \"" + pkName_2 + "\" PRIMARY KEY (" + columnNames_2 + ")"));
917
- downQueries.push(new Query("ALTER TABLE \"" + clonedTable.name + "\" DROP CONSTRAINT \"" + pkName_2 + "\""));
918
- }
919
- }
920
- columnIndex = clonedTable.indices.find(function (index) { return index.columnNames.length === 1 && index.columnNames[0] === column.name; });
921
- if (columnIndex) {
922
- upQueries.push(this.dropIndexSql(columnIndex));
923
- downQueries.push(this.createIndexSql(table, columnIndex));
924
- }
925
- columnCheck = clonedTable.checks.find(function (check) { return !!check.columnNames && check.columnNames.length === 1 && check.columnNames[0] === column.name; });
926
- if (columnCheck) {
927
- clonedTable.checks.splice(clonedTable.checks.indexOf(columnCheck), 1);
928
- upQueries.push(this.dropCheckConstraintSql(table, columnCheck));
929
- downQueries.push(this.createCheckConstraintSql(table, columnCheck));
930
- }
931
- columnUnique = clonedTable.uniques.find(function (unique) { return unique.columnNames.length === 1 && unique.columnNames[0] === column.name; });
932
- if (columnUnique) {
933
- clonedTable.uniques.splice(clonedTable.uniques.indexOf(columnUnique), 1);
934
- upQueries.push(this.dropUniqueConstraintSql(table, columnUnique));
935
- downQueries.push(this.createUniqueConstraintSql(table, columnUnique));
936
- }
937
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP COLUMN \"" + column.name + "\""));
938
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD " + this.buildCreateColumnSql(column)));
939
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
940
- case 4:
941
- _b.sent();
942
- clonedTable.removeColumn(column);
943
- this.replaceCachedTable(table, clonedTable);
944
- return [2 /*return*/];
945
- }
946
- });
947
- });
948
- };
751
+ async dropColumn(tableOrName, columnOrName) {
752
+ const table = InstanceChecker.isTable(tableOrName)
753
+ ? tableOrName
754
+ : await this.getCachedTable(tableOrName);
755
+ const column = InstanceChecker.isTableColumn(columnOrName)
756
+ ? columnOrName
757
+ : table.findColumnByName(columnOrName);
758
+ if (!column)
759
+ throw new TypeORMError(`Column "${columnOrName}" was not found in table ${this.escapePath(table)}`);
760
+ const clonedTable = table.clone();
761
+ const upQueries = [];
762
+ const downQueries = [];
763
+ // drop primary key constraint
764
+ if (column.isPrimary) {
765
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
766
+ const columnNames = clonedTable.primaryColumns
767
+ .map((primaryColumn) => `"${primaryColumn.name}"`)
768
+ .join(", ");
769
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
770
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
771
+ // update column in table
772
+ const tableColumn = clonedTable.findColumnByName(column.name);
773
+ tableColumn.isPrimary = false;
774
+ // if primary key have multiple columns, we must recreate it without dropped column
775
+ if (clonedTable.primaryColumns.length > 0) {
776
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
777
+ const columnNames = clonedTable.primaryColumns
778
+ .map((primaryColumn) => `"${primaryColumn.name}"`)
779
+ .join(", ");
780
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
781
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
782
+ }
783
+ }
784
+ // drop column index
785
+ const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
786
+ index.columnNames[0] === column.name);
787
+ if (columnIndex) {
788
+ upQueries.push(this.dropIndexSql(columnIndex));
789
+ downQueries.push(this.createIndexSql(table, columnIndex));
790
+ }
791
+ // drop column check
792
+ const columnCheck = clonedTable.checks.find((check) => !!check.columnNames &&
793
+ check.columnNames.length === 1 &&
794
+ check.columnNames[0] === column.name);
795
+ if (columnCheck) {
796
+ clonedTable.checks.splice(clonedTable.checks.indexOf(columnCheck), 1);
797
+ upQueries.push(this.dropCheckConstraintSql(table, columnCheck));
798
+ downQueries.push(this.createCheckConstraintSql(table, columnCheck));
799
+ }
800
+ // drop column unique
801
+ const columnUnique = clonedTable.uniques.find((unique) => unique.columnNames.length === 1 &&
802
+ unique.columnNames[0] === column.name);
803
+ if (columnUnique) {
804
+ clonedTable.uniques.splice(clonedTable.uniques.indexOf(columnUnique), 1);
805
+ upQueries.push(this.dropUniqueConstraintSql(table, columnUnique));
806
+ downQueries.push(this.createUniqueConstraintSql(table, columnUnique));
807
+ }
808
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${column.name}"`));
809
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column)}`));
810
+ await this.executeQueries(upQueries, downQueries);
811
+ clonedTable.removeColumn(column);
812
+ this.replaceCachedTable(table, clonedTable);
813
+ }
949
814
  /**
950
815
  * Drops the columns in the table.
951
816
  */
952
- OracleQueryRunner.prototype.dropColumns = function (tableOrName, columns) {
953
- return tslib_1.__awaiter(this, void 0, void 0, function () {
954
- var _this = this;
955
- return tslib_1.__generator(this, function (_a) {
956
- switch (_a.label) {
957
- case 0: return [4 /*yield*/, PromiseUtils.runInSequence(columns, function (column) { return _this.dropColumn(tableOrName, column); })];
958
- case 1:
959
- _a.sent();
960
- return [2 /*return*/];
961
- }
962
- });
963
- });
964
- };
817
+ async dropColumns(tableOrName, columns) {
818
+ for (const column of columns) {
819
+ await this.dropColumn(tableOrName, column);
820
+ }
821
+ }
965
822
  /**
966
823
  * Creates a new primary key.
967
824
  */
968
- OracleQueryRunner.prototype.createPrimaryKey = function (tableOrName, columnNames) {
969
- return tslib_1.__awaiter(this, void 0, void 0, function () {
970
- var table, _a, clonedTable, up, down;
971
- return tslib_1.__generator(this, function (_b) {
972
- switch (_b.label) {
973
- case 0:
974
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
975
- _a = tableOrName;
976
- return [3 /*break*/, 3];
977
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
978
- case 2:
979
- _a = _b.sent();
980
- _b.label = 3;
981
- case 3:
982
- table = _a;
983
- clonedTable = table.clone();
984
- up = this.createPrimaryKeySql(table, columnNames);
985
- // mark columns as primary, because dropPrimaryKeySql build constraint name from table primary column names.
986
- clonedTable.columns.forEach(function (column) {
987
- if (columnNames.find(function (columnName) { return columnName === column.name; }))
988
- column.isPrimary = true;
989
- });
990
- down = this.dropPrimaryKeySql(clonedTable);
991
- return [4 /*yield*/, this.executeQueries(up, down)];
992
- case 4:
993
- _b.sent();
994
- this.replaceCachedTable(table, clonedTable);
995
- return [2 /*return*/];
996
- }
997
- });
825
+ async createPrimaryKey(tableOrName, columnNames) {
826
+ const table = InstanceChecker.isTable(tableOrName)
827
+ ? tableOrName
828
+ : await this.getCachedTable(tableOrName);
829
+ const clonedTable = table.clone();
830
+ const up = this.createPrimaryKeySql(table, columnNames);
831
+ // mark columns as primary, because dropPrimaryKeySql build constraint name from table primary column names.
832
+ clonedTable.columns.forEach((column) => {
833
+ if (columnNames.find((columnName) => columnName === column.name))
834
+ column.isPrimary = true;
998
835
  });
999
- };
836
+ const down = this.dropPrimaryKeySql(clonedTable);
837
+ await this.executeQueries(up, down);
838
+ this.replaceCachedTable(table, clonedTable);
839
+ }
1000
840
  /**
1001
841
  * Updates composite primary keys.
1002
842
  */
1003
- OracleQueryRunner.prototype.updatePrimaryKeys = function (tableOrName, columns) {
1004
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1005
- var table, _a, columnNames, clonedTable, upQueries, downQueries, primaryColumns, pkName_3, columnNamesString_1, pkName, columnNamesString;
1006
- return tslib_1.__generator(this, function (_b) {
1007
- switch (_b.label) {
1008
- case 0:
1009
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1010
- _a = tableOrName;
1011
- return [3 /*break*/, 3];
1012
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1013
- case 2:
1014
- _a = _b.sent();
1015
- _b.label = 3;
1016
- case 3:
1017
- table = _a;
1018
- columnNames = columns.map(function (column) { return column.name; });
1019
- clonedTable = table.clone();
1020
- upQueries = [];
1021
- downQueries = [];
1022
- primaryColumns = clonedTable.primaryColumns;
1023
- if (primaryColumns.length > 0) {
1024
- pkName_3 = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(function (column) { return column.name; }));
1025
- columnNamesString_1 = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
1026
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName_3 + "\""));
1027
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName_3 + "\" PRIMARY KEY (" + columnNamesString_1 + ")"));
1028
- }
1029
- // update columns in table.
1030
- clonedTable.columns
1031
- .filter(function (column) { return columnNames.indexOf(column.name) !== -1; })
1032
- .forEach(function (column) { return column.isPrimary = true; });
1033
- pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames);
1034
- columnNamesString = columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1035
- upQueries.push(new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + pkName + "\" PRIMARY KEY (" + columnNamesString + ")"));
1036
- downQueries.push(new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + pkName + "\""));
1037
- return [4 /*yield*/, this.executeQueries(upQueries, downQueries)];
1038
- case 4:
1039
- _b.sent();
1040
- this.replaceCachedTable(table, clonedTable);
1041
- return [2 /*return*/];
1042
- }
1043
- });
1044
- });
1045
- };
843
+ async updatePrimaryKeys(tableOrName, columns) {
844
+ const table = InstanceChecker.isTable(tableOrName)
845
+ ? tableOrName
846
+ : await this.getCachedTable(tableOrName);
847
+ const columnNames = columns.map((column) => column.name);
848
+ const clonedTable = table.clone();
849
+ const upQueries = [];
850
+ const downQueries = [];
851
+ // if table already have primary columns, we must drop them.
852
+ const primaryColumns = clonedTable.primaryColumns;
853
+ if (primaryColumns.length > 0) {
854
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
855
+ const columnNamesString = primaryColumns
856
+ .map((column) => `"${column.name}"`)
857
+ .join(", ");
858
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
859
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
860
+ }
861
+ // update columns in table.
862
+ clonedTable.columns
863
+ .filter((column) => columnNames.indexOf(column.name) !== -1)
864
+ .forEach((column) => (column.isPrimary = true));
865
+ const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames);
866
+ const columnNamesString = columnNames
867
+ .map((columnName) => `"${columnName}"`)
868
+ .join(", ");
869
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
870
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
871
+ await this.executeQueries(upQueries, downQueries);
872
+ this.replaceCachedTable(table, clonedTable);
873
+ }
1046
874
  /**
1047
875
  * Drops a primary key.
1048
876
  */
1049
- OracleQueryRunner.prototype.dropPrimaryKey = function (tableOrName) {
1050
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1051
- var table, _a, up, down;
1052
- return tslib_1.__generator(this, function (_b) {
1053
- switch (_b.label) {
1054
- case 0:
1055
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1056
- _a = tableOrName;
1057
- return [3 /*break*/, 3];
1058
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1059
- case 2:
1060
- _a = _b.sent();
1061
- _b.label = 3;
1062
- case 3:
1063
- table = _a;
1064
- up = this.dropPrimaryKeySql(table);
1065
- down = this.createPrimaryKeySql(table, table.primaryColumns.map(function (column) { return column.name; }));
1066
- return [4 /*yield*/, this.executeQueries(up, down)];
1067
- case 4:
1068
- _b.sent();
1069
- table.primaryColumns.forEach(function (column) {
1070
- column.isPrimary = false;
1071
- });
1072
- return [2 /*return*/];
1073
- }
1074
- });
877
+ async dropPrimaryKey(tableOrName) {
878
+ const table = InstanceChecker.isTable(tableOrName)
879
+ ? tableOrName
880
+ : await this.getCachedTable(tableOrName);
881
+ const up = this.dropPrimaryKeySql(table);
882
+ const down = this.createPrimaryKeySql(table, table.primaryColumns.map((column) => column.name));
883
+ await this.executeQueries(up, down);
884
+ table.primaryColumns.forEach((column) => {
885
+ column.isPrimary = false;
1075
886
  });
1076
- };
887
+ }
1077
888
  /**
1078
889
  * Creates a new unique constraint.
1079
890
  */
1080
- OracleQueryRunner.prototype.createUniqueConstraint = function (tableOrName, uniqueConstraint) {
1081
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1082
- var table, _a, up, down;
1083
- return tslib_1.__generator(this, function (_b) {
1084
- switch (_b.label) {
1085
- case 0:
1086
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1087
- _a = tableOrName;
1088
- return [3 /*break*/, 3];
1089
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1090
- case 2:
1091
- _a = _b.sent();
1092
- _b.label = 3;
1093
- case 3:
1094
- table = _a;
1095
- // new unique constraint may be passed without name. In this case we generate unique name manually.
1096
- if (!uniqueConstraint.name)
1097
- uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table.name, uniqueConstraint.columnNames);
1098
- up = this.createUniqueConstraintSql(table, uniqueConstraint);
1099
- down = this.dropUniqueConstraintSql(table, uniqueConstraint);
1100
- return [4 /*yield*/, this.executeQueries(up, down)];
1101
- case 4:
1102
- _b.sent();
1103
- table.addUniqueConstraint(uniqueConstraint);
1104
- return [2 /*return*/];
1105
- }
1106
- });
1107
- });
1108
- };
891
+ async createUniqueConstraint(tableOrName, uniqueConstraint) {
892
+ const table = InstanceChecker.isTable(tableOrName)
893
+ ? tableOrName
894
+ : await this.getCachedTable(tableOrName);
895
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
896
+ if (!uniqueConstraint.name)
897
+ uniqueConstraint.name =
898
+ this.connection.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames);
899
+ const up = this.createUniqueConstraintSql(table, uniqueConstraint);
900
+ const down = this.dropUniqueConstraintSql(table, uniqueConstraint);
901
+ await this.executeQueries(up, down);
902
+ table.addUniqueConstraint(uniqueConstraint);
903
+ }
1109
904
  /**
1110
905
  * Creates a new unique constraints.
1111
906
  */
1112
- OracleQueryRunner.prototype.createUniqueConstraints = function (tableOrName, uniqueConstraints) {
1113
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1114
- var promises;
1115
- var _this = this;
1116
- return tslib_1.__generator(this, function (_a) {
1117
- switch (_a.label) {
1118
- case 0:
1119
- promises = uniqueConstraints.map(function (uniqueConstraint) { return _this.createUniqueConstraint(tableOrName, uniqueConstraint); });
1120
- return [4 /*yield*/, Promise.all(promises)];
1121
- case 1:
1122
- _a.sent();
1123
- return [2 /*return*/];
1124
- }
1125
- });
1126
- });
1127
- };
907
+ async createUniqueConstraints(tableOrName, uniqueConstraints) {
908
+ const promises = uniqueConstraints.map((uniqueConstraint) => this.createUniqueConstraint(tableOrName, uniqueConstraint));
909
+ await Promise.all(promises);
910
+ }
1128
911
  /**
1129
912
  * Drops an unique constraint.
1130
913
  */
1131
- OracleQueryRunner.prototype.dropUniqueConstraint = function (tableOrName, uniqueOrName) {
1132
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1133
- var table, _a, uniqueConstraint, up, down;
1134
- return tslib_1.__generator(this, function (_b) {
1135
- switch (_b.label) {
1136
- case 0:
1137
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1138
- _a = tableOrName;
1139
- return [3 /*break*/, 3];
1140
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1141
- case 2:
1142
- _a = _b.sent();
1143
- _b.label = 3;
1144
- case 3:
1145
- table = _a;
1146
- uniqueConstraint = uniqueOrName instanceof TableUnique ? uniqueOrName : table.uniques.find(function (u) { return u.name === uniqueOrName; });
1147
- if (!uniqueConstraint)
1148
- throw new Error("Supplied unique constraint was not found in table " + table.name);
1149
- up = this.dropUniqueConstraintSql(table, uniqueConstraint);
1150
- down = this.createUniqueConstraintSql(table, uniqueConstraint);
1151
- return [4 /*yield*/, this.executeQueries(up, down)];
1152
- case 4:
1153
- _b.sent();
1154
- table.removeUniqueConstraint(uniqueConstraint);
1155
- return [2 /*return*/];
1156
- }
1157
- });
1158
- });
1159
- };
914
+ async dropUniqueConstraint(tableOrName, uniqueOrName) {
915
+ const table = InstanceChecker.isTable(tableOrName)
916
+ ? tableOrName
917
+ : await this.getCachedTable(tableOrName);
918
+ const uniqueConstraint = InstanceChecker.isTableUnique(uniqueOrName)
919
+ ? uniqueOrName
920
+ : table.uniques.find((u) => u.name === uniqueOrName);
921
+ if (!uniqueConstraint)
922
+ throw new TypeORMError(`Supplied unique constraint was not found in table ${table.name}`);
923
+ const up = this.dropUniqueConstraintSql(table, uniqueConstraint);
924
+ const down = this.createUniqueConstraintSql(table, uniqueConstraint);
925
+ await this.executeQueries(up, down);
926
+ table.removeUniqueConstraint(uniqueConstraint);
927
+ }
1160
928
  /**
1161
929
  * Creates an unique constraints.
1162
930
  */
1163
- OracleQueryRunner.prototype.dropUniqueConstraints = function (tableOrName, uniqueConstraints) {
1164
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1165
- var promises;
1166
- var _this = this;
1167
- return tslib_1.__generator(this, function (_a) {
1168
- switch (_a.label) {
1169
- case 0:
1170
- promises = uniqueConstraints.map(function (uniqueConstraint) { return _this.dropUniqueConstraint(tableOrName, uniqueConstraint); });
1171
- return [4 /*yield*/, Promise.all(promises)];
1172
- case 1:
1173
- _a.sent();
1174
- return [2 /*return*/];
1175
- }
1176
- });
1177
- });
1178
- };
931
+ async dropUniqueConstraints(tableOrName, uniqueConstraints) {
932
+ const promises = uniqueConstraints.map((uniqueConstraint) => this.dropUniqueConstraint(tableOrName, uniqueConstraint));
933
+ await Promise.all(promises);
934
+ }
1179
935
  /**
1180
936
  * Creates new check constraint.
1181
937
  */
1182
- OracleQueryRunner.prototype.createCheckConstraint = function (tableOrName, checkConstraint) {
1183
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1184
- var table, _a, up, down;
1185
- return tslib_1.__generator(this, function (_b) {
1186
- switch (_b.label) {
1187
- case 0:
1188
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1189
- _a = tableOrName;
1190
- return [3 /*break*/, 3];
1191
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1192
- case 2:
1193
- _a = _b.sent();
1194
- _b.label = 3;
1195
- case 3:
1196
- table = _a;
1197
- // new unique constraint may be passed without name. In this case we generate unique name manually.
1198
- if (!checkConstraint.name)
1199
- checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression);
1200
- up = this.createCheckConstraintSql(table, checkConstraint);
1201
- down = this.dropCheckConstraintSql(table, checkConstraint);
1202
- return [4 /*yield*/, this.executeQueries(up, down)];
1203
- case 4:
1204
- _b.sent();
1205
- table.addCheckConstraint(checkConstraint);
1206
- return [2 /*return*/];
1207
- }
1208
- });
1209
- });
1210
- };
938
+ async createCheckConstraint(tableOrName, checkConstraint) {
939
+ const table = InstanceChecker.isTable(tableOrName)
940
+ ? tableOrName
941
+ : await this.getCachedTable(tableOrName);
942
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
943
+ if (!checkConstraint.name)
944
+ checkConstraint.name =
945
+ this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression);
946
+ const up = this.createCheckConstraintSql(table, checkConstraint);
947
+ const down = this.dropCheckConstraintSql(table, checkConstraint);
948
+ await this.executeQueries(up, down);
949
+ table.addCheckConstraint(checkConstraint);
950
+ }
1211
951
  /**
1212
952
  * Creates new check constraints.
1213
953
  */
1214
- OracleQueryRunner.prototype.createCheckConstraints = function (tableOrName, checkConstraints) {
1215
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1216
- var promises;
1217
- var _this = this;
1218
- return tslib_1.__generator(this, function (_a) {
1219
- switch (_a.label) {
1220
- case 0:
1221
- promises = checkConstraints.map(function (checkConstraint) { return _this.createCheckConstraint(tableOrName, checkConstraint); });
1222
- return [4 /*yield*/, Promise.all(promises)];
1223
- case 1:
1224
- _a.sent();
1225
- return [2 /*return*/];
1226
- }
1227
- });
1228
- });
1229
- };
954
+ async createCheckConstraints(tableOrName, checkConstraints) {
955
+ const promises = checkConstraints.map((checkConstraint) => this.createCheckConstraint(tableOrName, checkConstraint));
956
+ await Promise.all(promises);
957
+ }
1230
958
  /**
1231
959
  * Drops check constraint.
1232
960
  */
1233
- OracleQueryRunner.prototype.dropCheckConstraint = function (tableOrName, checkOrName) {
1234
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1235
- var table, _a, checkConstraint, up, down;
1236
- return tslib_1.__generator(this, function (_b) {
1237
- switch (_b.label) {
1238
- case 0:
1239
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1240
- _a = tableOrName;
1241
- return [3 /*break*/, 3];
1242
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1243
- case 2:
1244
- _a = _b.sent();
1245
- _b.label = 3;
1246
- case 3:
1247
- table = _a;
1248
- checkConstraint = checkOrName instanceof TableCheck ? checkOrName : table.checks.find(function (c) { return c.name === checkOrName; });
1249
- if (!checkConstraint)
1250
- throw new Error("Supplied check constraint was not found in table " + table.name);
1251
- up = this.dropCheckConstraintSql(table, checkConstraint);
1252
- down = this.createCheckConstraintSql(table, checkConstraint);
1253
- return [4 /*yield*/, this.executeQueries(up, down)];
1254
- case 4:
1255
- _b.sent();
1256
- table.removeCheckConstraint(checkConstraint);
1257
- return [2 /*return*/];
1258
- }
1259
- });
1260
- });
1261
- };
961
+ async dropCheckConstraint(tableOrName, checkOrName) {
962
+ const table = InstanceChecker.isTable(tableOrName)
963
+ ? tableOrName
964
+ : await this.getCachedTable(tableOrName);
965
+ const checkConstraint = InstanceChecker.isTableCheck(checkOrName)
966
+ ? checkOrName
967
+ : table.checks.find((c) => c.name === checkOrName);
968
+ if (!checkConstraint)
969
+ throw new TypeORMError(`Supplied check constraint was not found in table ${table.name}`);
970
+ const up = this.dropCheckConstraintSql(table, checkConstraint);
971
+ const down = this.createCheckConstraintSql(table, checkConstraint);
972
+ await this.executeQueries(up, down);
973
+ table.removeCheckConstraint(checkConstraint);
974
+ }
1262
975
  /**
1263
976
  * Drops check constraints.
1264
977
  */
1265
- OracleQueryRunner.prototype.dropCheckConstraints = function (tableOrName, checkConstraints) {
1266
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1267
- var promises;
1268
- var _this = this;
1269
- return tslib_1.__generator(this, function (_a) {
1270
- switch (_a.label) {
1271
- case 0:
1272
- promises = checkConstraints.map(function (checkConstraint) { return _this.dropCheckConstraint(tableOrName, checkConstraint); });
1273
- return [4 /*yield*/, Promise.all(promises)];
1274
- case 1:
1275
- _a.sent();
1276
- return [2 /*return*/];
1277
- }
1278
- });
1279
- });
1280
- };
978
+ async dropCheckConstraints(tableOrName, checkConstraints) {
979
+ const promises = checkConstraints.map((checkConstraint) => this.dropCheckConstraint(tableOrName, checkConstraint));
980
+ await Promise.all(promises);
981
+ }
1281
982
  /**
1282
983
  * Creates a new exclusion constraint.
1283
984
  */
1284
- OracleQueryRunner.prototype.createExclusionConstraint = function (tableOrName, exclusionConstraint) {
1285
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1286
- return tslib_1.__generator(this, function (_a) {
1287
- throw new Error("Oracle does not support exclusion constraints.");
1288
- });
1289
- });
1290
- };
985
+ async createExclusionConstraint(tableOrName, exclusionConstraint) {
986
+ throw new TypeORMError(`Oracle does not support exclusion constraints.`);
987
+ }
1291
988
  /**
1292
989
  * Creates a new exclusion constraints.
1293
990
  */
1294
- OracleQueryRunner.prototype.createExclusionConstraints = function (tableOrName, exclusionConstraints) {
1295
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1296
- return tslib_1.__generator(this, function (_a) {
1297
- throw new Error("Oracle does not support exclusion constraints.");
1298
- });
1299
- });
1300
- };
991
+ async createExclusionConstraints(tableOrName, exclusionConstraints) {
992
+ throw new TypeORMError(`Oracle does not support exclusion constraints.`);
993
+ }
1301
994
  /**
1302
995
  * Drops exclusion constraint.
1303
996
  */
1304
- OracleQueryRunner.prototype.dropExclusionConstraint = function (tableOrName, exclusionOrName) {
1305
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1306
- return tslib_1.__generator(this, function (_a) {
1307
- throw new Error("Oracle does not support exclusion constraints.");
1308
- });
1309
- });
1310
- };
997
+ async dropExclusionConstraint(tableOrName, exclusionOrName) {
998
+ throw new TypeORMError(`Oracle does not support exclusion constraints.`);
999
+ }
1311
1000
  /**
1312
1001
  * Drops exclusion constraints.
1313
1002
  */
1314
- OracleQueryRunner.prototype.dropExclusionConstraints = function (tableOrName, exclusionConstraints) {
1315
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1316
- return tslib_1.__generator(this, function (_a) {
1317
- throw new Error("Oracle does not support exclusion constraints.");
1318
- });
1319
- });
1320
- };
1003
+ async dropExclusionConstraints(tableOrName, exclusionConstraints) {
1004
+ throw new TypeORMError(`Oracle does not support exclusion constraints.`);
1005
+ }
1321
1006
  /**
1322
1007
  * Creates a new foreign key.
1323
1008
  */
1324
- OracleQueryRunner.prototype.createForeignKey = function (tableOrName, foreignKey) {
1325
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1326
- var table, _a, up, down;
1327
- return tslib_1.__generator(this, function (_b) {
1328
- switch (_b.label) {
1329
- case 0:
1330
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1331
- _a = tableOrName;
1332
- return [3 /*break*/, 3];
1333
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1334
- case 2:
1335
- _a = _b.sent();
1336
- _b.label = 3;
1337
- case 3:
1338
- table = _a;
1339
- // new FK may be passed without name. In this case we generate FK name manually.
1340
- if (!foreignKey.name)
1341
- foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames);
1342
- up = this.createForeignKeySql(table, foreignKey);
1343
- down = this.dropForeignKeySql(table, foreignKey);
1344
- return [4 /*yield*/, this.executeQueries(up, down)];
1345
- case 4:
1346
- _b.sent();
1347
- table.addForeignKey(foreignKey);
1348
- return [2 /*return*/];
1349
- }
1350
- });
1351
- });
1352
- };
1009
+ async createForeignKey(tableOrName, foreignKey) {
1010
+ const table = InstanceChecker.isTable(tableOrName)
1011
+ ? tableOrName
1012
+ : await this.getCachedTable(tableOrName);
1013
+ // new FK may be passed without name. In this case we generate FK name manually.
1014
+ if (!foreignKey.name)
1015
+ foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
1016
+ const up = this.createForeignKeySql(table, foreignKey);
1017
+ const down = this.dropForeignKeySql(table, foreignKey);
1018
+ await this.executeQueries(up, down);
1019
+ table.addForeignKey(foreignKey);
1020
+ }
1353
1021
  /**
1354
1022
  * Creates a new foreign keys.
1355
1023
  */
1356
- OracleQueryRunner.prototype.createForeignKeys = function (tableOrName, foreignKeys) {
1357
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1358
- var promises;
1359
- var _this = this;
1360
- return tslib_1.__generator(this, function (_a) {
1361
- switch (_a.label) {
1362
- case 0:
1363
- promises = foreignKeys.map(function (foreignKey) { return _this.createForeignKey(tableOrName, foreignKey); });
1364
- return [4 /*yield*/, Promise.all(promises)];
1365
- case 1:
1366
- _a.sent();
1367
- return [2 /*return*/];
1368
- }
1369
- });
1370
- });
1371
- };
1024
+ async createForeignKeys(tableOrName, foreignKeys) {
1025
+ const promises = foreignKeys.map((foreignKey) => this.createForeignKey(tableOrName, foreignKey));
1026
+ await Promise.all(promises);
1027
+ }
1372
1028
  /**
1373
1029
  * Drops a foreign key from the table.
1374
1030
  */
1375
- OracleQueryRunner.prototype.dropForeignKey = function (tableOrName, foreignKeyOrName) {
1376
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1377
- var table, _a, foreignKey, up, down;
1378
- return tslib_1.__generator(this, function (_b) {
1379
- switch (_b.label) {
1380
- case 0:
1381
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1382
- _a = tableOrName;
1383
- return [3 /*break*/, 3];
1384
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1385
- case 2:
1386
- _a = _b.sent();
1387
- _b.label = 3;
1388
- case 3:
1389
- table = _a;
1390
- foreignKey = foreignKeyOrName instanceof TableForeignKey ? foreignKeyOrName : table.foreignKeys.find(function (fk) { return fk.name === foreignKeyOrName; });
1391
- if (!foreignKey)
1392
- throw new Error("Supplied foreign key was not found in table " + table.name);
1393
- up = this.dropForeignKeySql(table, foreignKey);
1394
- down = this.createForeignKeySql(table, foreignKey);
1395
- return [4 /*yield*/, this.executeQueries(up, down)];
1396
- case 4:
1397
- _b.sent();
1398
- table.removeForeignKey(foreignKey);
1399
- return [2 /*return*/];
1400
- }
1401
- });
1402
- });
1403
- };
1031
+ async dropForeignKey(tableOrName, foreignKeyOrName) {
1032
+ const table = InstanceChecker.isTable(tableOrName)
1033
+ ? tableOrName
1034
+ : await this.getCachedTable(tableOrName);
1035
+ const foreignKey = InstanceChecker.isTableForeignKey(foreignKeyOrName)
1036
+ ? foreignKeyOrName
1037
+ : table.foreignKeys.find((fk) => fk.name === foreignKeyOrName);
1038
+ if (!foreignKey)
1039
+ throw new TypeORMError(`Supplied foreign key was not found in table ${table.name}`);
1040
+ const up = this.dropForeignKeySql(table, foreignKey);
1041
+ const down = this.createForeignKeySql(table, foreignKey);
1042
+ await this.executeQueries(up, down);
1043
+ table.removeForeignKey(foreignKey);
1044
+ }
1404
1045
  /**
1405
1046
  * Drops a foreign keys from the table.
1406
1047
  */
1407
- OracleQueryRunner.prototype.dropForeignKeys = function (tableOrName, foreignKeys) {
1408
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1409
- var promises;
1410
- var _this = this;
1411
- return tslib_1.__generator(this, function (_a) {
1412
- switch (_a.label) {
1413
- case 0:
1414
- promises = foreignKeys.map(function (foreignKey) { return _this.dropForeignKey(tableOrName, foreignKey); });
1415
- return [4 /*yield*/, Promise.all(promises)];
1416
- case 1:
1417
- _a.sent();
1418
- return [2 /*return*/];
1419
- }
1420
- });
1421
- });
1422
- };
1048
+ async dropForeignKeys(tableOrName, foreignKeys) {
1049
+ const promises = foreignKeys.map((foreignKey) => this.dropForeignKey(tableOrName, foreignKey));
1050
+ await Promise.all(promises);
1051
+ }
1423
1052
  /**
1424
1053
  * Creates a new index.
1425
1054
  */
1426
- OracleQueryRunner.prototype.createIndex = function (tableOrName, index) {
1427
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1428
- var table, _a, up, down;
1429
- return tslib_1.__generator(this, function (_b) {
1430
- switch (_b.label) {
1431
- case 0:
1432
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1433
- _a = tableOrName;
1434
- return [3 /*break*/, 3];
1435
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1436
- case 2:
1437
- _a = _b.sent();
1438
- _b.label = 3;
1439
- case 3:
1440
- table = _a;
1441
- // new index may be passed without name. In this case we generate index name manually.
1442
- if (!index.name)
1443
- index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where);
1444
- up = this.createIndexSql(table, index);
1445
- down = this.dropIndexSql(index);
1446
- return [4 /*yield*/, this.executeQueries(up, down)];
1447
- case 4:
1448
- _b.sent();
1449
- table.addIndex(index);
1450
- return [2 /*return*/];
1451
- }
1452
- });
1453
- });
1454
- };
1055
+ async createIndex(tableOrName, index) {
1056
+ const table = InstanceChecker.isTable(tableOrName)
1057
+ ? tableOrName
1058
+ : await this.getCachedTable(tableOrName);
1059
+ // new index may be passed without name. In this case we generate index name manually.
1060
+ if (!index.name)
1061
+ index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where);
1062
+ const up = this.createIndexSql(table, index);
1063
+ const down = this.dropIndexSql(index);
1064
+ await this.executeQueries(up, down);
1065
+ table.addIndex(index);
1066
+ }
1455
1067
  /**
1456
1068
  * Creates a new indices
1457
1069
  */
1458
- OracleQueryRunner.prototype.createIndices = function (tableOrName, indices) {
1459
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1460
- var promises;
1461
- var _this = this;
1462
- return tslib_1.__generator(this, function (_a) {
1463
- switch (_a.label) {
1464
- case 0:
1465
- promises = indices.map(function (index) { return _this.createIndex(tableOrName, index); });
1466
- return [4 /*yield*/, Promise.all(promises)];
1467
- case 1:
1468
- _a.sent();
1469
- return [2 /*return*/];
1470
- }
1471
- });
1472
- });
1473
- };
1070
+ async createIndices(tableOrName, indices) {
1071
+ const promises = indices.map((index) => this.createIndex(tableOrName, index));
1072
+ await Promise.all(promises);
1073
+ }
1474
1074
  /**
1475
1075
  * Drops an index from the table.
1476
1076
  */
1477
- OracleQueryRunner.prototype.dropIndex = function (tableOrName, indexOrName) {
1478
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1479
- var table, _a, index, up, down;
1480
- return tslib_1.__generator(this, function (_b) {
1481
- switch (_b.label) {
1482
- case 0:
1483
- if (!(tableOrName instanceof Table)) return [3 /*break*/, 1];
1484
- _a = tableOrName;
1485
- return [3 /*break*/, 3];
1486
- case 1: return [4 /*yield*/, this.getCachedTable(tableOrName)];
1487
- case 2:
1488
- _a = _b.sent();
1489
- _b.label = 3;
1490
- case 3:
1491
- table = _a;
1492
- index = indexOrName instanceof TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
1493
- if (!index)
1494
- throw new Error("Supplied index was not found in table " + table.name);
1495
- up = this.dropIndexSql(index);
1496
- down = this.createIndexSql(table, index);
1497
- return [4 /*yield*/, this.executeQueries(up, down)];
1498
- case 4:
1499
- _b.sent();
1500
- table.removeIndex(index);
1501
- return [2 /*return*/];
1502
- }
1503
- });
1504
- });
1505
- };
1077
+ async dropIndex(tableOrName, indexOrName) {
1078
+ const table = InstanceChecker.isTable(tableOrName)
1079
+ ? tableOrName
1080
+ : await this.getCachedTable(tableOrName);
1081
+ const index = InstanceChecker.isTableIndex(indexOrName)
1082
+ ? indexOrName
1083
+ : table.indices.find((i) => i.name === indexOrName);
1084
+ if (!index)
1085
+ throw new TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
1086
+ const up = this.dropIndexSql(index);
1087
+ const down = this.createIndexSql(table, index);
1088
+ await this.executeQueries(up, down);
1089
+ table.removeIndex(index);
1090
+ }
1506
1091
  /**
1507
1092
  * Drops an indices from the table.
1508
1093
  */
1509
- OracleQueryRunner.prototype.dropIndices = function (tableOrName, indices) {
1510
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1511
- var promises;
1512
- var _this = this;
1513
- return tslib_1.__generator(this, function (_a) {
1514
- switch (_a.label) {
1515
- case 0:
1516
- promises = indices.map(function (index) { return _this.dropIndex(tableOrName, index); });
1517
- return [4 /*yield*/, Promise.all(promises)];
1518
- case 1:
1519
- _a.sent();
1520
- return [2 /*return*/];
1521
- }
1522
- });
1523
- });
1524
- };
1094
+ async dropIndices(tableOrName, indices) {
1095
+ const promises = indices.map((index) => this.dropIndex(tableOrName, index));
1096
+ await Promise.all(promises);
1097
+ }
1525
1098
  /**
1526
1099
  * Clears all table contents.
1527
1100
  * Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.
1528
1101
  */
1529
- OracleQueryRunner.prototype.clearTable = function (tableName) {
1530
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1531
- return tslib_1.__generator(this, function (_a) {
1532
- switch (_a.label) {
1533
- case 0: return [4 /*yield*/, this.query("TRUNCATE TABLE \"" + tableName + "\"")];
1534
- case 1:
1535
- _a.sent();
1536
- return [2 /*return*/];
1537
- }
1538
- });
1539
- });
1540
- };
1102
+ async clearTable(tableName) {
1103
+ await this.query(`TRUNCATE TABLE ${this.escapePath(tableName)}`);
1104
+ }
1541
1105
  /**
1542
1106
  * Removes all tables from the currently connected database.
1543
1107
  */
1544
- OracleQueryRunner.prototype.clearDatabase = function () {
1545
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1546
- var dropViewsQuery, dropViewQueries, dropTablesQuery, dropTableQueries, error_1, rollbackError_1;
1547
- var _this = this;
1548
- return tslib_1.__generator(this, function (_a) {
1549
- switch (_a.label) {
1550
- case 0: return [4 /*yield*/, this.startTransaction()];
1551
- case 1:
1552
- _a.sent();
1553
- _a.label = 2;
1554
- case 2:
1555
- _a.trys.push([2, 8, , 13]);
1556
- dropViewsQuery = "SELECT 'DROP VIEW \"' || VIEW_NAME || '\"' AS \"query\" FROM \"USER_VIEWS\"";
1557
- return [4 /*yield*/, this.query(dropViewsQuery)];
1558
- case 3:
1559
- dropViewQueries = _a.sent();
1560
- return [4 /*yield*/, Promise.all(dropViewQueries.map(function (query) { return _this.query(query["query"]); }))];
1561
- case 4:
1562
- _a.sent();
1563
- dropTablesQuery = "SELECT 'DROP TABLE \"' || TABLE_NAME || '\" CASCADE CONSTRAINTS' AS \"query\" FROM \"USER_TABLES\"";
1564
- return [4 /*yield*/, this.query(dropTablesQuery)];
1565
- case 5:
1566
- dropTableQueries = _a.sent();
1567
- return [4 /*yield*/, Promise.all(dropTableQueries.map(function (query) { return _this.query(query["query"]); }))];
1568
- case 6:
1569
- _a.sent();
1570
- return [4 /*yield*/, this.commitTransaction()];
1571
- case 7:
1572
- _a.sent();
1573
- return [3 /*break*/, 13];
1574
- case 8:
1575
- error_1 = _a.sent();
1576
- _a.label = 9;
1577
- case 9:
1578
- _a.trys.push([9, 11, , 12]);
1579
- return [4 /*yield*/, this.rollbackTransaction()];
1580
- case 10:
1581
- _a.sent();
1582
- return [3 /*break*/, 12];
1583
- case 11:
1584
- rollbackError_1 = _a.sent();
1585
- return [3 /*break*/, 12];
1586
- case 12: throw error_1;
1587
- case 13: return [2 /*return*/];
1588
- }
1589
- });
1590
- });
1591
- };
1108
+ async clearDatabase() {
1109
+ const isAnotherTransactionActive = this.isTransactionActive;
1110
+ if (!isAnotherTransactionActive)
1111
+ await this.startTransaction();
1112
+ try {
1113
+ // drop views
1114
+ const dropViewsQuery = `SELECT 'DROP VIEW "' || VIEW_NAME || '"' AS "query" FROM "USER_VIEWS"`;
1115
+ const dropViewQueries = await this.query(dropViewsQuery);
1116
+ await Promise.all(dropViewQueries.map((query) => this.query(query["query"])));
1117
+ // drop materialized views
1118
+ const dropMatViewsQuery = `SELECT 'DROP MATERIALIZED VIEW "' || MVIEW_NAME || '"' AS "query" FROM "USER_MVIEWS"`;
1119
+ const dropMatViewQueries = await this.query(dropMatViewsQuery);
1120
+ await Promise.all(dropMatViewQueries.map((query) => this.query(query["query"])));
1121
+ // drop tables
1122
+ const dropTablesQuery = `SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS' AS "query" FROM "USER_TABLES"`;
1123
+ const dropTableQueries = await this.query(dropTablesQuery);
1124
+ await Promise.all(dropTableQueries.map((query) => this.query(query["query"])));
1125
+ if (!isAnotherTransactionActive)
1126
+ await this.commitTransaction();
1127
+ }
1128
+ catch (error) {
1129
+ try {
1130
+ // we throw original error even if rollback thrown an error
1131
+ if (!isAnotherTransactionActive)
1132
+ await this.rollbackTransaction();
1133
+ }
1134
+ catch (rollbackError) { }
1135
+ throw error;
1136
+ }
1137
+ }
1592
1138
  // -------------------------------------------------------------------------
1593
1139
  // Protected Methods
1594
1140
  // -------------------------------------------------------------------------
1595
- OracleQueryRunner.prototype.loadViews = function (viewNames) {
1596
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1597
- var hasTable, viewNamesString, query, dbViews;
1598
- return tslib_1.__generator(this, function (_a) {
1599
- switch (_a.label) {
1600
- case 0: return [4 /*yield*/, this.hasTable(this.getTypeormMetadataTableName())];
1601
- case 1:
1602
- hasTable = _a.sent();
1603
- if (!hasTable)
1604
- return [2 /*return*/, Promise.resolve([])];
1605
- viewNamesString = viewNames.map(function (name) { return "'" + name + "'"; }).join(", ");
1606
- query = "SELECT \"T\".* FROM \"" + this.getTypeormMetadataTableName() + "\" \"T\" INNER JOIN \"USER_VIEWS\" \"V\" ON \"V\".\"VIEW_NAME\" = \"T\".\"name\" WHERE \"T\".\"type\" = 'VIEW'";
1607
- if (viewNamesString.length > 0)
1608
- query += " AND \"T\".\"name\" IN (" + viewNamesString + ")";
1609
- return [4 /*yield*/, this.query(query)];
1610
- case 2:
1611
- dbViews = _a.sent();
1612
- return [2 /*return*/, dbViews.map(function (dbView) {
1613
- var view = new View();
1614
- view.name = dbView["name"];
1615
- view.expression = dbView["value"];
1616
- return view;
1617
- })];
1618
- }
1619
- });
1141
+ async loadViews(viewNames) {
1142
+ const hasTable = await this.hasTable(this.getTypeormMetadataTableName());
1143
+ if (!hasTable) {
1144
+ return [];
1145
+ }
1146
+ if (!viewNames) {
1147
+ viewNames = [];
1148
+ }
1149
+ const currentDatabase = await this.getCurrentDatabase();
1150
+ const currentSchema = await this.getCurrentSchema();
1151
+ const viewNamesString = viewNames
1152
+ .map((name) => "'" + name + "'")
1153
+ .join(", ");
1154
+ let query = `SELECT "T".* FROM ${this.escapePath(this.getTypeormMetadataTableName())} "T" ` +
1155
+ `INNER JOIN "USER_OBJECTS" "O" ON "O"."OBJECT_NAME" = "T"."name" AND "O"."OBJECT_TYPE" IN ( 'MATERIALIZED VIEW', 'VIEW' ) ` +
1156
+ `WHERE "T"."type" IN ( '${MetadataTableType.MATERIALIZED_VIEW}', '${MetadataTableType.VIEW}' )`;
1157
+ if (viewNamesString.length > 0)
1158
+ query += ` AND "T"."name" IN (${viewNamesString})`;
1159
+ const dbViews = await this.query(query);
1160
+ return dbViews.map((dbView) => {
1161
+ const parsedName = this.driver.parseTableName(dbView["name"]);
1162
+ const view = new View();
1163
+ view.database =
1164
+ parsedName.database || dbView["database"] || currentDatabase;
1165
+ view.schema = parsedName.schema || dbView["schema"] || currentSchema;
1166
+ view.name = parsedName.tableName;
1167
+ view.expression = dbView["value"];
1168
+ view.materialized =
1169
+ dbView["type"] === MetadataTableType.MATERIALIZED_VIEW;
1170
+ return view;
1620
1171
  });
1621
- };
1172
+ }
1622
1173
  /**
1623
1174
  * Loads all tables (with given names) from the database and creates a Table from them.
1624
1175
  */
1625
- OracleQueryRunner.prototype.loadTables = function (tableNames) {
1626
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1627
- var tableNamesString, tablesSql, columnsSql, indicesSql, foreignKeysSql, constraintsSql, _a, dbTables, dbColumns, dbIndices, dbForeignKeys, dbConstraints;
1628
- var _this = this;
1629
- return tslib_1.__generator(this, function (_b) {
1630
- switch (_b.label) {
1631
- case 0:
1632
- // if no tables given then no need to proceed
1633
- if (!tableNames || !tableNames.length)
1634
- return [2 /*return*/, []];
1635
- tableNamesString = tableNames.map(function (name) { return "'" + name + "'"; }).join(", ");
1636
- tablesSql = "SELECT * FROM \"USER_TABLES\" WHERE \"TABLE_NAME\" IN (" + tableNamesString + ")";
1637
- columnsSql = "SELECT * FROM \"USER_TAB_COLS\" WHERE \"TABLE_NAME\" IN (" + tableNamesString + ")";
1638
- indicesSql = "SELECT \"IND\".\"INDEX_NAME\", \"IND\".\"TABLE_NAME\", \"IND\".\"UNIQUENESS\", " +
1639
- "LISTAGG (\"COL\".\"COLUMN_NAME\", ',') WITHIN GROUP (ORDER BY \"COL\".\"COLUMN_NAME\") AS \"COLUMN_NAMES\" " +
1640
- "FROM \"USER_INDEXES\" \"IND\" " +
1641
- "INNER JOIN \"USER_IND_COLUMNS\" \"COL\" ON \"COL\".\"INDEX_NAME\" = \"IND\".\"INDEX_NAME\" " +
1642
- "LEFT JOIN \"USER_CONSTRAINTS\" \"CON\" ON \"CON\".\"CONSTRAINT_NAME\" = \"IND\".\"INDEX_NAME\" " +
1643
- ("WHERE \"IND\".\"TABLE_NAME\" IN (" + tableNamesString + ") AND \"CON\".\"CONSTRAINT_NAME\" IS NULL ") +
1644
- "GROUP BY \"IND\".\"INDEX_NAME\", \"IND\".\"TABLE_NAME\", \"IND\".\"UNIQUENESS\"";
1645
- foreignKeysSql = "SELECT \"C\".\"CONSTRAINT_NAME\", \"C\".\"TABLE_NAME\", \"COL\".\"COLUMN_NAME\", \"REF_COL\".\"TABLE_NAME\" AS \"REFERENCED_TABLE_NAME\", " +
1646
- "\"REF_COL\".\"COLUMN_NAME\" AS \"REFERENCED_COLUMN_NAME\", \"C\".\"DELETE_RULE\" AS \"ON_DELETE\" " +
1647
- "FROM \"USER_CONSTRAINTS\" \"C\" " +
1648
- "INNER JOIN \"USER_CONS_COLUMNS\" \"COL\" ON \"COL\".\"OWNER\" = \"C\".\"OWNER\" AND \"COL\".\"CONSTRAINT_NAME\" = \"C\".\"CONSTRAINT_NAME\" " +
1649
- "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\" " +
1650
- ("WHERE \"C\".\"TABLE_NAME\" IN (" + tableNamesString + ") AND \"C\".\"CONSTRAINT_TYPE\" = 'R'");
1651
- constraintsSql = "SELECT \"C\".\"CONSTRAINT_NAME\", \"C\".\"CONSTRAINT_TYPE\", \"C\".\"TABLE_NAME\", \"COL\".\"COLUMN_NAME\", \"C\".\"SEARCH_CONDITION\" " +
1652
- "FROM \"USER_CONSTRAINTS\" \"C\" " +
1653
- "INNER JOIN \"USER_CONS_COLUMNS\" \"COL\" ON \"COL\".\"OWNER\" = \"C\".\"OWNER\" AND \"COL\".\"CONSTRAINT_NAME\" = \"C\".\"CONSTRAINT_NAME\" " +
1654
- ("WHERE \"C\".\"TABLE_NAME\" IN (" + tableNamesString + ") AND \"C\".\"CONSTRAINT_TYPE\" IN ('C', 'U', 'P') AND \"C\".\"GENERATED\" = 'USER NAME'");
1655
- return [4 /*yield*/, Promise.all([
1656
- this.query(tablesSql),
1657
- this.query(columnsSql),
1658
- this.query(indicesSql),
1659
- this.query(foreignKeysSql),
1660
- this.query(constraintsSql),
1661
- ])];
1662
- case 1:
1663
- _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];
1664
- // if tables were not found in the db, no need to proceed
1665
- if (!dbTables.length)
1666
- return [2 /*return*/, []];
1667
- // create tables for loaded tables
1668
- return [2 /*return*/, dbTables.map(function (dbTable) {
1669
- var table = new Table();
1670
- table.name = dbTable["TABLE_NAME"];
1671
- // create columns from the loaded columns
1672
- table.columns = dbColumns
1673
- .filter(function (dbColumn) { return dbColumn["TABLE_NAME"] === table.name; })
1674
- .map(function (dbColumn) {
1675
- var columnConstraints = dbConstraints.filter(function (dbConstraint) { return dbConstraint["TABLE_NAME"] === table.name && dbConstraint["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]; });
1676
- var uniqueConstraint = columnConstraints.find(function (constraint) { return constraint["CONSTRAINT_TYPE"] === "U"; });
1677
- var isConstraintComposite = uniqueConstraint
1678
- ? !!dbConstraints.find(function (dbConstraint) { return dbConstraint["CONSTRAINT_TYPE"] === "U"
1679
- && dbConstraint["CONSTRAINT_NAME"] === uniqueConstraint["CONSTRAINT_NAME"]
1680
- && dbConstraint["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; })
1681
- : false;
1682
- var isUnique = !!uniqueConstraint && !isConstraintComposite;
1683
- var isPrimary = !!columnConstraints.find(function (constraint) { return constraint["CONSTRAINT_TYPE"] === "P"; });
1684
- var tableColumn = new TableColumn();
1685
- tableColumn.name = dbColumn["COLUMN_NAME"];
1686
- tableColumn.type = dbColumn["DATA_TYPE"].toLowerCase();
1687
- if (tableColumn.type.indexOf("(") !== -1)
1688
- tableColumn.type = tableColumn.type.replace(/\([0-9]*\)/, "");
1689
- // check only columns that have length property
1690
- if (_this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1) {
1691
- var length_1 = tableColumn.type === "raw" ? dbColumn["DATA_LENGTH"] : dbColumn["CHAR_COL_DECL_LENGTH"];
1692
- tableColumn.length = length_1 && !_this.isDefaultColumnLength(table, tableColumn, length_1) ? length_1.toString() : "";
1693
- }
1694
- if (tableColumn.type === "number" || tableColumn.type === "float") {
1695
- if (dbColumn["DATA_PRECISION"] !== null && !_this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_PRECISION"]))
1696
- tableColumn.precision = dbColumn["DATA_PRECISION"];
1697
- if (dbColumn["DATA_SCALE"] !== null && !_this.isDefaultColumnScale(table, tableColumn, dbColumn["DATA_SCALE"]))
1698
- tableColumn.scale = dbColumn["DATA_SCALE"];
1699
- }
1700
- else if ((tableColumn.type === "timestamp"
1701
- || tableColumn.type === "timestamp with time zone"
1702
- || tableColumn.type === "timestamp with local time zone") && dbColumn["DATA_SCALE"] !== null) {
1703
- tableColumn.precision = !_this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_SCALE"]) ? dbColumn["DATA_SCALE"] : undefined;
1704
- }
1705
- tableColumn.default = dbColumn["DATA_DEFAULT"] !== null
1706
- && dbColumn["DATA_DEFAULT"] !== undefined
1707
- && dbColumn["DATA_DEFAULT"].trim() !== "NULL" ? tableColumn.default = dbColumn["DATA_DEFAULT"].trim() : undefined;
1708
- tableColumn.isNullable = dbColumn["NULLABLE"] === "Y";
1709
- tableColumn.isUnique = isUnique;
1710
- tableColumn.isPrimary = isPrimary;
1711
- tableColumn.isGenerated = dbColumn["IDENTITY_COLUMN"] === "YES";
1712
- if (tableColumn.isGenerated) {
1713
- tableColumn.generationStrategy = "increment";
1714
- tableColumn.default = undefined;
1715
- }
1716
- tableColumn.comment = ""; // todo
1717
- return tableColumn;
1718
- });
1719
- // find unique constraints of table, group them by constraint name and build TableUnique.
1720
- var tableUniqueConstraints = OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
1721
- return dbConstraint["TABLE_NAME"] === table.name && dbConstraint["CONSTRAINT_TYPE"] === "U";
1722
- }), function (dbConstraint) { return dbConstraint["CONSTRAINT_NAME"]; });
1723
- table.uniques = tableUniqueConstraints.map(function (constraint) {
1724
- var uniques = dbConstraints.filter(function (dbC) { return dbC["CONSTRAINT_NAME"] === constraint["CONSTRAINT_NAME"]; });
1725
- return new TableUnique({
1726
- name: constraint["CONSTRAINT_NAME"],
1727
- columnNames: uniques.map(function (u) { return u["COLUMN_NAME"]; })
1728
- });
1729
- });
1730
- // find check constraints of table, group them by constraint name and build TableCheck.
1731
- var tableCheckConstraints = OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
1732
- return dbConstraint["TABLE_NAME"] === table.name && dbConstraint["CONSTRAINT_TYPE"] === "C";
1733
- }), function (dbConstraint) { return dbConstraint["CONSTRAINT_NAME"]; });
1734
- table.checks = tableCheckConstraints.map(function (constraint) {
1735
- var checks = dbConstraints.filter(function (dbC) { return dbC["CONSTRAINT_NAME"] === constraint["CONSTRAINT_NAME"]; });
1736
- return new TableCheck({
1737
- name: constraint["CONSTRAINT_NAME"],
1738
- columnNames: checks.map(function (c) { return c["COLUMN_NAME"]; }),
1739
- expression: constraint["SEARCH_CONDITION"]
1740
- });
1741
- });
1742
- // find foreign key constraints of table, group them by constraint name and build TableForeignKey.
1743
- var tableForeignKeyConstraints = OrmUtils.uniq(dbForeignKeys.filter(function (dbForeignKey) {
1744
- return dbForeignKey["TABLE_NAME"] === table.name;
1745
- }), function (dbForeignKey) { return dbForeignKey["CONSTRAINT_NAME"]; });
1746
- table.foreignKeys = tableForeignKeyConstraints.map(function (dbForeignKey) {
1747
- var foreignKeys = dbForeignKeys.filter(function (dbFk) { return dbFk["CONSTRAINT_NAME"] === dbForeignKey["CONSTRAINT_NAME"]; });
1748
- return new TableForeignKey({
1749
- name: dbForeignKey["CONSTRAINT_NAME"],
1750
- columnNames: foreignKeys.map(function (dbFk) { return dbFk["COLUMN_NAME"]; }),
1751
- referencedTableName: dbForeignKey["REFERENCED_TABLE_NAME"],
1752
- referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["REFERENCED_COLUMN_NAME"]; }),
1753
- onDelete: dbForeignKey["ON_DELETE"],
1754
- onUpdate: "NO ACTION",
1755
- });
1756
- });
1757
- // create TableIndex objects from the loaded indices
1758
- table.indices = dbIndices
1759
- .filter(function (dbIndex) { return dbIndex["TABLE_NAME"] === table.name; })
1760
- .map(function (dbIndex) {
1761
- return new TableIndex({
1762
- name: dbIndex["INDEX_NAME"],
1763
- columnNames: dbIndex["COLUMN_NAMES"].split(","),
1764
- isUnique: dbIndex["UNIQUENESS"] === "UNIQUE"
1765
- });
1766
- });
1767
- return table;
1768
- })];
1176
+ async loadTables(tableNames) {
1177
+ if (tableNames && tableNames.length === 0) {
1178
+ return [];
1179
+ }
1180
+ const dbTables = [];
1181
+ const currentSchema = await this.getCurrentSchema();
1182
+ const currentDatabase = await this.getCurrentDatabase();
1183
+ if (!tableNames) {
1184
+ const tablesSql = `SELECT "TABLE_NAME", "OWNER" FROM "ALL_TABLES"`;
1185
+ dbTables.push(...(await this.query(tablesSql)));
1186
+ }
1187
+ else {
1188
+ const tablesCondition = tableNames
1189
+ .map((tableName) => {
1190
+ const parts = tableName.split(".");
1191
+ if (parts.length >= 3) {
1192
+ const [, schema, name] = parts;
1193
+ return `("OWNER" = '${schema}' AND "TABLE_NAME" = '${name}')`;
1769
1194
  }
1195
+ else if (parts.length === 2) {
1196
+ const [schema, name] = parts;
1197
+ return `("OWNER" = '${schema}' AND "TABLE_NAME" = '${name}')`;
1198
+ }
1199
+ else if (parts.length === 1) {
1200
+ const [name] = parts;
1201
+ return `("TABLE_NAME" = '${name}')`;
1202
+ }
1203
+ else {
1204
+ return `(1=0)`;
1205
+ }
1206
+ })
1207
+ .join(" OR ");
1208
+ const tablesSql = `SELECT "TABLE_NAME", "OWNER" FROM "ALL_TABLES" WHERE ${tablesCondition}`;
1209
+ dbTables.push(...(await this.query(tablesSql)));
1210
+ }
1211
+ // if tables were not found in the db, no need to proceed
1212
+ if (dbTables.length === 0) {
1213
+ return [];
1214
+ }
1215
+ // load tables, columns, indices and foreign keys
1216
+ const columnsCondition = dbTables
1217
+ .map(({ TABLE_NAME, OWNER }) => {
1218
+ return `("C"."OWNER" = '${OWNER}' AND "C"."TABLE_NAME" = '${TABLE_NAME}')`;
1219
+ })
1220
+ .join(" OR ");
1221
+ const columnsSql = `SELECT * FROM "ALL_TAB_COLS" "C" WHERE (${columnsCondition})`;
1222
+ const indicesSql = `SELECT "C"."INDEX_NAME", "C"."OWNER", "C"."TABLE_NAME", "C"."UNIQUENESS", ` +
1223
+ `LISTAGG ("COL"."COLUMN_NAME", ',') WITHIN GROUP (ORDER BY "COL"."COLUMN_NAME") AS "COLUMN_NAMES" ` +
1224
+ `FROM "ALL_INDEXES" "C" ` +
1225
+ `INNER JOIN "ALL_IND_COLUMNS" "COL" ON "COL"."INDEX_OWNER" = "C"."OWNER" AND "COL"."INDEX_NAME" = "C"."INDEX_NAME" ` +
1226
+ `LEFT JOIN "ALL_CONSTRAINTS" "CON" ON "CON"."OWNER" = "C"."OWNER" AND "CON"."CONSTRAINT_NAME" = "C"."INDEX_NAME" ` +
1227
+ `WHERE (${columnsCondition}) AND "CON"."CONSTRAINT_NAME" IS NULL ` +
1228
+ `GROUP BY "C"."INDEX_NAME", "C"."OWNER", "C"."TABLE_NAME", "C"."UNIQUENESS"`;
1229
+ const foreignKeysSql = `SELECT "C"."CONSTRAINT_NAME", "C"."OWNER", "C"."TABLE_NAME", "COL"."COLUMN_NAME", "REF_COL"."TABLE_NAME" AS "REFERENCED_TABLE_NAME", ` +
1230
+ `"REF_COL"."COLUMN_NAME" AS "REFERENCED_COLUMN_NAME", "C"."DELETE_RULE" AS "ON_DELETE" ` +
1231
+ `FROM "ALL_CONSTRAINTS" "C" ` +
1232
+ `INNER JOIN "ALL_CONS_COLUMNS" "COL" ON "COL"."OWNER" = "C"."OWNER" AND "COL"."CONSTRAINT_NAME" = "C"."CONSTRAINT_NAME" ` +
1233
+ `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" ` +
1234
+ `WHERE (${columnsCondition}) AND "C"."CONSTRAINT_TYPE" = 'R'`;
1235
+ const constraintsSql = `SELECT "C"."CONSTRAINT_NAME", "C"."CONSTRAINT_TYPE", "C"."OWNER", "C"."TABLE_NAME", "COL"."COLUMN_NAME", "C"."SEARCH_CONDITION" ` +
1236
+ `FROM "ALL_CONSTRAINTS" "C" ` +
1237
+ `INNER JOIN "ALL_CONS_COLUMNS" "COL" ON "COL"."OWNER" = "C"."OWNER" AND "COL"."CONSTRAINT_NAME" = "C"."CONSTRAINT_NAME" ` +
1238
+ `WHERE (${columnsCondition}) AND "C"."CONSTRAINT_TYPE" IN ('C', 'U', 'P') AND "C"."GENERATED" = 'USER NAME'`;
1239
+ const [dbColumns, dbIndices, dbForeignKeys, dbConstraints,] = await Promise.all([
1240
+ this.query(columnsSql),
1241
+ this.query(indicesSql),
1242
+ this.query(foreignKeysSql),
1243
+ this.query(constraintsSql),
1244
+ ]);
1245
+ // create tables for loaded tables
1246
+ return dbTables.map((dbTable) => {
1247
+ const table = new Table();
1248
+ const owner = dbTable["OWNER"] === currentSchema &&
1249
+ (!this.driver.options.schema ||
1250
+ this.driver.options.schema === currentSchema)
1251
+ ? undefined
1252
+ : dbTable["OWNER"];
1253
+ table.database = currentDatabase;
1254
+ table.schema = dbTable["OWNER"];
1255
+ table.name = this.driver.buildTableName(dbTable["TABLE_NAME"], owner);
1256
+ // create columns from the loaded columns
1257
+ table.columns = dbColumns
1258
+ .filter((dbColumn) => dbColumn["OWNER"] === dbTable["OWNER"] &&
1259
+ dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"])
1260
+ .map((dbColumn) => {
1261
+ const columnConstraints = dbConstraints.filter((dbConstraint) => dbConstraint["OWNER"] === dbColumn["OWNER"] &&
1262
+ dbConstraint["TABLE_NAME"] ===
1263
+ dbColumn["TABLE_NAME"] &&
1264
+ dbConstraint["COLUMN_NAME"] ===
1265
+ dbColumn["COLUMN_NAME"]);
1266
+ const uniqueConstraints = columnConstraints.filter((constraint) => constraint["CONSTRAINT_TYPE"] === "U");
1267
+ const isConstraintComposite = uniqueConstraints.every((uniqueConstraint) => {
1268
+ return dbConstraints.some((dbConstraint) => dbConstraint["OWNER"] ===
1269
+ dbColumn["OWNER"] &&
1270
+ dbConstraint["TABLE_NAME"] ===
1271
+ dbColumn["TABLE_NAME"] &&
1272
+ dbConstraint["COLUMN_NAME"] !==
1273
+ dbColumn["COLUMN_NAME"] &&
1274
+ dbConstraint["CONSTRAINT_NAME"] ===
1275
+ uniqueConstraint["CONSTRAINT_NAME"] &&
1276
+ dbConstraint["CONSTRAINT_TYPE"] === "U");
1277
+ });
1278
+ const isPrimary = !!columnConstraints.find((constraint) => constraint["CONSTRAINT_TYPE"] === "P");
1279
+ const tableColumn = new TableColumn();
1280
+ tableColumn.name = dbColumn["COLUMN_NAME"];
1281
+ tableColumn.type = dbColumn["DATA_TYPE"].toLowerCase();
1282
+ if (tableColumn.type.indexOf("(") !== -1)
1283
+ tableColumn.type = tableColumn.type.replace(/\([0-9]*\)/, "");
1284
+ // check only columns that have length property
1285
+ if (this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1) {
1286
+ const length = tableColumn.type === "raw"
1287
+ ? dbColumn["DATA_LENGTH"]
1288
+ : dbColumn["CHAR_COL_DECL_LENGTH"];
1289
+ tableColumn.length =
1290
+ length &&
1291
+ !this.isDefaultColumnLength(table, tableColumn, length)
1292
+ ? length.toString()
1293
+ : "";
1294
+ }
1295
+ if (tableColumn.type === "number" ||
1296
+ tableColumn.type === "float") {
1297
+ if (dbColumn["DATA_PRECISION"] !== null &&
1298
+ !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_PRECISION"]))
1299
+ tableColumn.precision = dbColumn["DATA_PRECISION"];
1300
+ if (dbColumn["DATA_SCALE"] !== null &&
1301
+ !this.isDefaultColumnScale(table, tableColumn, dbColumn["DATA_SCALE"]))
1302
+ tableColumn.scale = dbColumn["DATA_SCALE"];
1303
+ }
1304
+ else if ((tableColumn.type === "timestamp" ||
1305
+ tableColumn.type === "timestamp with time zone" ||
1306
+ tableColumn.type ===
1307
+ "timestamp with local time zone") &&
1308
+ dbColumn["DATA_SCALE"] !== null) {
1309
+ tableColumn.precision = !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["DATA_SCALE"])
1310
+ ? dbColumn["DATA_SCALE"]
1311
+ : undefined;
1312
+ }
1313
+ tableColumn.default =
1314
+ dbColumn["DATA_DEFAULT"] !== null &&
1315
+ dbColumn["DATA_DEFAULT"] !== undefined &&
1316
+ dbColumn["DATA_DEFAULT"].trim() !== "NULL"
1317
+ ? (tableColumn.default =
1318
+ dbColumn["DATA_DEFAULT"].trim())
1319
+ : undefined;
1320
+ tableColumn.isNullable = dbColumn["NULLABLE"] === "Y";
1321
+ tableColumn.isUnique =
1322
+ uniqueConstraints.length > 0 && !isConstraintComposite;
1323
+ tableColumn.isPrimary = isPrimary;
1324
+ tableColumn.isGenerated =
1325
+ dbColumn["IDENTITY_COLUMN"] === "YES";
1326
+ if (tableColumn.isGenerated) {
1327
+ tableColumn.generationStrategy = "increment";
1328
+ tableColumn.default = undefined;
1329
+ }
1330
+ tableColumn.comment = ""; // todo
1331
+ return tableColumn;
1770
1332
  });
1333
+ // find unique constraints of table, group them by constraint name and build TableUnique.
1334
+ const tableUniqueConstraints = OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
1335
+ return (dbConstraint["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1336
+ dbConstraint["OWNER"] === dbTable["OWNER"] &&
1337
+ dbConstraint["CONSTRAINT_TYPE"] === "U");
1338
+ }), (dbConstraint) => dbConstraint["CONSTRAINT_NAME"]);
1339
+ table.uniques = tableUniqueConstraints.map((constraint) => {
1340
+ const uniques = dbConstraints.filter((dbC) => dbC["CONSTRAINT_NAME"] ===
1341
+ constraint["CONSTRAINT_NAME"]);
1342
+ return new TableUnique({
1343
+ name: constraint["CONSTRAINT_NAME"],
1344
+ columnNames: uniques.map((u) => u["COLUMN_NAME"]),
1345
+ });
1346
+ });
1347
+ // find check constraints of table, group them by constraint name and build TableCheck.
1348
+ const tableCheckConstraints = OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
1349
+ return (dbConstraint["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1350
+ dbConstraint["OWNER"] === dbTable["OWNER"] &&
1351
+ dbConstraint["CONSTRAINT_TYPE"] === "C");
1352
+ }), (dbConstraint) => dbConstraint["CONSTRAINT_NAME"]);
1353
+ table.checks = tableCheckConstraints.map((constraint) => {
1354
+ const checks = dbConstraints.filter((dbC) => dbC["TABLE_NAME"] === constraint["TABLE_NAME"] &&
1355
+ dbC["OWNER"] === constraint["OWNER"] &&
1356
+ dbC["CONSTRAINT_NAME"] ===
1357
+ constraint["CONSTRAINT_NAME"]);
1358
+ return new TableCheck({
1359
+ name: constraint["CONSTRAINT_NAME"],
1360
+ columnNames: checks.map((c) => c["COLUMN_NAME"]),
1361
+ expression: constraint["SEARCH_CONDITION"],
1362
+ });
1363
+ });
1364
+ // find foreign key constraints of table, group them by constraint name and build TableForeignKey.
1365
+ const tableForeignKeyConstraints = OrmUtils.uniq(dbForeignKeys.filter((dbForeignKey) => dbForeignKey["OWNER"] === dbTable["OWNER"] &&
1366
+ dbForeignKey["TABLE_NAME"] === dbTable["TABLE_NAME"]), (dbForeignKey) => dbForeignKey["CONSTRAINT_NAME"]);
1367
+ table.foreignKeys = tableForeignKeyConstraints.map((dbForeignKey) => {
1368
+ const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["TABLE_NAME"] === dbForeignKey["TABLE_NAME"] &&
1369
+ dbFk["OWNER"] === dbForeignKey["OWNER"] &&
1370
+ dbFk["CONSTRAINT_NAME"] ===
1371
+ dbForeignKey["CONSTRAINT_NAME"]);
1372
+ return new TableForeignKey({
1373
+ name: dbForeignKey["CONSTRAINT_NAME"],
1374
+ columnNames: foreignKeys.map((dbFk) => dbFk["COLUMN_NAME"]),
1375
+ referencedDatabase: table.database,
1376
+ referencedSchema: dbForeignKey["OWNER"],
1377
+ referencedTableName: dbForeignKey["REFERENCED_TABLE_NAME"],
1378
+ referencedColumnNames: foreignKeys.map((dbFk) => dbFk["REFERENCED_COLUMN_NAME"]),
1379
+ onDelete: dbForeignKey["ON_DELETE"],
1380
+ onUpdate: "NO ACTION", // Oracle does not have onUpdate option in FK's, but we need it for proper synchronization
1381
+ });
1382
+ });
1383
+ // create TableIndex objects from the loaded indices
1384
+ table.indices = dbIndices
1385
+ .filter((dbIndex) => dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1386
+ dbIndex["OWNER"] === dbTable["OWNER"])
1387
+ .map((dbIndex) => {
1388
+ return new TableIndex({
1389
+ name: dbIndex["INDEX_NAME"],
1390
+ columnNames: dbIndex["COLUMN_NAMES"].split(","),
1391
+ isUnique: dbIndex["UNIQUENESS"] === "UNIQUE",
1392
+ });
1393
+ });
1394
+ return table;
1771
1395
  });
1772
- };
1396
+ }
1773
1397
  /**
1774
1398
  * Builds and returns SQL for create table.
1775
1399
  */
1776
- OracleQueryRunner.prototype.createTableSql = function (table, createForeignKeys) {
1777
- var _this = this;
1778
- var columnDefinitions = table.columns.map(function (column) { return _this.buildCreateColumnSql(column); }).join(", ");
1779
- var sql = "CREATE TABLE \"" + table.name + "\" (" + columnDefinitions;
1400
+ createTableSql(table, createForeignKeys) {
1401
+ const columnDefinitions = table.columns
1402
+ .map((column) => this.buildCreateColumnSql(column))
1403
+ .join(", ");
1404
+ let sql = `CREATE TABLE ${this.escapePath(table)} (${columnDefinitions}`;
1780
1405
  table.columns
1781
- .filter(function (column) { return column.isUnique; })
1782
- .forEach(function (column) {
1783
- var isUniqueExist = table.uniques.some(function (unique) { return unique.columnNames.length === 1 && unique.columnNames[0] === column.name; });
1406
+ .filter((column) => column.isUnique)
1407
+ .forEach((column) => {
1408
+ const isUniqueExist = table.uniques.some((unique) => unique.columnNames.length === 1 &&
1409
+ unique.columnNames[0] === column.name);
1784
1410
  if (!isUniqueExist)
1785
1411
  table.uniques.push(new TableUnique({
1786
- name: _this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]),
1787
- columnNames: [column.name]
1412
+ name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]),
1413
+ columnNames: [column.name],
1788
1414
  }));
1789
1415
  });
1790
1416
  if (table.uniques.length > 0) {
1791
- var uniquesSql = table.uniques.map(function (unique) {
1792
- var uniqueName = unique.name ? unique.name : _this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames);
1793
- var columnNames = unique.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1794
- return "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
1795
- }).join(", ");
1796
- sql += ", " + uniquesSql;
1417
+ const uniquesSql = table.uniques
1418
+ .map((unique) => {
1419
+ const uniqueName = unique.name
1420
+ ? unique.name
1421
+ : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
1422
+ const columnNames = unique.columnNames
1423
+ .map((columnName) => `"${columnName}"`)
1424
+ .join(", ");
1425
+ return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`;
1426
+ })
1427
+ .join(", ");
1428
+ sql += `, ${uniquesSql}`;
1797
1429
  }
1798
1430
  if (table.checks.length > 0) {
1799
- var checksSql = table.checks.map(function (check) {
1800
- var checkName = check.name ? check.name : _this.connection.namingStrategy.checkConstraintName(table.name, check.expression);
1801
- return "CONSTRAINT \"" + checkName + "\" CHECK (" + check.expression + ")";
1802
- }).join(", ");
1803
- sql += ", " + checksSql;
1431
+ const checksSql = table.checks
1432
+ .map((check) => {
1433
+ const checkName = check.name
1434
+ ? check.name
1435
+ : this.connection.namingStrategy.checkConstraintName(table, check.expression);
1436
+ return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
1437
+ })
1438
+ .join(", ");
1439
+ sql += `, ${checksSql}`;
1804
1440
  }
1805
1441
  if (table.foreignKeys.length > 0 && createForeignKeys) {
1806
- var foreignKeysSql = table.foreignKeys.map(function (fk) {
1807
- var columnNames = fk.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1442
+ const foreignKeysSql = table.foreignKeys
1443
+ .map((fk) => {
1444
+ const columnNames = fk.columnNames
1445
+ .map((columnName) => `"${columnName}"`)
1446
+ .join(", ");
1808
1447
  if (!fk.name)
1809
- fk.name = _this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames);
1810
- var referencedColumnNames = fk.referencedColumnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1811
- var constraint = "CONSTRAINT \"" + fk.name + "\" FOREIGN KEY (" + columnNames + ") REFERENCES \"" + fk.referencedTableName + "\" (" + referencedColumnNames + ")";
1812
- if (fk.onDelete && fk.onDelete !== "NO ACTION") // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata
1813
- constraint += " ON DELETE " + fk.onDelete;
1448
+ fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
1449
+ const referencedColumnNames = fk.referencedColumnNames
1450
+ .map((columnName) => `"${columnName}"`)
1451
+ .join(", ");
1452
+ let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(this.getTablePath(fk))} (${referencedColumnNames})`;
1453
+ if (fk.onDelete && fk.onDelete !== "NO ACTION")
1454
+ // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata
1455
+ constraint += ` ON DELETE ${fk.onDelete}`;
1814
1456
  return constraint;
1815
- }).join(", ");
1816
- sql += ", " + foreignKeysSql;
1457
+ })
1458
+ .join(", ");
1459
+ sql += `, ${foreignKeysSql}`;
1817
1460
  }
1818
- var primaryColumns = table.columns.filter(function (column) { return column.isPrimary; });
1461
+ const primaryColumns = table.columns.filter((column) => column.isPrimary);
1819
1462
  if (primaryColumns.length > 0) {
1820
- var primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(function (column) { return column.name; }));
1821
- var columnNames = primaryColumns.map(function (column) { return "\"" + column.name + "\""; }).join(", ");
1822
- sql += ", CONSTRAINT \"" + primaryKeyName + "\" PRIMARY KEY (" + columnNames + ")";
1463
+ const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map((column) => column.name));
1464
+ const columnNames = primaryColumns
1465
+ .map((column) => `"${column.name}"`)
1466
+ .join(", ");
1467
+ sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`;
1823
1468
  }
1824
- sql += ")";
1469
+ sql += `)`;
1825
1470
  return new Query(sql);
1826
- };
1471
+ }
1827
1472
  /**
1828
1473
  * Builds drop table sql.
1829
1474
  */
1830
- OracleQueryRunner.prototype.dropTableSql = function (tableOrName, ifExist) {
1831
- var tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;
1832
- var query = ifExist ? "DROP TABLE IF EXISTS \"" + tableName + "\"" : "DROP TABLE \"" + tableName + "\"";
1475
+ dropTableSql(tableOrName, ifExist) {
1476
+ const query = ifExist
1477
+ ? `DROP TABLE IF EXISTS ${this.escapePath(tableOrName)}`
1478
+ : `DROP TABLE ${this.escapePath(tableOrName)}`;
1833
1479
  return new Query(query);
1834
- };
1835
- OracleQueryRunner.prototype.createViewSql = function (view) {
1836
- var materializedClause = view.materialized ? "MATERIALIZED " : "";
1480
+ }
1481
+ createViewSql(view) {
1482
+ const materializedClause = view.materialized ? "MATERIALIZED " : "";
1837
1483
  if (typeof view.expression === "string") {
1838
- return new Query("CREATE " + materializedClause + "VIEW \"" + view.name + "\" AS " + view.expression);
1484
+ return new Query(`CREATE ${materializedClause}VIEW ${this.escapePath(view)} AS ${view.expression}`);
1839
1485
  }
1840
1486
  else {
1841
- return new Query("CREATE " + materializedClause + "VIEW \"" + view.name + "\" AS " + view.expression(this.connection).getQuery());
1487
+ return new Query(`CREATE ${materializedClause}VIEW ${this.escapePath(view)} AS ${view.expression(this.connection).getQuery()}`);
1842
1488
  }
1843
- };
1844
- OracleQueryRunner.prototype.insertViewDefinitionSql = function (view) {
1845
- var expression = typeof view.expression === "string" ? view.expression.trim() : view.expression(this.connection).getQuery();
1846
- var _a = tslib_1.__read(this.connection.createQueryBuilder()
1847
- .insert()
1848
- .into(this.getTypeormMetadataTableName())
1849
- .values({ type: "VIEW", name: view.name, value: expression })
1850
- .getQueryAndParameters(), 2), query = _a[0], parameters = _a[1];
1851
- return new Query(query, parameters);
1852
- };
1489
+ }
1490
+ insertViewDefinitionSql(view) {
1491
+ const expression = typeof view.expression === "string"
1492
+ ? view.expression.trim()
1493
+ : view.expression(this.connection).getQuery();
1494
+ const type = view.materialized
1495
+ ? MetadataTableType.MATERIALIZED_VIEW
1496
+ : MetadataTableType.VIEW;
1497
+ return this.insertTypeormMetadataSql({
1498
+ type: type,
1499
+ name: view.name,
1500
+ value: expression,
1501
+ });
1502
+ }
1853
1503
  /**
1854
1504
  * Builds drop view sql.
1855
1505
  */
1856
- OracleQueryRunner.prototype.dropViewSql = function (viewOrPath) {
1857
- var viewName = viewOrPath instanceof View ? viewOrPath.name : viewOrPath;
1858
- return new Query("DROP VIEW \"" + viewName + "\"");
1859
- };
1506
+ dropViewSql(view) {
1507
+ const materializedClause = view.materialized ? "MATERIALIZED " : "";
1508
+ return new Query(`DROP ${materializedClause}VIEW ${this.escapePath(view)}`);
1509
+ }
1860
1510
  /**
1861
1511
  * Builds remove view sql.
1862
1512
  */
1863
- OracleQueryRunner.prototype.deleteViewDefinitionSql = function (viewOrPath) {
1864
- var viewName = viewOrPath instanceof View ? viewOrPath.name : viewOrPath;
1865
- var qb = this.connection.createQueryBuilder();
1866
- var _a = tslib_1.__read(qb.delete()
1867
- .from(this.getTypeormMetadataTableName())
1868
- .where(qb.escape("type") + " = 'VIEW'")
1869
- .andWhere(qb.escape("name") + " = :name", { name: viewName })
1870
- .getQueryAndParameters(), 2), query = _a[0], parameters = _a[1];
1871
- return new Query(query, parameters);
1872
- };
1513
+ deleteViewDefinitionSql(view) {
1514
+ const type = view.materialized
1515
+ ? MetadataTableType.MATERIALIZED_VIEW
1516
+ : MetadataTableType.VIEW;
1517
+ return this.deleteTypeormMetadataSql({ type, name: view.name });
1518
+ }
1873
1519
  /**
1874
1520
  * Builds create index sql.
1875
1521
  */
1876
- OracleQueryRunner.prototype.createIndexSql = function (table, index) {
1877
- var columns = index.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1878
- return new Query("CREATE " + (index.isUnique ? "UNIQUE " : "") + "INDEX \"" + index.name + "\" ON \"" + table.name + "\" (" + columns + ")");
1879
- };
1522
+ createIndexSql(table, index) {
1523
+ const columns = index.columnNames
1524
+ .map((columnName) => `"${columnName}"`)
1525
+ .join(", ");
1526
+ return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} (${columns})`);
1527
+ }
1880
1528
  /**
1881
1529
  * Builds drop index sql.
1882
1530
  */
1883
- OracleQueryRunner.prototype.dropIndexSql = function (indexOrName) {
1884
- var indexName = indexOrName instanceof TableIndex ? indexOrName.name : indexOrName;
1885
- return new Query("DROP INDEX \"" + indexName + "\"");
1886
- };
1531
+ dropIndexSql(indexOrName) {
1532
+ let indexName = InstanceChecker.isTableIndex(indexOrName)
1533
+ ? indexOrName.name
1534
+ : indexOrName;
1535
+ return new Query(`DROP INDEX "${indexName}"`);
1536
+ }
1887
1537
  /**
1888
1538
  * Builds create primary key sql.
1889
1539
  */
1890
- OracleQueryRunner.prototype.createPrimaryKeySql = function (table, columnNames) {
1891
- var primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames);
1892
- var columnNamesString = columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
1893
- return new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + primaryKeyName + "\" PRIMARY KEY (" + columnNamesString + ")");
1894
- };
1540
+ createPrimaryKeySql(table, columnNames) {
1541
+ const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames);
1542
+ const columnNamesString = columnNames
1543
+ .map((columnName) => `"${columnName}"`)
1544
+ .join(", ");
1545
+ return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`);
1546
+ }
1895
1547
  /**
1896
1548
  * Builds drop primary key sql.
1897
1549
  */
1898
- OracleQueryRunner.prototype.dropPrimaryKeySql = function (table) {
1899
- var columnNames = table.primaryColumns.map(function (column) { return column.name; });
1900
- var primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames);
1901
- return new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + primaryKeyName + "\"");
1902
- };
1550
+ dropPrimaryKeySql(table) {
1551
+ const columnNames = table.primaryColumns.map((column) => column.name);
1552
+ const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames);
1553
+ return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`);
1554
+ }
1903
1555
  /**
1904
1556
  * Builds create unique constraint sql.
1905
1557
  */
1906
- OracleQueryRunner.prototype.createUniqueConstraintSql = function (table, uniqueConstraint) {
1907
- var columnNames = uniqueConstraint.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
1908
- return new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")");
1909
- };
1558
+ createUniqueConstraintSql(table, uniqueConstraint) {
1559
+ const columnNames = uniqueConstraint.columnNames
1560
+ .map((column) => `"` + column + `"`)
1561
+ .join(", ");
1562
+ return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE (${columnNames})`);
1563
+ }
1910
1564
  /**
1911
1565
  * Builds drop unique constraint sql.
1912
1566
  */
1913
- OracleQueryRunner.prototype.dropUniqueConstraintSql = function (table, uniqueOrName) {
1914
- var uniqueName = uniqueOrName instanceof TableUnique ? uniqueOrName.name : uniqueOrName;
1915
- return new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + uniqueName + "\"");
1916
- };
1567
+ dropUniqueConstraintSql(table, uniqueOrName) {
1568
+ const uniqueName = InstanceChecker.isTableUnique(uniqueOrName)
1569
+ ? uniqueOrName.name
1570
+ : uniqueOrName;
1571
+ return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueName}"`);
1572
+ }
1917
1573
  /**
1918
1574
  * Builds create check constraint sql.
1919
1575
  */
1920
- OracleQueryRunner.prototype.createCheckConstraintSql = function (table, checkConstraint) {
1921
- return new Query("ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + checkConstraint.name + "\" CHECK (" + checkConstraint.expression + ")");
1922
- };
1576
+ createCheckConstraintSql(table, checkConstraint) {
1577
+ return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${checkConstraint.name}" CHECK (${checkConstraint.expression})`);
1578
+ }
1923
1579
  /**
1924
1580
  * Builds drop check constraint sql.
1925
1581
  */
1926
- OracleQueryRunner.prototype.dropCheckConstraintSql = function (table, checkOrName) {
1927
- var checkName = checkOrName instanceof TableCheck ? checkOrName.name : checkOrName;
1928
- return new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + checkName + "\"");
1929
- };
1582
+ dropCheckConstraintSql(table, checkOrName) {
1583
+ const checkName = InstanceChecker.isTableCheck(checkOrName)
1584
+ ? checkOrName.name
1585
+ : checkOrName;
1586
+ return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${checkName}"`);
1587
+ }
1930
1588
  /**
1931
1589
  * Builds create foreign key sql.
1932
1590
  */
1933
- OracleQueryRunner.prototype.createForeignKeySql = function (table, foreignKey) {
1934
- var columnNames = foreignKey.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
1935
- var referencedColumnNames = foreignKey.referencedColumnNames.map(function (column) { return "\"" + column + "\""; }).join(",");
1936
- var sql = "ALTER TABLE \"" + table.name + "\" ADD CONSTRAINT \"" + foreignKey.name + "\" FOREIGN KEY (" + columnNames + ") " +
1937
- ("REFERENCES \"" + foreignKey.referencedTableName + "\" (" + referencedColumnNames + ")");
1591
+ createForeignKeySql(table, foreignKey) {
1592
+ const columnNames = foreignKey.columnNames
1593
+ .map((column) => `"` + column + `"`)
1594
+ .join(", ");
1595
+ const referencedColumnNames = foreignKey.referencedColumnNames
1596
+ .map((column) => `"` + column + `"`)
1597
+ .join(",");
1598
+ let sql = `ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${foreignKey.name}" FOREIGN KEY (${columnNames}) ` +
1599
+ `REFERENCES ${this.escapePath(this.getTablePath(foreignKey))} (${referencedColumnNames})`;
1938
1600
  // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata
1939
1601
  if (foreignKey.onDelete && foreignKey.onDelete !== "NO ACTION")
1940
- sql += " ON DELETE " + foreignKey.onDelete;
1602
+ sql += ` ON DELETE ${foreignKey.onDelete}`;
1941
1603
  return new Query(sql);
1942
- };
1604
+ }
1943
1605
  /**
1944
1606
  * Builds drop foreign key sql.
1945
1607
  */
1946
- OracleQueryRunner.prototype.dropForeignKeySql = function (table, foreignKeyOrName) {
1947
- var foreignKeyName = foreignKeyOrName instanceof TableForeignKey ? foreignKeyOrName.name : foreignKeyOrName;
1948
- return new Query("ALTER TABLE \"" + table.name + "\" DROP CONSTRAINT \"" + foreignKeyName + "\"");
1949
- };
1608
+ dropForeignKeySql(table, foreignKeyOrName) {
1609
+ const foreignKeyName = InstanceChecker.isTableForeignKey(foreignKeyOrName)
1610
+ ? foreignKeyOrName.name
1611
+ : foreignKeyOrName;
1612
+ return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${foreignKeyName}"`);
1613
+ }
1950
1614
  /**
1951
1615
  * Builds a query for create column.
1952
1616
  */
1953
- OracleQueryRunner.prototype.buildCreateColumnSql = function (column) {
1954
- var c = "\"" + column.name + "\" " + this.connection.driver.createFullType(column);
1617
+ buildCreateColumnSql(column) {
1618
+ let c = `"${column.name}" ` + this.connection.driver.createFullType(column);
1955
1619
  if (column.charset)
1956
1620
  c += " CHARACTER SET " + column.charset;
1957
1621
  if (column.collation)
1958
1622
  c += " COLLATE " + column.collation;
1959
- if (column.default !== undefined && column.default !== null) // DEFAULT must be placed before NOT NULL
1623
+ if (column.default !== undefined && column.default !== null)
1624
+ // DEFAULT must be placed before NOT NULL
1960
1625
  c += " DEFAULT " + column.default;
1961
- if (column.isNullable !== true && !column.isGenerated) // NOT NULL is not supported with GENERATED
1626
+ if (column.isNullable !== true && !column.isGenerated)
1627
+ // NOT NULL is not supported with GENERATED
1962
1628
  c += " NOT NULL";
1963
- if (column.isGenerated === true && column.generationStrategy === "increment")
1629
+ if (column.isGenerated === true &&
1630
+ column.generationStrategy === "increment")
1964
1631
  c += " GENERATED BY DEFAULT AS IDENTITY";
1965
1632
  return c;
1966
- };
1967
- return OracleQueryRunner;
1968
- }(BaseQueryRunner));
1969
- export { OracleQueryRunner };
1633
+ }
1634
+ /**
1635
+ * Escapes given table or view path.
1636
+ */
1637
+ escapePath(target) {
1638
+ // Ignore database when escaping paths
1639
+ const { schema, tableName } = this.driver.parseTableName(target);
1640
+ if (schema && schema !== this.driver.schema) {
1641
+ return `"${schema}"."${tableName}"`;
1642
+ }
1643
+ return `"${tableName}"`;
1644
+ }
1645
+ }
1970
1646
 
1971
1647
  //# sourceMappingURL=OracleQueryRunner.js.map