@lakutata/orm 3.0.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1705) hide show
  1. package/README.md +160 -76
  2. package/README.zh-CN.md +452 -0
  3. package/THIRD_PARTY_NOTICES.md +260 -4
  4. package/dist/cjs/components/Database.d.ts +31 -22
  5. package/dist/cjs/components/Database.js +14 -5
  6. package/dist/cjs/decorators/orm/AfterInsert.d.ts +1 -1
  7. package/dist/cjs/decorators/orm/AfterInsert.js +1 -1
  8. package/dist/cjs/decorators/orm/AfterLoad.d.ts +1 -1
  9. package/dist/cjs/decorators/orm/AfterLoad.js +1 -1
  10. package/dist/cjs/decorators/orm/AfterRecover.d.ts +1 -1
  11. package/dist/cjs/decorators/orm/AfterRecover.js +1 -1
  12. package/dist/cjs/decorators/orm/AfterRemove.d.ts +1 -1
  13. package/dist/cjs/decorators/orm/AfterRemove.js +1 -1
  14. package/dist/cjs/decorators/orm/AfterSoftRemove.d.ts +1 -1
  15. package/dist/cjs/decorators/orm/AfterSoftRemove.js +1 -1
  16. package/dist/cjs/decorators/orm/AfterUpdate.d.ts +1 -1
  17. package/dist/cjs/decorators/orm/AfterUpdate.js +1 -1
  18. package/dist/cjs/decorators/orm/BeforeInsert.d.ts +1 -1
  19. package/dist/cjs/decorators/orm/BeforeInsert.js +1 -1
  20. package/dist/cjs/decorators/orm/BeforeRecover.d.ts +1 -1
  21. package/dist/cjs/decorators/orm/BeforeRecover.js +1 -1
  22. package/dist/cjs/decorators/orm/BeforeRemove.d.ts +1 -1
  23. package/dist/cjs/decorators/orm/BeforeRemove.js +1 -1
  24. package/dist/cjs/decorators/orm/BeforeSoftRemove.d.ts +1 -1
  25. package/dist/cjs/decorators/orm/BeforeSoftRemove.js +1 -1
  26. package/dist/cjs/decorators/orm/BeforeUpdate.d.ts +1 -1
  27. package/dist/cjs/decorators/orm/BeforeUpdate.js +1 -1
  28. package/dist/cjs/decorators/orm/Check.d.ts +1 -1
  29. package/dist/cjs/decorators/orm/Check.js +1 -1
  30. package/dist/cjs/decorators/orm/ChildEntity.d.ts +1 -1
  31. package/dist/cjs/decorators/orm/ChildEntity.js +1 -1
  32. package/dist/cjs/decorators/orm/Column.d.ts +1 -1
  33. package/dist/cjs/decorators/orm/Column.js +1 -1
  34. package/dist/cjs/decorators/orm/CreateDateColumn.d.ts +1 -1
  35. package/dist/cjs/decorators/orm/CreateDateColumn.js +1 -1
  36. package/dist/cjs/decorators/orm/DeleteDateColumn.d.ts +1 -1
  37. package/dist/cjs/decorators/orm/DeleteDateColumn.js +1 -1
  38. package/dist/cjs/decorators/orm/Entity.d.ts +1 -1
  39. package/dist/cjs/decorators/orm/Entity.js +1 -1
  40. package/dist/cjs/decorators/orm/EventSubscriber.d.ts +1 -1
  41. package/dist/cjs/decorators/orm/EventSubscriber.js +1 -1
  42. package/dist/cjs/decorators/orm/Exclusion.d.ts +1 -1
  43. package/dist/cjs/decorators/orm/Exclusion.js +1 -1
  44. package/dist/cjs/decorators/orm/Generated.d.ts +1 -1
  45. package/dist/cjs/decorators/orm/Generated.js +1 -1
  46. package/dist/cjs/decorators/orm/Index.d.ts +1 -1
  47. package/dist/cjs/decorators/orm/Index.js +1 -1
  48. package/dist/cjs/decorators/orm/JoinColumn.d.ts +1 -1
  49. package/dist/cjs/decorators/orm/JoinColumn.js +1 -1
  50. package/dist/cjs/decorators/orm/JoinTable.d.ts +1 -1
  51. package/dist/cjs/decorators/orm/JoinTable.js +1 -1
  52. package/dist/cjs/decorators/orm/ManyToMany.d.ts +1 -1
  53. package/dist/cjs/decorators/orm/ManyToMany.js +1 -1
  54. package/dist/cjs/decorators/orm/ManyToOne.d.ts +1 -1
  55. package/dist/cjs/decorators/orm/ManyToOne.js +1 -1
  56. package/dist/cjs/decorators/orm/ObjectIdColumn.d.ts +1 -1
  57. package/dist/cjs/decorators/orm/ObjectIdColumn.js +1 -1
  58. package/dist/cjs/decorators/orm/OneToMany.d.ts +1 -1
  59. package/dist/cjs/decorators/orm/OneToMany.js +1 -1
  60. package/dist/cjs/decorators/orm/OneToOne.d.ts +1 -1
  61. package/dist/cjs/decorators/orm/OneToOne.js +1 -1
  62. package/dist/cjs/decorators/orm/PrimaryColumn.d.ts +1 -1
  63. package/dist/cjs/decorators/orm/PrimaryColumn.js +1 -1
  64. package/dist/cjs/decorators/orm/PrimaryGeneratedColumn.d.ts +1 -1
  65. package/dist/cjs/decorators/orm/PrimaryGeneratedColumn.js +1 -1
  66. package/dist/cjs/decorators/orm/RelationId.d.ts +1 -1
  67. package/dist/cjs/decorators/orm/RelationId.js +1 -1
  68. package/dist/cjs/decorators/orm/TableInheritance.d.ts +1 -1
  69. package/dist/cjs/decorators/orm/TableInheritance.js +1 -1
  70. package/dist/cjs/decorators/orm/Tree.d.ts +1 -1
  71. package/dist/cjs/decorators/orm/Tree.js +1 -1
  72. package/dist/cjs/decorators/orm/TreeChildren.d.ts +1 -1
  73. package/dist/cjs/decorators/orm/TreeChildren.js +1 -1
  74. package/dist/cjs/decorators/orm/TreeLevelColumn.d.ts +1 -1
  75. package/dist/cjs/decorators/orm/TreeLevelColumn.js +1 -1
  76. package/dist/cjs/decorators/orm/TreeParent.d.ts +1 -1
  77. package/dist/cjs/decorators/orm/TreeParent.js +1 -1
  78. package/dist/cjs/decorators/orm/Unique.d.ts +1 -1
  79. package/dist/cjs/decorators/orm/Unique.js +1 -1
  80. package/dist/cjs/decorators/orm/UpdateDateColumn.d.ts +1 -1
  81. package/dist/cjs/decorators/orm/UpdateDateColumn.js +1 -1
  82. package/dist/cjs/decorators/orm/VersionColumn.d.ts +1 -1
  83. package/dist/cjs/decorators/orm/VersionColumn.js +1 -1
  84. package/dist/cjs/decorators/orm/ViewColumn.d.ts +1 -1
  85. package/dist/cjs/decorators/orm/ViewColumn.js +1 -1
  86. package/dist/cjs/decorators/orm/ViewEntity.d.ts +1 -1
  87. package/dist/cjs/decorators/orm/ViewEntity.js +1 -1
  88. package/dist/cjs/decorators/orm/VirtualColumn.d.ts +1 -1
  89. package/dist/cjs/decorators/orm/VirtualColumn.js +1 -1
  90. package/dist/cjs/exports/ORM.d.ts +189 -192
  91. package/dist/cjs/exports/ORM.js +120 -121
  92. package/dist/cjs/lib/ConnectionOptions.d.ts +10 -0
  93. package/dist/cjs/lib/ConnectionOptions.js +17 -0
  94. package/dist/cjs/providers/Database.d.ts +33 -26
  95. package/dist/cjs/providers/Database.js +15 -8
  96. package/dist/cjs/providers/migration/ExecuteMigration.d.ts +5 -4
  97. package/dist/cjs/providers/migration/ExecuteMigration.js +9 -5
  98. package/dist/cjs/providers/migration/GenerateMigration.d.ts +35 -5
  99. package/dist/cjs/providers/migration/GenerateMigration.js +30 -10
  100. package/dist/cjs/types/LegacyConnectionOptions.d.ts +102 -0
  101. package/dist/cjs/types/LegacyConnectionOptions.js +2 -0
  102. package/dist/cjs/types/MigrationRunOptions.d.ts +4 -1
  103. package/dist/esm/components/Database.js +14 -5
  104. package/dist/esm/decorators/orm/AfterInsert.js +1 -1
  105. package/dist/esm/decorators/orm/AfterLoad.js +1 -1
  106. package/dist/esm/decorators/orm/AfterRecover.js +1 -1
  107. package/dist/esm/decorators/orm/AfterRemove.js +1 -1
  108. package/dist/esm/decorators/orm/AfterSoftRemove.js +1 -1
  109. package/dist/esm/decorators/orm/AfterUpdate.js +1 -1
  110. package/dist/esm/decorators/orm/BeforeInsert.js +1 -1
  111. package/dist/esm/decorators/orm/BeforeRecover.js +1 -1
  112. package/dist/esm/decorators/orm/BeforeRemove.js +1 -1
  113. package/dist/esm/decorators/orm/BeforeSoftRemove.js +1 -1
  114. package/dist/esm/decorators/orm/BeforeUpdate.js +1 -1
  115. package/dist/esm/decorators/orm/Check.js +1 -1
  116. package/dist/esm/decorators/orm/ChildEntity.js +1 -1
  117. package/dist/esm/decorators/orm/Column.js +1 -1
  118. package/dist/esm/decorators/orm/CreateDateColumn.js +1 -1
  119. package/dist/esm/decorators/orm/DeleteDateColumn.js +1 -1
  120. package/dist/esm/decorators/orm/Entity.js +1 -1
  121. package/dist/esm/decorators/orm/EventSubscriber.js +1 -1
  122. package/dist/esm/decorators/orm/Exclusion.js +1 -1
  123. package/dist/esm/decorators/orm/Generated.js +1 -1
  124. package/dist/esm/decorators/orm/Index.js +1 -1
  125. package/dist/esm/decorators/orm/JoinColumn.js +1 -1
  126. package/dist/esm/decorators/orm/JoinTable.js +1 -1
  127. package/dist/esm/decorators/orm/ManyToMany.js +1 -1
  128. package/dist/esm/decorators/orm/ManyToOne.js +1 -1
  129. package/dist/esm/decorators/orm/ObjectIdColumn.js +1 -1
  130. package/dist/esm/decorators/orm/OneToMany.js +1 -1
  131. package/dist/esm/decorators/orm/OneToOne.js +1 -1
  132. package/dist/esm/decorators/orm/PrimaryColumn.js +1 -1
  133. package/dist/esm/decorators/orm/PrimaryGeneratedColumn.js +1 -1
  134. package/dist/esm/decorators/orm/RelationId.js +1 -1
  135. package/dist/esm/decorators/orm/TableInheritance.js +1 -1
  136. package/dist/esm/decorators/orm/Tree.js +1 -1
  137. package/dist/esm/decorators/orm/TreeChildren.js +1 -1
  138. package/dist/esm/decorators/orm/TreeLevelColumn.js +1 -1
  139. package/dist/esm/decorators/orm/TreeParent.js +1 -1
  140. package/dist/esm/decorators/orm/Unique.js +1 -1
  141. package/dist/esm/decorators/orm/UpdateDateColumn.js +1 -1
  142. package/dist/esm/decorators/orm/VersionColumn.js +1 -1
  143. package/dist/esm/decorators/orm/ViewColumn.js +1 -1
  144. package/dist/esm/decorators/orm/ViewEntity.js +1 -1
  145. package/dist/esm/decorators/orm/VirtualColumn.js +1 -1
  146. package/dist/esm/exports/ORM.js +116 -119
  147. package/dist/esm/lib/ConnectionOptions.js +14 -0
  148. package/dist/esm/providers/Database.js +15 -8
  149. package/dist/esm/providers/migration/ExecuteMigration.js +9 -5
  150. package/dist/esm/providers/migration/GenerateMigration.js +30 -10
  151. package/dist/esm/types/LegacyConnectionOptions.js +1 -0
  152. package/dist/types/components/Database.d.ts +31 -22
  153. package/dist/types/decorators/orm/AfterInsert.d.ts +1 -1
  154. package/dist/types/decorators/orm/AfterLoad.d.ts +1 -1
  155. package/dist/types/decorators/orm/AfterRecover.d.ts +1 -1
  156. package/dist/types/decorators/orm/AfterRemove.d.ts +1 -1
  157. package/dist/types/decorators/orm/AfterSoftRemove.d.ts +1 -1
  158. package/dist/types/decorators/orm/AfterUpdate.d.ts +1 -1
  159. package/dist/types/decorators/orm/BeforeInsert.d.ts +1 -1
  160. package/dist/types/decorators/orm/BeforeRecover.d.ts +1 -1
  161. package/dist/types/decorators/orm/BeforeRemove.d.ts +1 -1
  162. package/dist/types/decorators/orm/BeforeSoftRemove.d.ts +1 -1
  163. package/dist/types/decorators/orm/BeforeUpdate.d.ts +1 -1
  164. package/dist/types/decorators/orm/Check.d.ts +1 -1
  165. package/dist/types/decorators/orm/ChildEntity.d.ts +1 -1
  166. package/dist/types/decorators/orm/Column.d.ts +1 -1
  167. package/dist/types/decorators/orm/CreateDateColumn.d.ts +1 -1
  168. package/dist/types/decorators/orm/DeleteDateColumn.d.ts +1 -1
  169. package/dist/types/decorators/orm/Entity.d.ts +1 -1
  170. package/dist/types/decorators/orm/EventSubscriber.d.ts +1 -1
  171. package/dist/types/decorators/orm/Exclusion.d.ts +1 -1
  172. package/dist/types/decorators/orm/Generated.d.ts +1 -1
  173. package/dist/types/decorators/orm/Index.d.ts +1 -1
  174. package/dist/types/decorators/orm/JoinColumn.d.ts +1 -1
  175. package/dist/types/decorators/orm/JoinTable.d.ts +1 -1
  176. package/dist/types/decorators/orm/ManyToMany.d.ts +1 -1
  177. package/dist/types/decorators/orm/ManyToOne.d.ts +1 -1
  178. package/dist/types/decorators/orm/ObjectIdColumn.d.ts +1 -1
  179. package/dist/types/decorators/orm/OneToMany.d.ts +1 -1
  180. package/dist/types/decorators/orm/OneToOne.d.ts +1 -1
  181. package/dist/types/decorators/orm/PrimaryColumn.d.ts +1 -1
  182. package/dist/types/decorators/orm/PrimaryGeneratedColumn.d.ts +1 -1
  183. package/dist/types/decorators/orm/RelationId.d.ts +1 -1
  184. package/dist/types/decorators/orm/TableInheritance.d.ts +1 -1
  185. package/dist/types/decorators/orm/Tree.d.ts +1 -1
  186. package/dist/types/decorators/orm/TreeChildren.d.ts +1 -1
  187. package/dist/types/decorators/orm/TreeLevelColumn.d.ts +1 -1
  188. package/dist/types/decorators/orm/TreeParent.d.ts +1 -1
  189. package/dist/types/decorators/orm/Unique.d.ts +1 -1
  190. package/dist/types/decorators/orm/UpdateDateColumn.d.ts +1 -1
  191. package/dist/types/decorators/orm/VersionColumn.d.ts +1 -1
  192. package/dist/types/decorators/orm/ViewColumn.d.ts +1 -1
  193. package/dist/types/decorators/orm/ViewEntity.d.ts +1 -1
  194. package/dist/types/decorators/orm/VirtualColumn.d.ts +1 -1
  195. package/dist/types/exports/ORM.d.ts +189 -192
  196. package/dist/types/lib/ConnectionOptions.d.ts +10 -0
  197. package/dist/types/providers/Database.d.ts +33 -26
  198. package/dist/types/providers/migration/ExecuteMigration.d.ts +5 -4
  199. package/dist/types/providers/migration/GenerateMigration.d.ts +35 -5
  200. package/dist/types/types/LegacyConnectionOptions.d.ts +102 -0
  201. package/dist/types/types/MigrationRunOptions.d.ts +4 -1
  202. package/dist/vendor/typeorm/cache/DbQueryResultCache.d.ts +70 -0
  203. package/dist/vendor/typeorm/cache/DbQueryResultCache.js +301 -0
  204. package/dist/vendor/typeorm/cache/DbQueryResultCache.js.map +1 -0
  205. package/dist/vendor/typeorm/cache/QueryResultCache.d.ts +41 -0
  206. package/dist/vendor/typeorm/cache/QueryResultCache.js +3 -0
  207. package/dist/vendor/typeorm/cache/QueryResultCache.js.map +1 -0
  208. package/dist/vendor/typeorm/cache/QueryResultCacheFactory.d.ts +13 -0
  209. package/dist/vendor/typeorm/cache/QueryResultCacheFactory.js +41 -0
  210. package/dist/vendor/typeorm/cache/QueryResultCacheFactory.js.map +1 -0
  211. package/dist/vendor/typeorm/cache/QueryResultCacheOptions.d.ts +26 -0
  212. package/dist/vendor/typeorm/cache/QueryResultCacheOptions.js +3 -0
  213. package/dist/vendor/typeorm/cache/QueryResultCacheOptions.js.map +1 -0
  214. package/dist/vendor/typeorm/cache/RedisQueryResultCache.d.ts +84 -0
  215. package/dist/vendor/typeorm/cache/RedisQueryResultCache.js +185 -0
  216. package/dist/vendor/typeorm/cache/RedisQueryResultCache.js.map +1 -0
  217. package/dist/vendor/typeorm/commands/CommandUtils.d.ts +34 -0
  218. package/dist/vendor/typeorm/commands/CommandUtils.js +107 -0
  219. package/dist/vendor/typeorm/commands/CommandUtils.js.map +1 -0
  220. package/dist/vendor/typeorm/common/DeepPartial.d.ts +6 -0
  221. package/dist/vendor/typeorm/common/DeepPartial.js +3 -0
  222. package/dist/vendor/typeorm/common/DeepPartial.js.map +1 -0
  223. package/dist/vendor/typeorm/common/EntityTarget.d.ts +9 -0
  224. package/dist/vendor/typeorm/common/EntityTarget.js +3 -0
  225. package/dist/vendor/typeorm/common/EntityTarget.js.map +1 -0
  226. package/dist/vendor/typeorm/common/MixedList.d.ts +8 -0
  227. package/dist/vendor/typeorm/common/MixedList.js +3 -0
  228. package/dist/vendor/typeorm/common/MixedList.js.map +1 -0
  229. package/dist/vendor/typeorm/common/NonNever.d.ts +6 -0
  230. package/dist/vendor/typeorm/common/NonNever.js +3 -0
  231. package/dist/vendor/typeorm/common/NonNever.js.map +1 -0
  232. package/dist/vendor/typeorm/common/ObjectLiteral.d.ts +6 -0
  233. package/dist/vendor/typeorm/common/ObjectLiteral.js +3 -0
  234. package/dist/vendor/typeorm/common/ObjectLiteral.js.map +1 -0
  235. package/dist/vendor/typeorm/common/ObjectType.d.ts +6 -0
  236. package/dist/vendor/typeorm/common/ObjectType.js +3 -0
  237. package/dist/vendor/typeorm/common/ObjectType.js.map +1 -0
  238. package/dist/vendor/typeorm/common/PickKeysByType.d.ts +6 -0
  239. package/dist/vendor/typeorm/common/PickKeysByType.js +3 -0
  240. package/dist/vendor/typeorm/common/PickKeysByType.js.map +1 -0
  241. package/dist/vendor/typeorm/common/PrimitiveCriteria.d.ts +2 -0
  242. package/dist/vendor/typeorm/common/PrimitiveCriteria.js +3 -0
  243. package/dist/vendor/typeorm/common/PrimitiveCriteria.js.map +1 -0
  244. package/dist/vendor/typeorm/common/RelationType.d.ts +16 -0
  245. package/dist/vendor/typeorm/common/RelationType.js +3 -0
  246. package/dist/vendor/typeorm/common/RelationType.js.map +1 -0
  247. package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.d.ts +30 -0
  248. package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.js +78 -0
  249. package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -0
  250. package/dist/vendor/typeorm/connection/ConnectionOptionsReader.d.ts +56 -0
  251. package/dist/vendor/typeorm/connection/ConnectionOptionsReader.js +165 -0
  252. package/dist/vendor/typeorm/connection/ConnectionOptionsReader.js.map +1 -0
  253. package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.d.ts +180 -0
  254. package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.js +3 -0
  255. package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.js.map +1 -0
  256. package/dist/vendor/typeorm/data-source/DataSource.d.ts +277 -0
  257. package/dist/vendor/typeorm/data-source/DataSource.js +555 -0
  258. package/dist/vendor/typeorm/data-source/DataSource.js.map +1 -0
  259. package/dist/vendor/typeorm/data-source/DataSourceOptions.d.ts +22 -0
  260. package/dist/vendor/typeorm/data-source/DataSourceOptions.js +3 -0
  261. package/dist/vendor/typeorm/data-source/DataSourceOptions.js.map +1 -0
  262. package/dist/vendor/typeorm/data-source/index.d.ts +2 -0
  263. package/dist/vendor/typeorm/data-source/index.js +5 -0
  264. package/dist/vendor/typeorm/data-source/index.js.map +1 -0
  265. package/dist/vendor/typeorm/decorator/Check.d.ts +17 -0
  266. package/dist/vendor/typeorm/decorator/Check.js +29 -0
  267. package/dist/vendor/typeorm/decorator/Check.js.map +1 -0
  268. package/dist/vendor/typeorm/decorator/Exclusion.d.ts +20 -0
  269. package/dist/vendor/typeorm/decorator/Exclusion.js +33 -0
  270. package/dist/vendor/typeorm/decorator/Exclusion.js.map +1 -0
  271. package/dist/vendor/typeorm/decorator/ForeignKey.d.ts +34 -0
  272. package/dist/vendor/typeorm/decorator/ForeignKey.js +48 -0
  273. package/dist/vendor/typeorm/decorator/ForeignKey.js.map +1 -0
  274. package/dist/vendor/typeorm/decorator/Generated.d.ts +12 -0
  275. package/dist/vendor/typeorm/decorator/Generated.js +25 -0
  276. package/dist/vendor/typeorm/decorator/Generated.js.map +1 -0
  277. package/dist/vendor/typeorm/decorator/Index.d.ts +72 -0
  278. package/dist/vendor/typeorm/decorator/Index.js +59 -0
  279. package/dist/vendor/typeorm/decorator/Index.js.map +1 -0
  280. package/dist/vendor/typeorm/decorator/Unique.d.ts +35 -0
  281. package/dist/vendor/typeorm/decorator/Unique.js +52 -0
  282. package/dist/vendor/typeorm/decorator/Unique.js.map +1 -0
  283. package/dist/vendor/typeorm/decorator/columns/Column.d.ts +106 -0
  284. package/dist/vendor/typeorm/decorator/columns/Column.js +79 -0
  285. package/dist/vendor/typeorm/decorator/columns/Column.js.map +1 -0
  286. package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.d.ts +9 -0
  287. package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.js +22 -0
  288. package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.js.map +1 -0
  289. package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.d.ts +8 -0
  290. package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.js +21 -0
  291. package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -0
  292. package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.d.ts +8 -0
  293. package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.js +26 -0
  294. package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -0
  295. package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.d.ts +26 -0
  296. package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.js +64 -0
  297. package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.js.map +1 -0
  298. package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.d.ts +35 -0
  299. package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.js +61 -0
  300. package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -0
  301. package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.d.ts +8 -0
  302. package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.js +21 -0
  303. package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -0
  304. package/dist/vendor/typeorm/decorator/columns/VersionColumn.d.ts +9 -0
  305. package/dist/vendor/typeorm/decorator/columns/VersionColumn.js +22 -0
  306. package/dist/vendor/typeorm/decorator/columns/VersionColumn.js.map +1 -0
  307. package/dist/vendor/typeorm/decorator/columns/ViewColumn.d.ts +7 -0
  308. package/dist/vendor/typeorm/decorator/columns/ViewColumn.js +20 -0
  309. package/dist/vendor/typeorm/decorator/columns/ViewColumn.js.map +1 -0
  310. package/dist/vendor/typeorm/decorator/columns/VirtualColumn.d.ts +15 -0
  311. package/dist/vendor/typeorm/decorator/columns/VirtualColumn.js +51 -0
  312. package/dist/vendor/typeorm/decorator/columns/VirtualColumn.js.map +1 -0
  313. package/dist/vendor/typeorm/decorator/entity/ChildEntity.d.ts +6 -0
  314. package/dist/vendor/typeorm/decorator/entity/ChildEntity.js +26 -0
  315. package/dist/vendor/typeorm/decorator/entity/ChildEntity.js.map +1 -0
  316. package/dist/vendor/typeorm/decorator/entity/Entity.d.ts +16 -0
  317. package/dist/vendor/typeorm/decorator/entity/Entity.js +33 -0
  318. package/dist/vendor/typeorm/decorator/entity/Entity.js.map +1 -0
  319. package/dist/vendor/typeorm/decorator/entity/TableInheritance.d.ts +12 -0
  320. package/dist/vendor/typeorm/decorator/entity/TableInheritance.js +25 -0
  321. package/dist/vendor/typeorm/decorator/entity/TableInheritance.js.map +1 -0
  322. package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.d.ts +16 -0
  323. package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.js +34 -0
  324. package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.js.map +1 -0
  325. package/dist/vendor/typeorm/decorator/listeners/AfterInsert.d.ts +4 -0
  326. package/dist/vendor/typeorm/decorator/listeners/AfterInsert.js +18 -0
  327. package/dist/vendor/typeorm/decorator/listeners/AfterInsert.js.map +1 -0
  328. package/dist/vendor/typeorm/decorator/listeners/AfterLoad.d.ts +4 -0
  329. package/dist/vendor/typeorm/decorator/listeners/AfterLoad.js +18 -0
  330. package/dist/vendor/typeorm/decorator/listeners/AfterLoad.js.map +1 -0
  331. package/dist/vendor/typeorm/decorator/listeners/AfterRecover.d.ts +4 -0
  332. package/dist/vendor/typeorm/decorator/listeners/AfterRecover.js +18 -0
  333. package/dist/vendor/typeorm/decorator/listeners/AfterRecover.js.map +1 -0
  334. package/dist/vendor/typeorm/decorator/listeners/AfterRemove.d.ts +4 -0
  335. package/dist/vendor/typeorm/decorator/listeners/AfterRemove.js +18 -0
  336. package/dist/vendor/typeorm/decorator/listeners/AfterRemove.js.map +1 -0
  337. package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.d.ts +4 -0
  338. package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.js +18 -0
  339. package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -0
  340. package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.d.ts +4 -0
  341. package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.js +18 -0
  342. package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.js.map +1 -0
  343. package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.d.ts +4 -0
  344. package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.js +18 -0
  345. package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.js.map +1 -0
  346. package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.d.ts +4 -0
  347. package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.js +18 -0
  348. package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.js.map +1 -0
  349. package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.d.ts +4 -0
  350. package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.js +18 -0
  351. package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.js.map +1 -0
  352. package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
  353. package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.js +18 -0
  354. package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -0
  355. package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.d.ts +4 -0
  356. package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.js +18 -0
  357. package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -0
  358. package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.d.ts +5 -0
  359. package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.js +16 -0
  360. package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.js.map +1 -0
  361. package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.d.ts +57 -0
  362. package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.js +3 -0
  363. package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -0
  364. package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.d.ts +16 -0
  365. package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.js +3 -0
  366. package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -0
  367. package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.d.ts +13 -0
  368. package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.js +3 -0
  369. package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -0
  370. package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.d.ts +10 -0
  371. package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.js +3 -0
  372. package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -0
  373. package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.d.ts +15 -0
  374. package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.js +3 -0
  375. package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -0
  376. package/dist/vendor/typeorm/decorator/options/ColumnOptions.d.ts +158 -0
  377. package/dist/vendor/typeorm/decorator/options/ColumnOptions.js +3 -0
  378. package/dist/vendor/typeorm/decorator/options/ColumnOptions.js.map +1 -0
  379. package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.d.ts +9 -0
  380. package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.js +3 -0
  381. package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.js.map +1 -0
  382. package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.d.ts +10 -0
  383. package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.js +3 -0
  384. package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -0
  385. package/dist/vendor/typeorm/decorator/options/EntityOptions.d.ts +47 -0
  386. package/dist/vendor/typeorm/decorator/options/EntityOptions.js +3 -0
  387. package/dist/vendor/typeorm/decorator/options/EntityOptions.js.map +1 -0
  388. package/dist/vendor/typeorm/decorator/options/ExclusionOptions.d.ts +10 -0
  389. package/dist/vendor/typeorm/decorator/options/ExclusionOptions.js +3 -0
  390. package/dist/vendor/typeorm/decorator/options/ExclusionOptions.js.map +1 -0
  391. package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.d.ts +24 -0
  392. package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.js +3 -0
  393. package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.js.map +1 -0
  394. package/dist/vendor/typeorm/decorator/options/IndexOptions.d.ts +64 -0
  395. package/dist/vendor/typeorm/decorator/options/IndexOptions.js +3 -0
  396. package/dist/vendor/typeorm/decorator/options/IndexOptions.js.map +1 -0
  397. package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.d.ts +17 -0
  398. package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.js +3 -0
  399. package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.js.map +1 -0
  400. package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.d.ts +35 -0
  401. package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js +3 -0
  402. package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -0
  403. package/dist/vendor/typeorm/decorator/options/JoinTableOptions.d.ts +35 -0
  404. package/dist/vendor/typeorm/decorator/options/JoinTableOptions.js +3 -0
  405. package/dist/vendor/typeorm/decorator/options/JoinTableOptions.js.map +1 -0
  406. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +26 -0
  407. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  408. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  409. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +26 -0
  410. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js +3 -0
  411. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -0
  412. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.d.ts +17 -0
  413. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +3 -0
  414. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -0
  415. package/dist/vendor/typeorm/decorator/options/RelationOptions.d.ts +66 -0
  416. package/dist/vendor/typeorm/decorator/options/RelationOptions.js +3 -0
  417. package/dist/vendor/typeorm/decorator/options/RelationOptions.js.map +1 -0
  418. package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.d.ts +17 -0
  419. package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.js +3 -0
  420. package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -0
  421. package/dist/vendor/typeorm/decorator/options/TransactionOptions.d.ts +5 -0
  422. package/dist/vendor/typeorm/decorator/options/TransactionOptions.js +3 -0
  423. package/dist/vendor/typeorm/decorator/options/TransactionOptions.js.map +1 -0
  424. package/dist/vendor/typeorm/decorator/options/UniqueOptions.d.ts +10 -0
  425. package/dist/vendor/typeorm/decorator/options/UniqueOptions.js +3 -0
  426. package/dist/vendor/typeorm/decorator/options/UniqueOptions.js.map +1 -0
  427. package/dist/vendor/typeorm/decorator/options/ValueTransformer.d.ts +13 -0
  428. package/dist/vendor/typeorm/decorator/options/ValueTransformer.js +3 -0
  429. package/dist/vendor/typeorm/decorator/options/ValueTransformer.js.map +1 -0
  430. package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.d.ts +15 -0
  431. package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.js +3 -0
  432. package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.js.map +1 -0
  433. package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.d.ts +40 -0
  434. package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.js +3 -0
  435. package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.js.map +1 -0
  436. package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.d.ts +33 -0
  437. package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.js +3 -0
  438. package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -0
  439. package/dist/vendor/typeorm/decorator/relations/JoinColumn.d.ts +23 -0
  440. package/dist/vendor/typeorm/decorator/relations/JoinColumn.js +28 -0
  441. package/dist/vendor/typeorm/decorator/relations/JoinColumn.js.map +1 -0
  442. package/dist/vendor/typeorm/decorator/relations/JoinTable.d.ts +21 -0
  443. package/dist/vendor/typeorm/decorator/relations/JoinTable.js +35 -0
  444. package/dist/vendor/typeorm/decorator/relations/JoinTable.js.map +1 -0
  445. package/dist/vendor/typeorm/decorator/relations/ManyToMany.d.ts +21 -0
  446. package/dist/vendor/typeorm/decorator/relations/ManyToMany.js +48 -0
  447. package/dist/vendor/typeorm/decorator/relations/ManyToMany.js.map +1 -0
  448. package/dist/vendor/typeorm/decorator/relations/ManyToOne.d.ts +21 -0
  449. package/dist/vendor/typeorm/decorator/relations/ManyToOne.js +48 -0
  450. package/dist/vendor/typeorm/decorator/relations/ManyToOne.js.map +1 -0
  451. package/dist/vendor/typeorm/decorator/relations/OneToMany.d.ts +12 -0
  452. package/dist/vendor/typeorm/decorator/relations/OneToMany.js +39 -0
  453. package/dist/vendor/typeorm/decorator/relations/OneToMany.js.map +1 -0
  454. package/dist/vendor/typeorm/decorator/relations/OneToOne.d.ts +19 -0
  455. package/dist/vendor/typeorm/decorator/relations/OneToOne.js +47 -0
  456. package/dist/vendor/typeorm/decorator/relations/OneToOne.js.map +1 -0
  457. package/dist/vendor/typeorm/decorator/relations/RelationId.d.ts +10 -0
  458. package/dist/vendor/typeorm/decorator/relations/RelationId.js +24 -0
  459. package/dist/vendor/typeorm/decorator/relations/RelationId.js.map +1 -0
  460. package/dist/vendor/typeorm/decorator/tree/Tree.d.ts +12 -0
  461. package/dist/vendor/typeorm/decorator/tree/Tree.js +23 -0
  462. package/dist/vendor/typeorm/decorator/tree/Tree.js.map +1 -0
  463. package/dist/vendor/typeorm/decorator/tree/TreeChildren.d.ts +10 -0
  464. package/dist/vendor/typeorm/decorator/tree/TreeChildren.js +35 -0
  465. package/dist/vendor/typeorm/decorator/tree/TreeChildren.js.map +1 -0
  466. package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.d.ts +4 -0
  467. package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.js +18 -0
  468. package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -0
  469. package/dist/vendor/typeorm/decorator/tree/TreeParent.d.ts +11 -0
  470. package/dist/vendor/typeorm/decorator/tree/TreeParent.js +34 -0
  471. package/dist/vendor/typeorm/decorator/tree/TreeParent.js.map +1 -0
  472. package/dist/vendor/typeorm/driver/Driver.d.ts +241 -0
  473. package/dist/vendor/typeorm/driver/Driver.js +3 -0
  474. package/dist/vendor/typeorm/driver/Driver.js.map +1 -0
  475. package/dist/vendor/typeorm/driver/DriverFactory.d.ts +14 -0
  476. package/dist/vendor/typeorm/driver/DriverFactory.js +100 -0
  477. package/dist/vendor/typeorm/driver/DriverFactory.js.map +1 -0
  478. package/dist/vendor/typeorm/driver/DriverUtils.d.ts +71 -0
  479. package/dist/vendor/typeorm/driver/DriverUtils.js +233 -0
  480. package/dist/vendor/typeorm/driver/DriverUtils.js.map +1 -0
  481. package/dist/vendor/typeorm/driver/Query.d.ts +9 -0
  482. package/dist/vendor/typeorm/driver/Query.js +15 -0
  483. package/dist/vendor/typeorm/driver/Query.js.map +1 -0
  484. package/dist/vendor/typeorm/driver/SqlInMemory.d.ts +8 -0
  485. package/dist/vendor/typeorm/driver/SqlInMemory.js +14 -0
  486. package/dist/vendor/typeorm/driver/SqlInMemory.js.map +1 -0
  487. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +35 -0
  488. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -0
  489. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
  490. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +35 -0
  491. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js +3 -0
  492. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
  493. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.d.ts +322 -0
  494. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +880 -0
  495. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
  496. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +532 -0
  497. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1875 -0
  498. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
  499. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts +35 -0
  500. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
  501. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
  502. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.d.ts +85 -0
  503. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +130 -0
  504. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
  505. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +59 -0
  506. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +180 -0
  507. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
  508. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +69 -0
  509. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js +3 -0
  510. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
  511. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.d.ts +63 -0
  512. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +158 -0
  513. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
  514. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +37 -0
  515. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +144 -0
  516. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
  517. package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.d.ts +31 -0
  518. package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.js +3 -0
  519. package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
  520. package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.d.ts +29 -0
  521. package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.js +78 -0
  522. package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -0
  523. package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.d.ts +39 -0
  524. package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.js +107 -0
  525. package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
  526. package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +34 -0
  527. package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +3 -0
  528. package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -0
  529. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.d.ts +64 -0
  530. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
  531. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
  532. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.d.ts +357 -0
  533. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.js +1006 -0
  534. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -0
  535. package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.d.ts +646 -0
  536. package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.js +2755 -0
  537. package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -0
  538. package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.d.ts +24 -0
  539. package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.js +3 -0
  540. package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
  541. package/dist/vendor/typeorm/driver/cordova/CordovaDriver.d.ts +33 -0
  542. package/dist/vendor/typeorm/driver/cordova/CordovaDriver.js +84 -0
  543. package/dist/vendor/typeorm/driver/cordova/CordovaDriver.js.map +1 -0
  544. package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.d.ts +54 -0
  545. package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.js +146 -0
  546. package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -0
  547. package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.d.ts +21 -0
  548. package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.js +3 -0
  549. package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.js.map +1 -0
  550. package/dist/vendor/typeorm/driver/expo/ExpoDriver.d.ts +15 -0
  551. package/dist/vendor/typeorm/driver/expo/ExpoDriver.js +45 -0
  552. package/dist/vendor/typeorm/driver/expo/ExpoDriver.js.map +1 -0
  553. package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.d.ts +10 -0
  554. package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.js +67 -0
  555. package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -0
  556. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.d.ts +167 -0
  557. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.js +541 -0
  558. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.js.map +1 -0
  559. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.d.ts +96 -0
  560. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.js +185 -0
  561. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.js.map +1 -0
  562. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.d.ts +411 -0
  563. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.js +1345 -0
  564. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.js.map +1 -0
  565. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.d.ts +402 -0
  566. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.js +1017 -0
  567. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.js.map +1 -0
  568. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.d.ts +68 -0
  569. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.js +126 -0
  570. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.js.map +1 -0
  571. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.d.ts +88 -0
  572. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.js +306 -0
  573. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.js.map +1 -0
  574. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.d.ts +124 -0
  575. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.js +331 -0
  576. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.js.map +1 -0
  577. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.d.ts +80 -0
  578. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.js +119 -0
  579. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.js.map +1 -0
  580. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.d.ts +19 -0
  581. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.js +35 -0
  582. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.js.map +1 -0
  583. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.d.ts +100 -0
  584. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.js +261 -0
  585. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.js.map +1 -0
  586. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.d.ts +185 -0
  587. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.js +529 -0
  588. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.js.map +1 -0
  589. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.d.ts +58 -0
  590. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.js +176 -0
  591. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.js.map +1 -0
  592. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.d.ts +12 -0
  593. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.js +181 -0
  594. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.js.map +1 -0
  595. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.d.ts +204 -0
  596. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.js +564 -0
  597. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.js.map +1 -0
  598. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerCode.d.ts +7 -0
  599. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerCode.js +4 -0
  600. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.d.ts +117 -0
  601. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.js +155 -0
  602. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.js.map +1 -0
  603. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.d.ts +97 -0
  604. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.js +3 -0
  605. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.js.map +1 -0
  606. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.d.ts +33 -0
  607. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.js +67 -0
  608. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.js.map +1 -0
  609. package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.d.ts +205 -0
  610. package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.js +3 -0
  611. package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
  612. package/dist/vendor/typeorm/driver/mongodb/MongoDriver.d.ts +281 -0
  613. package/dist/vendor/typeorm/driver/mongodb/MongoDriver.js +446 -0
  614. package/dist/vendor/typeorm/driver/mongodb/MongoDriver.js.map +1 -0
  615. package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.d.ts +752 -0
  616. package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.js +951 -0
  617. package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -0
  618. package/dist/vendor/typeorm/driver/mongodb/bson.typings.d.ts +1588 -0
  619. package/dist/vendor/typeorm/driver/mongodb/bson.typings.js +4 -0
  620. package/dist/vendor/typeorm/driver/mongodb/bson.typings.js.map +1 -0
  621. package/dist/vendor/typeorm/driver/mongodb/typings.d.ts +8064 -0
  622. package/dist/vendor/typeorm/driver/mongodb/typings.js +24 -0
  623. package/dist/vendor/typeorm/driver/mongodb/typings.js.map +1 -0
  624. package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +44 -0
  625. package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js +3 -0
  626. package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -0
  627. package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.d.ts +133 -0
  628. package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.js +3 -0
  629. package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
  630. package/dist/vendor/typeorm/driver/mysql/MysqlDriver.d.ts +344 -0
  631. package/dist/vendor/typeorm/driver/mysql/MysqlDriver.js +1077 -0
  632. package/dist/vendor/typeorm/driver/mysql/MysqlDriver.js.map +1 -0
  633. package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.d.ts +532 -0
  634. package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.js +2341 -0
  635. package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -0
  636. package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.d.ts +45 -0
  637. package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
  638. package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
  639. package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.d.ts +46 -0
  640. package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.js +92 -0
  641. package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -0
  642. package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.d.ts +36 -0
  643. package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.js +101 -0
  644. package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -0
  645. package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.d.ts +41 -0
  646. package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js +3 -0
  647. package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -0
  648. package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.d.ts +51 -0
  649. package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.js +3 -0
  650. package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.js.map +1 -0
  651. package/dist/vendor/typeorm/driver/oracle/OracleDriver.d.ts +332 -0
  652. package/dist/vendor/typeorm/driver/oracle/OracleDriver.js +939 -0
  653. package/dist/vendor/typeorm/driver/oracle/OracleDriver.js.map +1 -0
  654. package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.d.ts +550 -0
  655. package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.js +2135 -0
  656. package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -0
  657. package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +39 -0
  658. package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js +3 -0
  659. package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -0
  660. package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.d.ts +89 -0
  661. package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.js +3 -0
  662. package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
  663. package/dist/vendor/typeorm/driver/postgres/PostgresDriver.d.ts +391 -0
  664. package/dist/vendor/typeorm/driver/postgres/PostgresDriver.js +1494 -0
  665. package/dist/vendor/typeorm/driver/postgres/PostgresDriver.js.map +1 -0
  666. package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.d.ts +691 -0
  667. package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.js +3119 -0
  668. package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -0
  669. package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.d.ts +28 -0
  670. package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.js +3 -0
  671. package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
  672. package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.d.ts +307 -0
  673. package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.js +805 -0
  674. package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -0
  675. package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.d.ts +36 -0
  676. package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.js +116 -0
  677. package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -0
  678. package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
  679. package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.js +3 -0
  680. package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
  681. package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.d.ts +59 -0
  682. package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.js +3 -0
  683. package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.js.map +1 -0
  684. package/dist/vendor/typeorm/driver/sap/SapDriver.d.ts +296 -0
  685. package/dist/vendor/typeorm/driver/sap/SapDriver.js +761 -0
  686. package/dist/vendor/typeorm/driver/sap/SapDriver.js.map +1 -0
  687. package/dist/vendor/typeorm/driver/sap/SapQueryRunner.d.ts +565 -0
  688. package/dist/vendor/typeorm/driver/sap/SapQueryRunner.js +2452 -0
  689. package/dist/vendor/typeorm/driver/sap/SapQueryRunner.js.map +1 -0
  690. package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +30 -0
  691. package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
  692. package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
  693. package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.d.ts +123 -0
  694. package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.js +3 -0
  695. package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
  696. package/dist/vendor/typeorm/driver/spanner/SpannerDriver.d.ts +302 -0
  697. package/dist/vendor/typeorm/driver/spanner/SpannerDriver.js +673 -0
  698. package/dist/vendor/typeorm/driver/spanner/SpannerDriver.js.map +1 -0
  699. package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.d.ts +574 -0
  700. package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.js +1761 -0
  701. package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -0
  702. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +319 -0
  703. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +770 -0
  704. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -0
  705. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +498 -0
  706. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1732 -0
  707. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -0
  708. package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.d.ts +46 -0
  709. package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.js +3 -0
  710. package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
  711. package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.d.ts +76 -0
  712. package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.js +264 -0
  713. package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.js.map +1 -0
  714. package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.d.ts +40 -0
  715. package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.js +129 -0
  716. package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -0
  717. package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.d.ts +45 -0
  718. package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.js +22 -0
  719. package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -0
  720. package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +43 -0
  721. package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +3 -0
  722. package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -0
  723. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.d.ts +266 -0
  724. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
  725. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
  726. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.d.ts +359 -0
  727. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.js +1056 -0
  728. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -0
  729. package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.d.ts +588 -0
  730. package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.js +2767 -0
  731. package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -0
  732. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  733. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  734. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  735. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  736. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  737. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  738. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  739. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  740. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  741. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  742. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  743. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  744. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  745. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  746. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  747. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  748. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  749. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  750. package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  751. package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  752. package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  753. package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  754. package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  755. package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  756. package/dist/vendor/typeorm/driver/types/ColumnTypes.d.ts +25 -0
  757. package/dist/vendor/typeorm/driver/types/ColumnTypes.js +3 -0
  758. package/dist/vendor/typeorm/driver/types/ColumnTypes.js.map +1 -0
  759. package/dist/vendor/typeorm/driver/types/CteCapabilities.d.ts +18 -0
  760. package/dist/vendor/typeorm/driver/types/CteCapabilities.js +3 -0
  761. package/dist/vendor/typeorm/driver/types/CteCapabilities.js.map +1 -0
  762. package/dist/vendor/typeorm/driver/types/DataTypeDefaults.d.ts +7 -0
  763. package/dist/vendor/typeorm/driver/types/DataTypeDefaults.js +3 -0
  764. package/dist/vendor/typeorm/driver/types/DataTypeDefaults.js.map +1 -0
  765. package/dist/vendor/typeorm/driver/types/DatabaseType.d.ts +4 -0
  766. package/dist/vendor/typeorm/driver/types/DatabaseType.js +3 -0
  767. package/dist/vendor/typeorm/driver/types/DatabaseType.js.map +1 -0
  768. package/dist/vendor/typeorm/driver/types/GeoJsonTypes.d.ts +92 -0
  769. package/dist/vendor/typeorm/driver/types/GeoJsonTypes.js +3 -0
  770. package/dist/vendor/typeorm/driver/types/GeoJsonTypes.js.map +1 -0
  771. package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.d.ts +15 -0
  772. package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.js +3 -0
  773. package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.js.map +1 -0
  774. package/dist/vendor/typeorm/driver/types/IsolationLevel.d.ts +2 -0
  775. package/dist/vendor/typeorm/driver/types/IsolationLevel.js +11 -0
  776. package/dist/vendor/typeorm/driver/types/IsolationLevel.js.map +1 -0
  777. package/dist/vendor/typeorm/driver/types/MappedColumnTypes.d.ts +112 -0
  778. package/dist/vendor/typeorm/driver/types/MappedColumnTypes.js +3 -0
  779. package/dist/vendor/typeorm/driver/types/MappedColumnTypes.js.map +1 -0
  780. package/dist/vendor/typeorm/driver/types/MetadataTableType.d.ts +5 -0
  781. package/dist/vendor/typeorm/driver/types/MetadataTableType.js +10 -0
  782. package/dist/vendor/typeorm/driver/types/MetadataTableType.js.map +1 -0
  783. package/dist/vendor/typeorm/driver/types/ReplicationMode.d.ts +1 -0
  784. package/dist/vendor/typeorm/driver/types/ReplicationMode.js +3 -0
  785. package/dist/vendor/typeorm/driver/types/ReplicationMode.js.map +1 -0
  786. package/dist/vendor/typeorm/driver/types/ReturningType.d.ts +1 -0
  787. package/dist/vendor/typeorm/driver/types/ReturningType.js +3 -0
  788. package/dist/vendor/typeorm/driver/types/ReturningType.js.map +1 -0
  789. package/dist/vendor/typeorm/driver/types/UpsertType.d.ts +1 -0
  790. package/dist/vendor/typeorm/driver/types/UpsertType.js +3 -0
  791. package/dist/vendor/typeorm/driver/types/UpsertType.js.map +1 -0
  792. package/dist/vendor/typeorm/driver/validate-isolation-level.d.ts +9 -0
  793. package/dist/vendor/typeorm/driver/validate-isolation-level.js +23 -0
  794. package/dist/vendor/typeorm/driver/validate-isolation-level.js.map +1 -0
  795. package/dist/vendor/typeorm/entity-manager/EntityManager.d.ts +530 -0
  796. package/dist/vendor/typeorm/entity-manager/EntityManager.js +918 -0
  797. package/dist/vendor/typeorm/entity-manager/EntityManager.js.map +1 -0
  798. package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.d.ts +16 -0
  799. package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.js +27 -0
  800. package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.js.map +1 -0
  801. package/dist/vendor/typeorm/entity-manager/MongoEntityManager.d.ts +441 -0
  802. package/dist/vendor/typeorm/entity-manager/MongoEntityManager.js +948 -0
  803. package/dist/vendor/typeorm/entity-manager/MongoEntityManager.js.map +1 -0
  804. package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.d.ts +30 -0
  805. package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.js +47 -0
  806. package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.js.map +1 -0
  807. package/dist/vendor/typeorm/entity-schema/EntitySchema.d.ts +9 -0
  808. package/dist/vendor/typeorm/entity-schema/EntitySchema.js +14 -0
  809. package/dist/vendor/typeorm/entity-schema/EntitySchema.js.map +1 -0
  810. package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.d.ts +10 -0
  811. package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.js +3 -0
  812. package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -0
  813. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +12 -0
  814. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.js +3 -0
  815. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -0
  816. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.d.ts +170 -0
  817. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.js +3 -0
  818. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -0
  819. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
  820. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +7 -0
  821. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
  822. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
  823. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.js +17 -0
  824. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
  825. package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.d.ts +15 -0
  826. package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.js +3 -0
  827. package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -0
  828. package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.d.ts +16 -0
  829. package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.js +3 -0
  830. package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -0
  831. package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.d.ts +53 -0
  832. package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.js +3 -0
  833. package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -0
  834. package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.d.ts +11 -0
  835. package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.js +3 -0
  836. package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -0
  837. package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.d.ts +118 -0
  838. package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.js +10 -0
  839. package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -0
  840. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.d.ts +15 -0
  841. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.js +3 -0
  842. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -0
  843. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.d.ts +95 -0
  844. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.js +3 -0
  845. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -0
  846. package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.d.ts +15 -0
  847. package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.js +342 -0
  848. package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -0
  849. package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.d.ts +17 -0
  850. package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.js +3 -0
  851. package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -0
  852. package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.d.ts +7 -0
  853. package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.js +15 -0
  854. package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -0
  855. package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.d.ts +7 -0
  856. package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.js +15 -0
  857. package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -0
  858. package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.d.ts +7 -0
  859. package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.js +14 -0
  860. package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -0
  861. package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.d.ts +9 -0
  862. package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.js +20 -0
  863. package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -0
  864. package/dist/vendor/typeorm/error/CannotDetermineEntityError.d.ts +7 -0
  865. package/dist/vendor/typeorm/error/CannotDetermineEntityError.js +15 -0
  866. package/dist/vendor/typeorm/error/CannotDetermineEntityError.js.map +1 -0
  867. package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.d.ts +7 -0
  868. package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.js +14 -0
  869. package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -0
  870. package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.d.ts +7 -0
  871. package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.js +14 -0
  872. package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -0
  873. package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.d.ts +8 -0
  874. package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.js +17 -0
  875. package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -0
  876. package/dist/vendor/typeorm/error/CircularRelationsError.d.ts +7 -0
  877. package/dist/vendor/typeorm/error/CircularRelationsError.js +15 -0
  878. package/dist/vendor/typeorm/error/CircularRelationsError.js.map +1 -0
  879. package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.d.ts +8 -0
  880. package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.js +18 -0
  881. package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.js.map +1 -0
  882. package/dist/vendor/typeorm/error/ConnectionIsNotSetError.d.ts +7 -0
  883. package/dist/vendor/typeorm/error/ConnectionIsNotSetError.js +14 -0
  884. package/dist/vendor/typeorm/error/ConnectionIsNotSetError.js.map +1 -0
  885. package/dist/vendor/typeorm/error/ConnectionNotFoundError.d.ts +7 -0
  886. package/dist/vendor/typeorm/error/ConnectionNotFoundError.js +14 -0
  887. package/dist/vendor/typeorm/error/ConnectionNotFoundError.js.map +1 -0
  888. package/dist/vendor/typeorm/error/DataTypeNotSupportedError.d.ts +7 -0
  889. package/dist/vendor/typeorm/error/DataTypeNotSupportedError.js +13 -0
  890. package/dist/vendor/typeorm/error/DataTypeNotSupportedError.js.map +1 -0
  891. package/dist/vendor/typeorm/error/DriverOptionNotSetError.d.ts +7 -0
  892. package/dist/vendor/typeorm/error/DriverOptionNotSetError.js +15 -0
  893. package/dist/vendor/typeorm/error/DriverOptionNotSetError.js.map +1 -0
  894. package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.d.ts +7 -0
  895. package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.js +14 -0
  896. package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.js.map +1 -0
  897. package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.d.ts +6 -0
  898. package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.js +28 -0
  899. package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.js.map +1 -0
  900. package/dist/vendor/typeorm/error/EntityNotFoundError.d.ts +12 -0
  901. package/dist/vendor/typeorm/error/EntityNotFoundError.js +41 -0
  902. package/dist/vendor/typeorm/error/EntityNotFoundError.js.map +1 -0
  903. package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.d.ts +8 -0
  904. package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.js +16 -0
  905. package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.js.map +1 -0
  906. package/dist/vendor/typeorm/error/FindRelationsNotFoundError.d.ts +7 -0
  907. package/dist/vendor/typeorm/error/FindRelationsNotFoundError.js +22 -0
  908. package/dist/vendor/typeorm/error/FindRelationsNotFoundError.js.map +1 -0
  909. package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.d.ts +8 -0
  910. package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.js +15 -0
  911. package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -0
  912. package/dist/vendor/typeorm/error/InitializedRelationError.d.ts +11 -0
  913. package/dist/vendor/typeorm/error/InitializedRelationError.js +19 -0
  914. package/dist/vendor/typeorm/error/InitializedRelationError.js.map +1 -0
  915. package/dist/vendor/typeorm/error/InsertValuesMissingError.d.ts +7 -0
  916. package/dist/vendor/typeorm/error/InsertValuesMissingError.js +15 -0
  917. package/dist/vendor/typeorm/error/InsertValuesMissingError.js.map +1 -0
  918. package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.d.ts +7 -0
  919. package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.js +14 -0
  920. package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -0
  921. package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.d.ts +7 -0
  922. package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.js +14 -0
  923. package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -0
  924. package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.d.ts +4 -0
  925. package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.js +17 -0
  926. package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.js.map +1 -0
  927. package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.d.ts +4 -0
  928. package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +15 -0
  929. package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -0
  930. package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.d.ts +5 -0
  931. package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.js +11 -0
  932. package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.js.map +1 -0
  933. package/dist/vendor/typeorm/error/MissingDriverError.d.ts +7 -0
  934. package/dist/vendor/typeorm/error/MissingDriverError.js +15 -0
  935. package/dist/vendor/typeorm/error/MissingDriverError.js.map +1 -0
  936. package/dist/vendor/typeorm/error/MissingJoinColumnError.d.ts +6 -0
  937. package/dist/vendor/typeorm/error/MissingJoinColumnError.js +22 -0
  938. package/dist/vendor/typeorm/error/MissingJoinColumnError.js.map +1 -0
  939. package/dist/vendor/typeorm/error/MissingJoinTableError.d.ts +6 -0
  940. package/dist/vendor/typeorm/error/MissingJoinTableError.js +22 -0
  941. package/dist/vendor/typeorm/error/MissingJoinTableError.js.map +1 -0
  942. package/dist/vendor/typeorm/error/MissingPrimaryColumnError.d.ts +5 -0
  943. package/dist/vendor/typeorm/error/MissingPrimaryColumnError.js +12 -0
  944. package/dist/vendor/typeorm/error/MissingPrimaryColumnError.js.map +1 -0
  945. package/dist/vendor/typeorm/error/MustBeEntityError.d.ts +7 -0
  946. package/dist/vendor/typeorm/error/MustBeEntityError.js +14 -0
  947. package/dist/vendor/typeorm/error/MustBeEntityError.js.map +1 -0
  948. package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.d.ts +7 -0
  949. package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.js +14 -0
  950. package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.js.map +1 -0
  951. package/dist/vendor/typeorm/error/NestedSetMultipleRootError.d.ts +4 -0
  952. package/dist/vendor/typeorm/error/NestedSetMultipleRootError.js +11 -0
  953. package/dist/vendor/typeorm/error/NestedSetMultipleRootError.js.map +1 -0
  954. package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.d.ts +7 -0
  955. package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.js +15 -0
  956. package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.js.map +1 -0
  957. package/dist/vendor/typeorm/error/NoConnectionOptionError.d.ts +7 -0
  958. package/dist/vendor/typeorm/error/NoConnectionOptionError.js +15 -0
  959. package/dist/vendor/typeorm/error/NoConnectionOptionError.js.map +1 -0
  960. package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.d.ts +7 -0
  961. package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.js +16 -0
  962. package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -0
  963. package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.d.ts +7 -0
  964. package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.js +14 -0
  965. package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -0
  966. package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.d.ts +7 -0
  967. package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.js +16 -0
  968. package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -0
  969. package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.d.ts +7 -0
  970. package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.js +14 -0
  971. package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -0
  972. package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.d.ts +7 -0
  973. package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.js +14 -0
  974. package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -0
  975. package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.d.ts +7 -0
  976. package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.js +14 -0
  977. package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.js.map +1 -0
  978. package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.d.ts +7 -0
  979. package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.js +14 -0
  980. package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -0
  981. package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.d.ts +4 -0
  982. package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.js +12 -0
  983. package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -0
  984. package/dist/vendor/typeorm/error/QueryFailedError.d.ts +11 -0
  985. package/dist/vendor/typeorm/error/QueryFailedError.js +29 -0
  986. package/dist/vendor/typeorm/error/QueryFailedError.js.map +1 -0
  987. package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.d.ts +4 -0
  988. package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.js +11 -0
  989. package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -0
  990. package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.d.ts +7 -0
  991. package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +15 -0
  992. package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -0
  993. package/dist/vendor/typeorm/error/RepositoryNotTreeError.d.ts +8 -0
  994. package/dist/vendor/typeorm/error/RepositoryNotTreeError.js +31 -0
  995. package/dist/vendor/typeorm/error/RepositoryNotTreeError.js.map +1 -0
  996. package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.d.ts +8 -0
  997. package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.js +15 -0
  998. package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -0
  999. package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.d.ts +8 -0
  1000. package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.js +15 -0
  1001. package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -0
  1002. package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.d.ts +10 -0
  1003. package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.js +16 -0
  1004. package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -0
  1005. package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.d.ts +7 -0
  1006. package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.js +14 -0
  1007. package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.js.map +1 -0
  1008. package/dist/vendor/typeorm/error/TransactionNotStartedError.d.ts +7 -0
  1009. package/dist/vendor/typeorm/error/TransactionNotStartedError.js +14 -0
  1010. package/dist/vendor/typeorm/error/TransactionNotStartedError.js.map +1 -0
  1011. package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.d.ts +5 -0
  1012. package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.js +11 -0
  1013. package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -0
  1014. package/dist/vendor/typeorm/error/TypeORMError.d.ts +4 -0
  1015. package/dist/vendor/typeorm/error/TypeORMError.js +22 -0
  1016. package/dist/vendor/typeorm/error/TypeORMError.js.map +1 -0
  1017. package/dist/vendor/typeorm/error/UpdateValuesMissingError.d.ts +4 -0
  1018. package/dist/vendor/typeorm/error/UpdateValuesMissingError.js +11 -0
  1019. package/dist/vendor/typeorm/error/UpdateValuesMissingError.js.map +1 -0
  1020. package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.d.ts +6 -0
  1021. package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.js +12 -0
  1022. package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -0
  1023. package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +6 -0
  1024. package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +13 -0
  1025. package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -0
  1026. package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.d.ts +6 -0
  1027. package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.js +13 -0
  1028. package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -0
  1029. package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +6 -0
  1030. package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +13 -0
  1031. package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -0
  1032. package/dist/vendor/typeorm/error/index.d.ts +59 -0
  1033. package/dist/vendor/typeorm/error/index.js +63 -0
  1034. package/dist/vendor/typeorm/error/index.js.map +1 -0
  1035. package/dist/vendor/typeorm/find-options/EqualOperator.d.ts +5 -0
  1036. package/dist/vendor/typeorm/find-options/EqualOperator.js +12 -0
  1037. package/dist/vendor/typeorm/find-options/EqualOperator.js.map +1 -0
  1038. package/dist/vendor/typeorm/find-options/FindManyOptions.d.ts +14 -0
  1039. package/dist/vendor/typeorm/find-options/FindManyOptions.js +3 -0
  1040. package/dist/vendor/typeorm/find-options/FindManyOptions.js.map +1 -0
  1041. package/dist/vendor/typeorm/find-options/FindOneOptions.d.ts +80 -0
  1042. package/dist/vendor/typeorm/find-options/FindOneOptions.js +3 -0
  1043. package/dist/vendor/typeorm/find-options/FindOneOptions.js.map +1 -0
  1044. package/dist/vendor/typeorm/find-options/FindOperator.d.ts +67 -0
  1045. package/dist/vendor/typeorm/find-options/FindOperator.js +95 -0
  1046. package/dist/vendor/typeorm/find-options/FindOperator.js.map +1 -0
  1047. package/dist/vendor/typeorm/find-options/FindOperatorType.d.ts +4 -0
  1048. package/dist/vendor/typeorm/find-options/FindOperatorType.js +3 -0
  1049. package/dist/vendor/typeorm/find-options/FindOperatorType.js.map +1 -0
  1050. package/dist/vendor/typeorm/find-options/FindOptionsOrder.d.ts +18 -0
  1051. package/dist/vendor/typeorm/find-options/FindOptionsOrder.js +3 -0
  1052. package/dist/vendor/typeorm/find-options/FindOptionsOrder.js.map +1 -0
  1053. package/dist/vendor/typeorm/find-options/FindOptionsRelations.d.ts +11 -0
  1054. package/dist/vendor/typeorm/find-options/FindOptionsRelations.js +3 -0
  1055. package/dist/vendor/typeorm/find-options/FindOptionsRelations.js.map +1 -0
  1056. package/dist/vendor/typeorm/find-options/FindOptionsSelect.d.ts +11 -0
  1057. package/dist/vendor/typeorm/find-options/FindOptionsSelect.js +3 -0
  1058. package/dist/vendor/typeorm/find-options/FindOptionsSelect.js.map +1 -0
  1059. package/dist/vendor/typeorm/find-options/FindOptionsUtils.d.ts +71 -0
  1060. package/dist/vendor/typeorm/find-options/FindOptionsUtils.js +278 -0
  1061. package/dist/vendor/typeorm/find-options/FindOptionsUtils.js.map +1 -0
  1062. package/dist/vendor/typeorm/find-options/FindOptionsWhere.d.ts +17 -0
  1063. package/dist/vendor/typeorm/find-options/FindOptionsWhere.js +3 -0
  1064. package/dist/vendor/typeorm/find-options/FindOptionsWhere.js.map +1 -0
  1065. package/dist/vendor/typeorm/find-options/FindTreeOptions.d.ts +13 -0
  1066. package/dist/vendor/typeorm/find-options/FindTreeOptions.js +3 -0
  1067. package/dist/vendor/typeorm/find-options/FindTreeOptions.js.map +1 -0
  1068. package/dist/vendor/typeorm/find-options/OrderByCondition.d.ts +16 -0
  1069. package/dist/vendor/typeorm/find-options/OrderByCondition.js +3 -0
  1070. package/dist/vendor/typeorm/find-options/OrderByCondition.js.map +1 -0
  1071. package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
  1072. package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.js +3 -0
  1073. package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
  1074. package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
  1075. package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.js +3 -0
  1076. package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
  1077. package/dist/vendor/typeorm/find-options/operator/And.d.ts +6 -0
  1078. package/dist/vendor/typeorm/find-options/operator/And.js +12 -0
  1079. package/dist/vendor/typeorm/find-options/operator/And.js.map +1 -0
  1080. package/dist/vendor/typeorm/find-options/operator/Any.d.ts +10 -0
  1081. package/dist/vendor/typeorm/find-options/operator/Any.js +16 -0
  1082. package/dist/vendor/typeorm/find-options/operator/Any.js.map +1 -0
  1083. package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.d.ts +10 -0
  1084. package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.js +16 -0
  1085. package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -0
  1086. package/dist/vendor/typeorm/find-options/operator/ArrayContains.d.ts +10 -0
  1087. package/dist/vendor/typeorm/find-options/operator/ArrayContains.js +16 -0
  1088. package/dist/vendor/typeorm/find-options/operator/ArrayContains.js.map +1 -0
  1089. package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.d.ts +10 -0
  1090. package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.js +16 -0
  1091. package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.js.map +1 -0
  1092. package/dist/vendor/typeorm/find-options/operator/Between.d.ts +11 -0
  1093. package/dist/vendor/typeorm/find-options/operator/Between.js +17 -0
  1094. package/dist/vendor/typeorm/find-options/operator/Between.js.map +1 -0
  1095. package/dist/vendor/typeorm/find-options/operator/Equal.d.ts +15 -0
  1096. package/dist/vendor/typeorm/find-options/operator/Equal.js +20 -0
  1097. package/dist/vendor/typeorm/find-options/operator/Equal.js.map +1 -0
  1098. package/dist/vendor/typeorm/find-options/operator/ILike.d.ts +10 -0
  1099. package/dist/vendor/typeorm/find-options/operator/ILike.js +16 -0
  1100. package/dist/vendor/typeorm/find-options/operator/ILike.js.map +1 -0
  1101. package/dist/vendor/typeorm/find-options/operator/In.d.ts +10 -0
  1102. package/dist/vendor/typeorm/find-options/operator/In.js +16 -0
  1103. package/dist/vendor/typeorm/find-options/operator/In.js.map +1 -0
  1104. package/dist/vendor/typeorm/find-options/operator/IsNull.d.ts +9 -0
  1105. package/dist/vendor/typeorm/find-options/operator/IsNull.js +15 -0
  1106. package/dist/vendor/typeorm/find-options/operator/IsNull.js.map +1 -0
  1107. package/dist/vendor/typeorm/find-options/operator/JsonContains.d.ts +10 -0
  1108. package/dist/vendor/typeorm/find-options/operator/JsonContains.js +16 -0
  1109. package/dist/vendor/typeorm/find-options/operator/JsonContains.js.map +1 -0
  1110. package/dist/vendor/typeorm/find-options/operator/LessThan.d.ts +10 -0
  1111. package/dist/vendor/typeorm/find-options/operator/LessThan.js +16 -0
  1112. package/dist/vendor/typeorm/find-options/operator/LessThan.js.map +1 -0
  1113. package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.d.ts +10 -0
  1114. package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.js +16 -0
  1115. package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -0
  1116. package/dist/vendor/typeorm/find-options/operator/Like.d.ts +10 -0
  1117. package/dist/vendor/typeorm/find-options/operator/Like.js +16 -0
  1118. package/dist/vendor/typeorm/find-options/operator/Like.js.map +1 -0
  1119. package/dist/vendor/typeorm/find-options/operator/MoreThan.d.ts +10 -0
  1120. package/dist/vendor/typeorm/find-options/operator/MoreThan.js +16 -0
  1121. package/dist/vendor/typeorm/find-options/operator/MoreThan.js.map +1 -0
  1122. package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.d.ts +10 -0
  1123. package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.js +16 -0
  1124. package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -0
  1125. package/dist/vendor/typeorm/find-options/operator/Not.d.ts +11 -0
  1126. package/dist/vendor/typeorm/find-options/operator/Not.js +17 -0
  1127. package/dist/vendor/typeorm/find-options/operator/Not.js.map +1 -0
  1128. package/dist/vendor/typeorm/find-options/operator/Or.d.ts +6 -0
  1129. package/dist/vendor/typeorm/find-options/operator/Or.js +12 -0
  1130. package/dist/vendor/typeorm/find-options/operator/Or.js.map +1 -0
  1131. package/dist/vendor/typeorm/find-options/operator/Raw.d.ts +31 -0
  1132. package/dist/vendor/typeorm/find-options/operator/Raw.js +11 -0
  1133. package/dist/vendor/typeorm/find-options/operator/Raw.js.map +1 -0
  1134. package/dist/vendor/typeorm/globals.d.ts +6 -0
  1135. package/dist/vendor/typeorm/globals.js +19 -0
  1136. package/dist/vendor/typeorm/globals.js.map +1 -0
  1137. package/dist/vendor/typeorm/index.d.ts +177 -0
  1138. package/dist/vendor/typeorm/index.js +147 -0
  1139. package/dist/vendor/typeorm/index.js.map +1 -0
  1140. package/dist/vendor/typeorm/legacy-naming-strategies/index.d.ts +2 -0
  1141. package/dist/vendor/typeorm/legacy-naming-strategies/index.js +8 -0
  1142. package/dist/vendor/typeorm/legacy-naming-strategies/index.js.map +1 -0
  1143. package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.d.ts +16 -0
  1144. package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.js +48 -0
  1145. package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.js.map +1 -0
  1146. package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.d.ts +4 -0
  1147. package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.js +14 -0
  1148. package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.js.map +1 -0
  1149. package/dist/vendor/typeorm/logger/AbstractLogger.d.ts +82 -0
  1150. package/dist/vendor/typeorm/logger/AbstractLogger.js +270 -0
  1151. package/dist/vendor/typeorm/logger/AbstractLogger.js.map +1 -0
  1152. package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.d.ts +17 -0
  1153. package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.js +59 -0
  1154. package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.js.map +1 -0
  1155. package/dist/vendor/typeorm/logger/DebugLogger.d.ts +26 -0
  1156. package/dist/vendor/typeorm/logger/DebugLogger.js +85 -0
  1157. package/dist/vendor/typeorm/logger/DebugLogger.js.map +1 -0
  1158. package/dist/vendor/typeorm/logger/FileLogger.d.ts +35 -0
  1159. package/dist/vendor/typeorm/logger/FileLogger.js +90 -0
  1160. package/dist/vendor/typeorm/logger/FileLogger.js.map +1 -0
  1161. package/dist/vendor/typeorm/logger/FormattedConsoleLogger.d.ts +17 -0
  1162. package/dist/vendor/typeorm/logger/FormattedConsoleLogger.js +62 -0
  1163. package/dist/vendor/typeorm/logger/FormattedConsoleLogger.js.map +1 -0
  1164. package/dist/vendor/typeorm/logger/Logger.d.ts +64 -0
  1165. package/dist/vendor/typeorm/logger/Logger.js +3 -0
  1166. package/dist/vendor/typeorm/logger/Logger.js.map +1 -0
  1167. package/dist/vendor/typeorm/logger/LoggerFactory.d.ts +14 -0
  1168. package/dist/vendor/typeorm/logger/LoggerFactory.js +41 -0
  1169. package/dist/vendor/typeorm/logger/LoggerFactory.js.map +1 -0
  1170. package/dist/vendor/typeorm/logger/LoggerOptions.d.ts +5 -0
  1171. package/dist/vendor/typeorm/logger/LoggerOptions.js +3 -0
  1172. package/dist/vendor/typeorm/logger/LoggerOptions.js.map +1 -0
  1173. package/dist/vendor/typeorm/logger/SimpleConsoleLogger.d.ts +17 -0
  1174. package/dist/vendor/typeorm/logger/SimpleConsoleLogger.js +60 -0
  1175. package/dist/vendor/typeorm/logger/SimpleConsoleLogger.js.map +1 -0
  1176. package/dist/vendor/typeorm/metadata/CheckMetadata.d.ts +41 -0
  1177. package/dist/vendor/typeorm/metadata/CheckMetadata.js +36 -0
  1178. package/dist/vendor/typeorm/metadata/CheckMetadata.js.map +1 -0
  1179. package/dist/vendor/typeorm/metadata/ColumnMetadata.d.ts +324 -0
  1180. package/dist/vendor/typeorm/metadata/ColumnMetadata.js +624 -0
  1181. package/dist/vendor/typeorm/metadata/ColumnMetadata.js.map +1 -0
  1182. package/dist/vendor/typeorm/metadata/EmbeddedMetadata.d.ts +158 -0
  1183. package/dist/vendor/typeorm/metadata/EmbeddedMetadata.js +214 -0
  1184. package/dist/vendor/typeorm/metadata/EmbeddedMetadata.js.map +1 -0
  1185. package/dist/vendor/typeorm/metadata/EntityListenerMetadata.d.ts +55 -0
  1186. package/dist/vendor/typeorm/metadata/EntityListenerMetadata.js +83 -0
  1187. package/dist/vendor/typeorm/metadata/EntityListenerMetadata.js.map +1 -0
  1188. package/dist/vendor/typeorm/metadata/EntityMetadata.d.ts +619 -0
  1189. package/dist/vendor/typeorm/metadata/EntityMetadata.js +722 -0
  1190. package/dist/vendor/typeorm/metadata/EntityMetadata.js.map +1 -0
  1191. package/dist/vendor/typeorm/metadata/ExclusionMetadata.d.ts +46 -0
  1192. package/dist/vendor/typeorm/metadata/ExclusionMetadata.js +37 -0
  1193. package/dist/vendor/typeorm/metadata/ExclusionMetadata.js.map +1 -0
  1194. package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.d.ts +79 -0
  1195. package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.js +58 -0
  1196. package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.js.map +1 -0
  1197. package/dist/vendor/typeorm/metadata/IndexMetadata.d.ts +125 -0
  1198. package/dist/vendor/typeorm/metadata/IndexMetadata.js +158 -0
  1199. package/dist/vendor/typeorm/metadata/IndexMetadata.js.map +1 -0
  1200. package/dist/vendor/typeorm/metadata/RelationIdMetadata.d.ts +55 -0
  1201. package/dist/vendor/typeorm/metadata/RelationIdMetadata.js +63 -0
  1202. package/dist/vendor/typeorm/metadata/RelationIdMetadata.js.map +1 -0
  1203. package/dist/vendor/typeorm/metadata/RelationMetadata.d.ts +309 -0
  1204. package/dist/vendor/typeorm/metadata/RelationMetadata.js +456 -0
  1205. package/dist/vendor/typeorm/metadata/RelationMetadata.js.map +1 -0
  1206. package/dist/vendor/typeorm/metadata/UniqueMetadata.d.ts +67 -0
  1207. package/dist/vendor/typeorm/metadata/UniqueMetadata.js +108 -0
  1208. package/dist/vendor/typeorm/metadata/UniqueMetadata.js.map +1 -0
  1209. package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.d.ts +11 -0
  1210. package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.js +3 -0
  1211. package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -0
  1212. package/dist/vendor/typeorm/metadata/types/DeferrableType.d.ts +4 -0
  1213. package/dist/vendor/typeorm/metadata/types/DeferrableType.js +3 -0
  1214. package/dist/vendor/typeorm/metadata/types/DeferrableType.js.map +1 -0
  1215. package/dist/vendor/typeorm/metadata/types/EventListenerTypes.d.ts +20 -0
  1216. package/dist/vendor/typeorm/metadata/types/EventListenerTypes.js +21 -0
  1217. package/dist/vendor/typeorm/metadata/types/EventListenerTypes.js.map +1 -0
  1218. package/dist/vendor/typeorm/metadata/types/OnDeleteType.d.ts +4 -0
  1219. package/dist/vendor/typeorm/metadata/types/OnDeleteType.js +3 -0
  1220. package/dist/vendor/typeorm/metadata/types/OnDeleteType.js.map +1 -0
  1221. package/dist/vendor/typeorm/metadata/types/OnUpdateType.d.ts +4 -0
  1222. package/dist/vendor/typeorm/metadata/types/OnUpdateType.js +3 -0
  1223. package/dist/vendor/typeorm/metadata/types/OnUpdateType.js.map +1 -0
  1224. package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.d.ts +4 -0
  1225. package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.js +3 -0
  1226. package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -0
  1227. package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.d.ts +5 -0
  1228. package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.js +3 -0
  1229. package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -0
  1230. package/dist/vendor/typeorm/metadata/types/RelationTypes.d.ts +4 -0
  1231. package/dist/vendor/typeorm/metadata/types/RelationTypes.js +3 -0
  1232. package/dist/vendor/typeorm/metadata/types/RelationTypes.js.map +1 -0
  1233. package/dist/vendor/typeorm/metadata/types/TableTypes.d.ts +4 -0
  1234. package/dist/vendor/typeorm/metadata/types/TableTypes.js +3 -0
  1235. package/dist/vendor/typeorm/metadata/types/TableTypes.js.map +1 -0
  1236. package/dist/vendor/typeorm/metadata/types/TreeTypes.d.ts +5 -0
  1237. package/dist/vendor/typeorm/metadata/types/TreeTypes.js +3 -0
  1238. package/dist/vendor/typeorm/metadata/types/TreeTypes.js.map +1 -0
  1239. package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.d.ts +17 -0
  1240. package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.js +3 -0
  1241. package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -0
  1242. package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.d.ts +25 -0
  1243. package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.js +3 -0
  1244. package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -0
  1245. package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.d.ts +13 -0
  1246. package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js +3 -0
  1247. package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -0
  1248. package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.d.ts +26 -0
  1249. package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.js +3 -0
  1250. package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -0
  1251. package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.d.ts +18 -0
  1252. package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.js +3 -0
  1253. package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -0
  1254. package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.d.ts +9 -0
  1255. package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.js +3 -0
  1256. package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -0
  1257. package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.d.ts +22 -0
  1258. package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.js +3 -0
  1259. package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -0
  1260. package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.d.ts +54 -0
  1261. package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.js +3 -0
  1262. package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.js.map +1 -0
  1263. package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.d.ts +17 -0
  1264. package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.js +3 -0
  1265. package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -0
  1266. package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.d.ts +82 -0
  1267. package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.js +3 -0
  1268. package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -0
  1269. package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.d.ts +18 -0
  1270. package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.js +3 -0
  1271. package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -0
  1272. package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.d.ts +26 -0
  1273. package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.js +3 -0
  1274. package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -0
  1275. package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.d.ts +43 -0
  1276. package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.js +3 -0
  1277. package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -0
  1278. package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.d.ts +118 -0
  1279. package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.js +242 -0
  1280. package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -0
  1281. package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.d.ts +13 -0
  1282. package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.js +3 -0
  1283. package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -0
  1284. package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.d.ts +26 -0
  1285. package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.js +3 -0
  1286. package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -0
  1287. package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.d.ts +55 -0
  1288. package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.js +3 -0
  1289. package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -0
  1290. package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.d.ts +66 -0
  1291. package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.js +3 -0
  1292. package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.js.map +1 -0
  1293. package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.d.ts +17 -0
  1294. package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.js +3 -0
  1295. package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -0
  1296. package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.d.ts +25 -0
  1297. package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js +3 -0
  1298. package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -0
  1299. package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.d.ts +19 -0
  1300. package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.js +3 -0
  1301. package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -0
  1302. package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.d.ts +24 -0
  1303. package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.js +3 -0
  1304. package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -0
  1305. package/dist/vendor/typeorm/metadata-args/types/ColumnMode.d.ts +7 -0
  1306. package/dist/vendor/typeorm/metadata-args/types/ColumnMode.js +3 -0
  1307. package/dist/vendor/typeorm/metadata-args/types/ColumnMode.js.map +1 -0
  1308. package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +16 -0
  1309. package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +154 -0
  1310. package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -0
  1311. package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.d.ts +78 -0
  1312. package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.js +835 -0
  1313. package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -0
  1314. package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.d.ts +34 -0
  1315. package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.js +220 -0
  1316. package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -0
  1317. package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.d.ts +35 -0
  1318. package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +301 -0
  1319. package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -0
  1320. package/dist/vendor/typeorm/metadata-builder/MetadataUtils.d.ts +31 -0
  1321. package/dist/vendor/typeorm/metadata-builder/MetadataUtils.js +51 -0
  1322. package/dist/vendor/typeorm/metadata-builder/MetadataUtils.js.map +1 -0
  1323. package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.d.ts +71 -0
  1324. package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.js +216 -0
  1325. package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -0
  1326. package/dist/vendor/typeorm/migration/Migration.d.ts +28 -0
  1327. package/dist/vendor/typeorm/migration/Migration.js +20 -0
  1328. package/dist/vendor/typeorm/migration/Migration.js.map +1 -0
  1329. package/dist/vendor/typeorm/migration/MigrationExecutor.d.ts +115 -0
  1330. package/dist/vendor/typeorm/migration/MigrationExecutor.js +558 -0
  1331. package/dist/vendor/typeorm/migration/MigrationExecutor.js.map +1 -0
  1332. package/dist/vendor/typeorm/migration/MigrationInterface.d.ts +25 -0
  1333. package/dist/vendor/typeorm/migration/MigrationInterface.js +3 -0
  1334. package/dist/vendor/typeorm/migration/MigrationInterface.js.map +1 -0
  1335. package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.d.ts +32 -0
  1336. package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.js +129 -0
  1337. package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -0
  1338. package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.d.ts +109 -0
  1339. package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.js +3 -0
  1340. package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -0
  1341. package/dist/vendor/typeorm/package.json +1 -0
  1342. package/dist/vendor/typeorm/persistence/EntityPersistExecutor.d.ts +21 -0
  1343. package/dist/vendor/typeorm/persistence/EntityPersistExecutor.js +179 -0
  1344. package/dist/vendor/typeorm/persistence/EntityPersistExecutor.js.map +1 -0
  1345. package/dist/vendor/typeorm/persistence/Subject.d.ts +155 -0
  1346. package/dist/vendor/typeorm/persistence/Subject.js +237 -0
  1347. package/dist/vendor/typeorm/persistence/Subject.js.map +1 -0
  1348. package/dist/vendor/typeorm/persistence/SubjectChangeMap.d.ts +23 -0
  1349. package/dist/vendor/typeorm/persistence/SubjectChangeMap.js +3 -0
  1350. package/dist/vendor/typeorm/persistence/SubjectChangeMap.js.map +1 -0
  1351. package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.d.ts +25 -0
  1352. package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.js +231 -0
  1353. package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -0
  1354. package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.d.ts +29 -0
  1355. package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.js +150 -0
  1356. package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -0
  1357. package/dist/vendor/typeorm/persistence/SubjectExecutor.d.ts +123 -0
  1358. package/dist/vendor/typeorm/persistence/SubjectExecutor.js +764 -0
  1359. package/dist/vendor/typeorm/persistence/SubjectExecutor.js.map +1 -0
  1360. package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.d.ts +53 -0
  1361. package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.js +192 -0
  1362. package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.js.map +1 -0
  1363. package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.d.ts +25 -0
  1364. package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +136 -0
  1365. package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -0
  1366. package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +47 -0
  1367. package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +232 -0
  1368. package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -0
  1369. package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.d.ts +33 -0
  1370. package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +193 -0
  1371. package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -0
  1372. package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +33 -0
  1373. package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +160 -0
  1374. package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -0
  1375. package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.d.ts +34 -0
  1376. package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.js +245 -0
  1377. package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -0
  1378. package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.d.ts +23 -0
  1379. package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +129 -0
  1380. package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -0
  1381. package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.d.ts +49 -0
  1382. package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.js +281 -0
  1383. package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -0
  1384. package/dist/vendor/typeorm/platform/DriverPackages.d.ts +10 -0
  1385. package/dist/vendor/typeorm/platform/DriverPackages.js +54 -0
  1386. package/dist/vendor/typeorm/platform/DriverPackages.js.map +1 -0
  1387. package/dist/vendor/typeorm/platform/PlatformTools.d.ts +86 -0
  1388. package/dist/vendor/typeorm/platform/PlatformTools.js +218 -0
  1389. package/dist/vendor/typeorm/platform/PlatformTools.js.map +1 -0
  1390. package/dist/vendor/typeorm/query-builder/Alias.d.ts +22 -0
  1391. package/dist/vendor/typeorm/query-builder/Alias.js +28 -0
  1392. package/dist/vendor/typeorm/query-builder/Alias.js.map +1 -0
  1393. package/dist/vendor/typeorm/query-builder/Brackets.d.ts +18 -0
  1394. package/dist/vendor/typeorm/query-builder/Brackets.js +20 -0
  1395. package/dist/vendor/typeorm/query-builder/Brackets.js.map +1 -0
  1396. package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.d.ts +109 -0
  1397. package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.js +221 -0
  1398. package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -0
  1399. package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.d.ts +18 -0
  1400. package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.js +3 -0
  1401. package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -0
  1402. package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.d.ts +148 -0
  1403. package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.js +1209 -0
  1404. package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.js.map +1 -0
  1405. package/dist/vendor/typeorm/query-builder/JoinAttribute.d.ts +91 -0
  1406. package/dist/vendor/typeorm/query-builder/JoinAttribute.js +163 -0
  1407. package/dist/vendor/typeorm/query-builder/JoinAttribute.js.map +1 -0
  1408. package/dist/vendor/typeorm/query-builder/JoinOptions.d.ts +3 -0
  1409. package/dist/vendor/typeorm/query-builder/JoinOptions.js +3 -0
  1410. package/dist/vendor/typeorm/query-builder/JoinOptions.js.map +1 -0
  1411. package/dist/vendor/typeorm/query-builder/NotBrackets.d.ts +8 -0
  1412. package/dist/vendor/typeorm/query-builder/NotBrackets.js +16 -0
  1413. package/dist/vendor/typeorm/query-builder/NotBrackets.js.map +1 -0
  1414. package/dist/vendor/typeorm/query-builder/QueryBuilder.d.ts +327 -0
  1415. package/dist/vendor/typeorm/query-builder/QueryBuilder.js +1217 -0
  1416. package/dist/vendor/typeorm/query-builder/QueryBuilder.js.map +1 -0
  1417. package/dist/vendor/typeorm/query-builder/QueryBuilderCte.d.ts +17 -0
  1418. package/dist/vendor/typeorm/query-builder/QueryBuilderCte.js +3 -0
  1419. package/dist/vendor/typeorm/query-builder/QueryBuilderCte.js.map +1 -0
  1420. package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.d.ts +12 -0
  1421. package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.js +33 -0
  1422. package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.js.map +1 -0
  1423. package/dist/vendor/typeorm/query-builder/QueryExpressionMap.d.ts +319 -0
  1424. package/dist/vendor/typeorm/query-builder/QueryExpressionMap.js +325 -0
  1425. package/dist/vendor/typeorm/query-builder/QueryExpressionMap.js.map +1 -0
  1426. package/dist/vendor/typeorm/query-builder/QueryPartialEntity.d.ts +15 -0
  1427. package/dist/vendor/typeorm/query-builder/QueryPartialEntity.js +3 -0
  1428. package/dist/vendor/typeorm/query-builder/QueryPartialEntity.js.map +1 -0
  1429. package/dist/vendor/typeorm/query-builder/RelationIdLoader.d.ts +71 -0
  1430. package/dist/vendor/typeorm/query-builder/RelationIdLoader.js +516 -0
  1431. package/dist/vendor/typeorm/query-builder/RelationIdLoader.js.map +1 -0
  1432. package/dist/vendor/typeorm/query-builder/RelationLoader.d.ts +103 -0
  1433. package/dist/vendor/typeorm/query-builder/RelationLoader.js +342 -0
  1434. package/dist/vendor/typeorm/query-builder/RelationLoader.js.map +1 -0
  1435. package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.d.ts +70 -0
  1436. package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.js +155 -0
  1437. package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.js.map +1 -0
  1438. package/dist/vendor/typeorm/query-builder/RelationRemover.d.ts +18 -0
  1439. package/dist/vendor/typeorm/query-builder/RelationRemover.js +144 -0
  1440. package/dist/vendor/typeorm/query-builder/RelationRemover.js.map +1 -0
  1441. package/dist/vendor/typeorm/query-builder/RelationUpdater.d.ts +18 -0
  1442. package/dist/vendor/typeorm/query-builder/RelationUpdater.js +153 -0
  1443. package/dist/vendor/typeorm/query-builder/RelationUpdater.js.map +1 -0
  1444. package/dist/vendor/typeorm/query-builder/ReturningOption.d.ts +4 -0
  1445. package/dist/vendor/typeorm/query-builder/ReturningOption.js +3 -0
  1446. package/dist/vendor/typeorm/query-builder/ReturningOption.js.map +1 -0
  1447. package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.d.ts +36 -0
  1448. package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.js +181 -0
  1449. package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -0
  1450. package/dist/vendor/typeorm/query-builder/SelectQuery.d.ts +5 -0
  1451. package/dist/vendor/typeorm/query-builder/SelectQuery.js +3 -0
  1452. package/dist/vendor/typeorm/query-builder/SelectQuery.js.map +1 -0
  1453. package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.d.ts +765 -0
  1454. package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.js +2803 -0
  1455. package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.js.map +1 -0
  1456. package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.d.ts +1 -0
  1457. package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.js +3 -0
  1458. package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -0
  1459. package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.d.ts +166 -0
  1460. package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.js +409 -0
  1461. package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
  1462. package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.d.ts +170 -0
  1463. package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.js +535 -0
  1464. package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -0
  1465. package/dist/vendor/typeorm/query-builder/WhereClause.d.ts +16 -0
  1466. package/dist/vendor/typeorm/query-builder/WhereClause.js +3 -0
  1467. package/dist/vendor/typeorm/query-builder/WhereClause.js.map +1 -0
  1468. package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.d.ts +121 -0
  1469. package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.js +3 -0
  1470. package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -0
  1471. package/dist/vendor/typeorm/query-builder/index.d.ts +4 -0
  1472. package/dist/vendor/typeorm/query-builder/index.js +22 -0
  1473. package/dist/vendor/typeorm/query-builder/index.js.map +1 -0
  1474. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.d.ts +64 -0
  1475. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.js +87 -0
  1476. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -0
  1477. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.d.ts +5 -0
  1478. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.js +3 -0
  1479. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -0
  1480. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.d.ts +12 -0
  1481. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.js +284 -0
  1482. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -0
  1483. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +7 -0
  1484. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +54 -0
  1485. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -0
  1486. package/dist/vendor/typeorm/query-builder/result/DeleteResult.d.ts +16 -0
  1487. package/dist/vendor/typeorm/query-builder/result/DeleteResult.js +16 -0
  1488. package/dist/vendor/typeorm/query-builder/result/DeleteResult.js.map +1 -0
  1489. package/dist/vendor/typeorm/query-builder/result/InsertResult.d.ts +22 -0
  1490. package/dist/vendor/typeorm/query-builder/result/InsertResult.js +27 -0
  1491. package/dist/vendor/typeorm/query-builder/result/InsertResult.js.map +1 -0
  1492. package/dist/vendor/typeorm/query-builder/result/UpdateResult.d.ts +26 -0
  1493. package/dist/vendor/typeorm/query-builder/result/UpdateResult.js +28 -0
  1494. package/dist/vendor/typeorm/query-builder/result/UpdateResult.js.map +1 -0
  1495. package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.d.ts +11 -0
  1496. package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +109 -0
  1497. package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -0
  1498. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +12 -0
  1499. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +120 -0
  1500. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -0
  1501. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +19 -0
  1502. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +96 -0
  1503. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -0
  1504. package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +81 -0
  1505. package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +450 -0
  1506. package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -0
  1507. package/dist/vendor/typeorm/query-runner/BaseQueryRunner.d.ts +318 -0
  1508. package/dist/vendor/typeorm/query-runner/BaseQueryRunner.js +543 -0
  1509. package/dist/vendor/typeorm/query-runner/BaseQueryRunner.js.map +1 -0
  1510. package/dist/vendor/typeorm/query-runner/QueryLock.d.ts +4 -0
  1511. package/dist/vendor/typeorm/query-runner/QueryLock.js +30 -0
  1512. package/dist/vendor/typeorm/query-runner/QueryLock.js.map +1 -0
  1513. package/dist/vendor/typeorm/query-runner/QueryResult.d.ts +17 -0
  1514. package/dist/vendor/typeorm/query-runner/QueryResult.js +16 -0
  1515. package/dist/vendor/typeorm/query-runner/QueryResult.js.map +1 -0
  1516. package/dist/vendor/typeorm/query-runner/QueryRunner.d.ts +380 -0
  1517. package/dist/vendor/typeorm/query-runner/QueryRunner.js +3 -0
  1518. package/dist/vendor/typeorm/query-runner/QueryRunner.js.map +1 -0
  1519. package/dist/vendor/typeorm/repository/BaseEntity.d.ts +387 -0
  1520. package/dist/vendor/typeorm/repository/BaseEntity.js +387 -0
  1521. package/dist/vendor/typeorm/repository/BaseEntity.js.map +1 -0
  1522. package/dist/vendor/typeorm/repository/EntityId.d.ts +2 -0
  1523. package/dist/vendor/typeorm/repository/EntityId.js +3 -0
  1524. package/dist/vendor/typeorm/repository/EntityId.js.map +1 -0
  1525. package/dist/vendor/typeorm/repository/FindTreesOptions.d.ts +9 -0
  1526. package/dist/vendor/typeorm/repository/FindTreesOptions.js +3 -0
  1527. package/dist/vendor/typeorm/repository/FindTreesOptions.js.map +1 -0
  1528. package/dist/vendor/typeorm/repository/MongoRepository.d.ts +313 -0
  1529. package/dist/vendor/typeorm/repository/MongoRepository.js +389 -0
  1530. package/dist/vendor/typeorm/repository/MongoRepository.js.map +1 -0
  1531. package/dist/vendor/typeorm/repository/RemoveOptions.d.ts +27 -0
  1532. package/dist/vendor/typeorm/repository/RemoveOptions.js +3 -0
  1533. package/dist/vendor/typeorm/repository/RemoveOptions.js.map +1 -0
  1534. package/dist/vendor/typeorm/repository/Repository.d.ts +409 -0
  1535. package/dist/vendor/typeorm/repository/Repository.js +442 -0
  1536. package/dist/vendor/typeorm/repository/Repository.js.map +1 -0
  1537. package/dist/vendor/typeorm/repository/SaveOptions.d.ts +35 -0
  1538. package/dist/vendor/typeorm/repository/SaveOptions.js +3 -0
  1539. package/dist/vendor/typeorm/repository/SaveOptions.js.map +1 -0
  1540. package/dist/vendor/typeorm/repository/TreeRepository.d.ts +79 -0
  1541. package/dist/vendor/typeorm/repository/TreeRepository.js +282 -0
  1542. package/dist/vendor/typeorm/repository/TreeRepository.js.map +1 -0
  1543. package/dist/vendor/typeorm/repository/UpdateOptions.d.ts +11 -0
  1544. package/dist/vendor/typeorm/repository/UpdateOptions.js +3 -0
  1545. package/dist/vendor/typeorm/repository/UpdateOptions.js.map +1 -0
  1546. package/dist/vendor/typeorm/repository/UpsertOptions.d.ts +26 -0
  1547. package/dist/vendor/typeorm/repository/UpsertOptions.js +3 -0
  1548. package/dist/vendor/typeorm/repository/UpsertOptions.js.map +1 -0
  1549. package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.d.ts +29 -0
  1550. package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.js +65 -0
  1551. package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -0
  1552. package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.d.ts +174 -0
  1553. package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.js +944 -0
  1554. package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -0
  1555. package/dist/vendor/typeorm/schema-builder/SchemaBuilder.d.ts +14 -0
  1556. package/dist/vendor/typeorm/schema-builder/SchemaBuilder.js +3 -0
  1557. package/dist/vendor/typeorm/schema-builder/SchemaBuilder.js.map +1 -0
  1558. package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.d.ts +17 -0
  1559. package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.js +3 -0
  1560. package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -0
  1561. package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.d.ts +112 -0
  1562. package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.js +3 -0
  1563. package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -0
  1564. package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.d.ts +18 -0
  1565. package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.js +3 -0
  1566. package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -0
  1567. package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.d.ts +44 -0
  1568. package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.js +3 -0
  1569. package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -0
  1570. package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.d.ts +56 -0
  1571. package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.js +3 -0
  1572. package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -0
  1573. package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.d.ts +1 -0
  1574. package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.js +3 -0
  1575. package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.js.map +1 -0
  1576. package/dist/vendor/typeorm/schema-builder/options/TableOptions.d.ts +65 -0
  1577. package/dist/vendor/typeorm/schema-builder/options/TableOptions.js +3 -0
  1578. package/dist/vendor/typeorm/schema-builder/options/TableOptions.js.map +1 -0
  1579. package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.d.ts +18 -0
  1580. package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.js +3 -0
  1581. package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -0
  1582. package/dist/vendor/typeorm/schema-builder/options/ViewOptions.d.ts +27 -0
  1583. package/dist/vendor/typeorm/schema-builder/options/ViewOptions.js +3 -0
  1584. package/dist/vendor/typeorm/schema-builder/options/ViewOptions.js.map +1 -0
  1585. package/dist/vendor/typeorm/schema-builder/table/Table.d.ts +183 -0
  1586. package/dist/vendor/typeorm/schema-builder/table/Table.js +332 -0
  1587. package/dist/vendor/typeorm/schema-builder/table/Table.js.map +1 -0
  1588. package/dist/vendor/typeorm/schema-builder/table/TableCheck.d.ts +31 -0
  1589. package/dist/vendor/typeorm/schema-builder/table/TableCheck.js +50 -0
  1590. package/dist/vendor/typeorm/schema-builder/table/TableCheck.js.map +1 -0
  1591. package/dist/vendor/typeorm/schema-builder/table/TableColumn.d.ts +116 -0
  1592. package/dist/vendor/typeorm/schema-builder/table/TableColumn.js +107 -0
  1593. package/dist/vendor/typeorm/schema-builder/table/TableColumn.js.map +1 -0
  1594. package/dist/vendor/typeorm/schema-builder/table/TableExclusion.d.ts +32 -0
  1595. package/dist/vendor/typeorm/schema-builder/table/TableExclusion.js +47 -0
  1596. package/dist/vendor/typeorm/schema-builder/table/TableExclusion.js.map +1 -0
  1597. package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.d.ts +60 -0
  1598. package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.js +74 -0
  1599. package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.js.map +1 -0
  1600. package/dist/vendor/typeorm/schema-builder/table/TableIndex.d.ts +70 -0
  1601. package/dist/vendor/typeorm/schema-builder/table/TableIndex.js +72 -0
  1602. package/dist/vendor/typeorm/schema-builder/table/TableIndex.js.map +1 -0
  1603. package/dist/vendor/typeorm/schema-builder/table/TableUnique.d.ts +32 -0
  1604. package/dist/vendor/typeorm/schema-builder/table/TableUnique.js +51 -0
  1605. package/dist/vendor/typeorm/schema-builder/table/TableUnique.js.map +1 -0
  1606. package/dist/vendor/typeorm/schema-builder/util/TableUtils.d.ts +6 -0
  1607. package/dist/vendor/typeorm/schema-builder/util/TableUtils.js +38 -0
  1608. package/dist/vendor/typeorm/schema-builder/util/TableUtils.js.map +1 -0
  1609. package/dist/vendor/typeorm/schema-builder/util/ViewUtils.d.ts +10 -0
  1610. package/dist/vendor/typeorm/schema-builder/util/ViewUtils.js +29 -0
  1611. package/dist/vendor/typeorm/schema-builder/util/ViewUtils.js.map +1 -0
  1612. package/dist/vendor/typeorm/schema-builder/view/View.d.ts +60 -0
  1613. package/dist/vendor/typeorm/schema-builder/view/View.js +77 -0
  1614. package/dist/vendor/typeorm/schema-builder/view/View.js.map +1 -0
  1615. package/dist/vendor/typeorm/subscriber/Broadcaster.d.ts +263 -0
  1616. package/dist/vendor/typeorm/subscriber/Broadcaster.js +761 -0
  1617. package/dist/vendor/typeorm/subscriber/Broadcaster.js.map +1 -0
  1618. package/dist/vendor/typeorm/subscriber/BroadcasterResult.d.ts +17 -0
  1619. package/dist/vendor/typeorm/subscriber/BroadcasterResult.js +29 -0
  1620. package/dist/vendor/typeorm/subscriber/BroadcasterResult.js.map +1 -0
  1621. package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.d.ts +101 -0
  1622. package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.js +3 -0
  1623. package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -0
  1624. package/dist/vendor/typeorm/subscriber/event/BaseEvent.d.ts +28 -0
  1625. package/dist/vendor/typeorm/subscriber/event/BaseEvent.js +3 -0
  1626. package/dist/vendor/typeorm/subscriber/event/BaseEvent.js.map +1 -0
  1627. package/dist/vendor/typeorm/subscriber/event/InsertEvent.d.ts +20 -0
  1628. package/dist/vendor/typeorm/subscriber/event/InsertEvent.js +3 -0
  1629. package/dist/vendor/typeorm/subscriber/event/InsertEvent.js.map +1 -0
  1630. package/dist/vendor/typeorm/subscriber/event/LoadEvent.d.ts +15 -0
  1631. package/dist/vendor/typeorm/subscriber/event/LoadEvent.js +3 -0
  1632. package/dist/vendor/typeorm/subscriber/event/LoadEvent.js.map +1 -0
  1633. package/dist/vendor/typeorm/subscriber/event/QueryEvent.d.ts +35 -0
  1634. package/dist/vendor/typeorm/subscriber/event/QueryEvent.js +3 -0
  1635. package/dist/vendor/typeorm/subscriber/event/QueryEvent.js.map +1 -0
  1636. package/dist/vendor/typeorm/subscriber/event/RecoverEvent.d.ts +6 -0
  1637. package/dist/vendor/typeorm/subscriber/event/RecoverEvent.js +3 -0
  1638. package/dist/vendor/typeorm/subscriber/event/RecoverEvent.js.map +1 -0
  1639. package/dist/vendor/typeorm/subscriber/event/RemoveEvent.d.ts +24 -0
  1640. package/dist/vendor/typeorm/subscriber/event/RemoveEvent.js +3 -0
  1641. package/dist/vendor/typeorm/subscriber/event/RemoveEvent.js.map +1 -0
  1642. package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.d.ts +6 -0
  1643. package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.js +3 -0
  1644. package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -0
  1645. package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.d.ts +6 -0
  1646. package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.js +3 -0
  1647. package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -0
  1648. package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.d.ts +6 -0
  1649. package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.js +3 -0
  1650. package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  1651. package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.d.ts +6 -0
  1652. package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.js +3 -0
  1653. package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -0
  1654. package/dist/vendor/typeorm/subscriber/event/UpdateEvent.d.ts +34 -0
  1655. package/dist/vendor/typeorm/subscriber/event/UpdateEvent.js +3 -0
  1656. package/dist/vendor/typeorm/subscriber/event/UpdateEvent.js.map +1 -0
  1657. package/dist/vendor/typeorm/util/ApplyValueTransformers.d.ts +5 -0
  1658. package/dist/vendor/typeorm/util/ApplyValueTransformers.js +29 -0
  1659. package/dist/vendor/typeorm/util/ApplyValueTransformers.js.map +1 -0
  1660. package/dist/vendor/typeorm/util/DateUtils.d.ts +110 -0
  1661. package/dist/vendor/typeorm/util/DateUtils.js +299 -0
  1662. package/dist/vendor/typeorm/util/DateUtils.js.map +1 -0
  1663. package/dist/vendor/typeorm/util/DepGraph.d.ts +90 -0
  1664. package/dist/vendor/typeorm/util/DepGraph.js +255 -0
  1665. package/dist/vendor/typeorm/util/DepGraph.js.map +1 -0
  1666. package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.d.ts +9 -0
  1667. package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.js +60 -0
  1668. package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -0
  1669. package/dist/vendor/typeorm/util/ImportUtils.d.ts +5 -0
  1670. package/dist/vendor/typeorm/util/ImportUtils.js +107 -0
  1671. package/dist/vendor/typeorm/util/ImportUtils.js.map +1 -0
  1672. package/dist/vendor/typeorm/util/InstanceChecker.d.ts +61 -0
  1673. package/dist/vendor/typeorm/util/InstanceChecker.js +103 -0
  1674. package/dist/vendor/typeorm/util/InstanceChecker.js.map +1 -0
  1675. package/dist/vendor/typeorm/util/ObjectUtils.d.ts +54 -0
  1676. package/dist/vendor/typeorm/util/ObjectUtils.js +55 -0
  1677. package/dist/vendor/typeorm/util/ObjectUtils.js.map +1 -0
  1678. package/dist/vendor/typeorm/util/OrmUtils.d.ts +133 -0
  1679. package/dist/vendor/typeorm/util/OrmUtils.js +572 -0
  1680. package/dist/vendor/typeorm/util/OrmUtils.js.map +1 -0
  1681. package/dist/vendor/typeorm/util/PathUtils.d.ts +18 -0
  1682. package/dist/vendor/typeorm/util/PathUtils.js +40 -0
  1683. package/dist/vendor/typeorm/util/PathUtils.js.map +1 -0
  1684. package/dist/vendor/typeorm/util/RandomGenerator.d.ts +17 -0
  1685. package/dist/vendor/typeorm/util/RandomGenerator.js +182 -0
  1686. package/dist/vendor/typeorm/util/RandomGenerator.js.map +1 -0
  1687. package/dist/vendor/typeorm/util/SqlTagUtils.d.ts +18 -0
  1688. package/dist/vendor/typeorm/util/SqlTagUtils.js +49 -0
  1689. package/dist/vendor/typeorm/util/SqlTagUtils.js.map +1 -0
  1690. package/dist/vendor/typeorm/util/StringUtils.d.ts +67 -0
  1691. package/dist/vendor/typeorm/util/StringUtils.js +105 -0
  1692. package/dist/vendor/typeorm/util/StringUtils.js.map +1 -0
  1693. package/dist/vendor/typeorm/util/TreeRepositoryUtils.d.ts +23 -0
  1694. package/dist/vendor/typeorm/util/TreeRepositoryUtils.js +66 -0
  1695. package/dist/vendor/typeorm/util/TreeRepositoryUtils.js.map +1 -0
  1696. package/dist/vendor/typeorm/util/Uint8ArrayUtils.d.ts +3 -0
  1697. package/dist/vendor/typeorm/util/Uint8ArrayUtils.js +45 -0
  1698. package/dist/vendor/typeorm/util/Uint8ArrayUtils.js.map +1 -0
  1699. package/dist/vendor/typeorm/util/VersionUtils.d.ts +3 -0
  1700. package/dist/vendor/typeorm/util/VersionUtils.js +33 -0
  1701. package/dist/vendor/typeorm/util/VersionUtils.js.map +1 -0
  1702. package/dist/vendor/typeorm/util/escapeRegExp.d.ts +1 -0
  1703. package/dist/vendor/typeorm/util/escapeRegExp.js +9 -0
  1704. package/dist/vendor/typeorm/util/escapeRegExp.js.map +1 -0
  1705. package/package.json +114 -8
@@ -0,0 +1,3119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgresQueryRunner = void 0;
4
+ const error_1 = require("../../error");
5
+ const NamedPlaceholdersNotSupportedError_1 = require("../../error/NamedPlaceholdersNotSupportedError");
6
+ const QueryFailedError_1 = require("../../error/QueryFailedError");
7
+ const QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
8
+ const TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
9
+ const BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
10
+ const QueryResult_1 = require("../../query-runner/QueryResult");
11
+ const Table_1 = require("../../schema-builder/table/Table");
12
+ const TableCheck_1 = require("../../schema-builder/table/TableCheck");
13
+ const TableColumn_1 = require("../../schema-builder/table/TableColumn");
14
+ const TableExclusion_1 = require("../../schema-builder/table/TableExclusion");
15
+ const TableForeignKey_1 = require("../../schema-builder/table/TableForeignKey");
16
+ const TableIndex_1 = require("../../schema-builder/table/TableIndex");
17
+ const TableUnique_1 = require("../../schema-builder/table/TableUnique");
18
+ const View_1 = require("../../schema-builder/view/View");
19
+ const Broadcaster_1 = require("../../subscriber/Broadcaster");
20
+ const BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
21
+ const InstanceChecker_1 = require("../../util/InstanceChecker");
22
+ const OrmUtils_1 = require("../../util/OrmUtils");
23
+ const VersionUtils_1 = require("../../util/VersionUtils");
24
+ const DriverUtils_1 = require("../DriverUtils");
25
+ const Query_1 = require("../Query");
26
+ const validate_isolation_level_1 = require("../validate-isolation-level");
27
+ const MetadataTableType_1 = require("../types/MetadataTableType");
28
+ /**
29
+ * Runs queries on a single postgres database connection.
30
+ */
31
+ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
32
+ // -------------------------------------------------------------------------
33
+ // Constructor
34
+ // -------------------------------------------------------------------------
35
+ constructor(driver, mode) {
36
+ super();
37
+ this.driver = driver;
38
+ this.dataSource = driver.dataSource;
39
+ this.mode = mode;
40
+ this.broadcaster = new Broadcaster_1.Broadcaster(this);
41
+ }
42
+ // -------------------------------------------------------------------------
43
+ // Public Methods
44
+ // -------------------------------------------------------------------------
45
+ /**
46
+ * Creates/uses database connection from the connection pool to perform further operations.
47
+ * Returns obtained database connection.
48
+ */
49
+ connect() {
50
+ if (this.databaseConnection)
51
+ return Promise.resolve(this.databaseConnection);
52
+ if (this.databaseConnectionPromise)
53
+ return this.databaseConnectionPromise;
54
+ if (this.mode === "slave" && this.driver.isReplicated) {
55
+ this.databaseConnectionPromise = this.driver
56
+ .obtainSlaveConnection()
57
+ .then(([connection, release]) => {
58
+ this.driver.connectedQueryRunners.push(this);
59
+ this.databaseConnection = connection;
60
+ const onErrorCallback = (err) => this.releasePostgresConnection(err);
61
+ this.releaseCallback = (err) => {
62
+ this.databaseConnection.removeListener("error", onErrorCallback);
63
+ release(err);
64
+ };
65
+ this.databaseConnection.on("error", onErrorCallback);
66
+ return this.databaseConnection;
67
+ });
68
+ }
69
+ else {
70
+ // master
71
+ this.databaseConnectionPromise = this.driver
72
+ .obtainMasterConnection()
73
+ .then(([connection, release]) => {
74
+ this.driver.connectedQueryRunners.push(this);
75
+ this.databaseConnection = connection;
76
+ const onErrorCallback = (err) => this.releasePostgresConnection(err);
77
+ this.releaseCallback = (err) => {
78
+ this.databaseConnection.removeListener("error", onErrorCallback);
79
+ release(err);
80
+ };
81
+ this.databaseConnection.on("error", onErrorCallback);
82
+ return this.databaseConnection;
83
+ });
84
+ }
85
+ return this.databaseConnectionPromise;
86
+ }
87
+ /**
88
+ * Release a connection back to the pool, optionally specifying an Error to release with.
89
+ * Per pg-pool documentation this will prevent the pool from re-using the broken connection.
90
+ *
91
+ * @param err
92
+ */
93
+ async releasePostgresConnection(err) {
94
+ if (this.isReleased) {
95
+ return;
96
+ }
97
+ this.isReleased = true;
98
+ if (this.releaseCallback) {
99
+ this.releaseCallback(err);
100
+ this.releaseCallback = undefined;
101
+ }
102
+ const index = this.driver.connectedQueryRunners.indexOf(this);
103
+ if (index !== -1) {
104
+ this.driver.connectedQueryRunners.splice(index, 1);
105
+ }
106
+ }
107
+ /**
108
+ * Releases used database connection.
109
+ * You cannot use query runner methods once its released.
110
+ */
111
+ release() {
112
+ return this.releasePostgresConnection();
113
+ }
114
+ /**
115
+ * Starts transaction.
116
+ *
117
+ * @param isolationLevel
118
+ */
119
+ async startTransaction(isolationLevel) {
120
+ isolationLevel ??= this.dataSource.options.isolationLevel;
121
+ (0, validate_isolation_level_1.validateIsolationLevel)(this.driver.supportedIsolationLevels, isolationLevel);
122
+ this.isTransactionActive = true;
123
+ try {
124
+ await this.broadcaster.broadcast("BeforeTransactionStart");
125
+ }
126
+ catch (err) {
127
+ this.isTransactionActive = false;
128
+ throw err;
129
+ }
130
+ if (this.transactionDepth === 0) {
131
+ await this.query("START TRANSACTION");
132
+ if (isolationLevel) {
133
+ await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
134
+ }
135
+ }
136
+ else {
137
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
138
+ }
139
+ this.transactionDepth += 1;
140
+ await this.broadcaster.broadcast("AfterTransactionStart");
141
+ }
142
+ /**
143
+ * Commits transaction.
144
+ * Error will be thrown if transaction was not started.
145
+ */
146
+ async commitTransaction() {
147
+ if (!this.isTransactionActive)
148
+ throw new TransactionNotStartedError_1.TransactionNotStartedError();
149
+ await this.broadcaster.broadcast("BeforeTransactionCommit");
150
+ if (this.transactionDepth > 1) {
151
+ await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
152
+ }
153
+ else {
154
+ await this.query("COMMIT");
155
+ this.isTransactionActive = false;
156
+ }
157
+ this.transactionDepth -= 1;
158
+ await this.broadcaster.broadcast("AfterTransactionCommit");
159
+ }
160
+ /**
161
+ * Rollbacks transaction.
162
+ * Error will be thrown if transaction was not started.
163
+ */
164
+ async rollbackTransaction() {
165
+ if (!this.isTransactionActive)
166
+ throw new TransactionNotStartedError_1.TransactionNotStartedError();
167
+ await this.broadcaster.broadcast("BeforeTransactionRollback");
168
+ if (this.transactionDepth > 1) {
169
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
170
+ }
171
+ else {
172
+ await this.query("ROLLBACK");
173
+ this.isTransactionActive = false;
174
+ }
175
+ this.transactionDepth -= 1;
176
+ await this.broadcaster.broadcast("AfterTransactionRollback");
177
+ }
178
+ /**
179
+ * Executes a given SQL query.
180
+ *
181
+ * @param query
182
+ * @param parameters
183
+ * @param useStructuredResult
184
+ */
185
+ async query(query, parameters, useStructuredResult = false) {
186
+ if (this.isReleased)
187
+ throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
188
+ if (parameters && !Array.isArray(parameters))
189
+ throw new NamedPlaceholdersNotSupportedError_1.NamedPlaceholdersNotSupportedError();
190
+ const databaseConnection = await this.connect();
191
+ this.driver.dataSource.logger.logQuery(query, parameters, this);
192
+ await this.broadcaster.broadcast("BeforeQuery", query, parameters);
193
+ const broadcasterResult = new BroadcasterResult_1.BroadcasterResult();
194
+ try {
195
+ const queryStartTime = Date.now();
196
+ const raw = await databaseConnection.query(query, parameters);
197
+ // log slow queries if maxQueryExecution time is set
198
+ const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
199
+ const queryEndTime = Date.now();
200
+ const queryExecutionTime = queryEndTime - queryStartTime;
201
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
202
+ if (maxQueryExecutionTime &&
203
+ queryExecutionTime > maxQueryExecutionTime)
204
+ this.driver.dataSource.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
205
+ const result = new QueryResult_1.QueryResult();
206
+ if (raw) {
207
+ if (raw.hasOwnProperty("rows")) {
208
+ result.records = raw.rows;
209
+ }
210
+ if (raw.hasOwnProperty("rowCount")) {
211
+ result.affected = raw.rowCount;
212
+ }
213
+ switch (raw.command) {
214
+ case "DELETE":
215
+ case "UPDATE":
216
+ // for UPDATE and DELETE query additionally return number of affected rows
217
+ result.raw = [raw.rows, raw.rowCount];
218
+ break;
219
+ default:
220
+ result.raw = raw.rows;
221
+ }
222
+ if (!useStructuredResult) {
223
+ return result.raw;
224
+ }
225
+ }
226
+ return result;
227
+ }
228
+ catch (err) {
229
+ this.driver.dataSource.logger.logQueryError(err, query, parameters, this);
230
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
231
+ throw new QueryFailedError_1.QueryFailedError(query, parameters, err);
232
+ }
233
+ finally {
234
+ await broadcasterResult.wait();
235
+ }
236
+ }
237
+ /**
238
+ * Returns raw data stream.
239
+ *
240
+ * @param query
241
+ * @param parameters
242
+ * @param onEnd
243
+ * @param onError
244
+ */
245
+ async stream(query, parameters, onEnd, onError) {
246
+ const QueryStream = this.driver.loadStreamDependency();
247
+ if (this.isReleased)
248
+ throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
249
+ const databaseConnection = await this.connect();
250
+ this.driver.dataSource.logger.logQuery(query, parameters, this);
251
+ const stream = databaseConnection.query(new QueryStream(query, parameters));
252
+ if (onEnd)
253
+ stream.on("end", onEnd);
254
+ if (onError)
255
+ stream.on("error", onError);
256
+ return stream;
257
+ }
258
+ /**
259
+ * Returns all available database names including system databases.
260
+ */
261
+ async getDatabases() {
262
+ return Promise.resolve([]);
263
+ }
264
+ /**
265
+ * Returns all available schema names including system schemas.
266
+ * If database parameter specified, returns schemas of that database.
267
+ *
268
+ * @param database
269
+ */
270
+ async getSchemas(database) {
271
+ return Promise.resolve([]);
272
+ }
273
+ /**
274
+ * Checks if database with the given name exist.
275
+ *
276
+ * @param database
277
+ */
278
+ async hasDatabase(database) {
279
+ const result = await this.query(`SELECT * FROM pg_database WHERE datname=$1;`, [database]);
280
+ return result.length ? true : false;
281
+ }
282
+ /**
283
+ * Loads currently using database
284
+ */
285
+ async getCurrentDatabase() {
286
+ const query = await this.query(`SELECT * FROM current_database()`);
287
+ return query[0]["current_database"];
288
+ }
289
+ /**
290
+ * Checks if schema with the given name exist.
291
+ *
292
+ * @param schema
293
+ */
294
+ async hasSchema(schema) {
295
+ const result = await this.query(`SELECT * FROM "information_schema"."schemata" WHERE "schema_name" = $1`, [schema]);
296
+ return result.length ? true : false;
297
+ }
298
+ /**
299
+ * Loads currently using database schema
300
+ */
301
+ async getCurrentSchema() {
302
+ const query = await this.query(`SELECT * FROM current_schema()`);
303
+ return query[0]["current_schema"];
304
+ }
305
+ /**
306
+ * Checks if table with the given name exist in the database.
307
+ *
308
+ * @param tableOrName
309
+ */
310
+ async hasTable(tableOrName) {
311
+ const parsedTableName = this.driver.parseTableName(tableOrName);
312
+ parsedTableName.schema ??= await this.getCurrentSchema();
313
+ const sql = `SELECT * FROM "information_schema"."tables" WHERE "table_schema" = $1 AND "table_name" = $2`;
314
+ const result = await this.query(sql, [
315
+ parsedTableName.schema,
316
+ parsedTableName.tableName,
317
+ ]);
318
+ return result.length ? true : false;
319
+ }
320
+ /**
321
+ * Checks if column with the given name exist in the given table.
322
+ *
323
+ * @param tableOrName
324
+ * @param columnName
325
+ */
326
+ async hasColumn(tableOrName, columnName) {
327
+ const parsedTableName = this.driver.parseTableName(tableOrName);
328
+ parsedTableName.schema ??= await this.getCurrentSchema();
329
+ const sql = `SELECT * FROM "information_schema"."columns" WHERE "table_schema" = $1 AND "table_name" = $2 AND "column_name" = $3`;
330
+ const result = await this.query(sql, [
331
+ parsedTableName.schema,
332
+ parsedTableName.tableName,
333
+ columnName,
334
+ ]);
335
+ return result.length ? true : false;
336
+ }
337
+ /**
338
+ * Creates a new database.
339
+ * Note: Postgres does not support database creation inside a transaction block.
340
+ *
341
+ * @param database
342
+ * @param ifNotExists
343
+ */
344
+ async createDatabase(database, ifNotExists) {
345
+ if (ifNotExists) {
346
+ const databaseAlreadyExists = await this.hasDatabase(database);
347
+ if (databaseAlreadyExists)
348
+ return Promise.resolve();
349
+ }
350
+ const up = `CREATE DATABASE ${this.driver.escape(database)}`;
351
+ const down = `DROP DATABASE ${this.driver.escape(database)}`;
352
+ await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
353
+ }
354
+ /**
355
+ * Drops database.
356
+ * Note: Postgres does not support database dropping inside a transaction block.
357
+ *
358
+ * @param database
359
+ * @param ifExists
360
+ */
361
+ async dropDatabase(database, ifExists) {
362
+ const up = ifExists
363
+ ? `DROP DATABASE IF EXISTS ${this.driver.escape(database)}`
364
+ : `DROP DATABASE ${this.driver.escape(database)}`;
365
+ const down = `CREATE DATABASE ${this.driver.escape(database)}`;
366
+ await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
367
+ }
368
+ /**
369
+ * Creates a new table schema.
370
+ *
371
+ * @param schemaPath
372
+ * @param ifNotExists
373
+ */
374
+ async createSchema(schemaPath, ifNotExists) {
375
+ const schema = schemaPath.indexOf(".") === -1
376
+ ? schemaPath
377
+ : schemaPath.split(".")[1];
378
+ const escapedSchema = this.driver.escape(schema);
379
+ const up = ifNotExists
380
+ ? `CREATE SCHEMA IF NOT EXISTS ${escapedSchema}`
381
+ : `CREATE SCHEMA ${escapedSchema}`;
382
+ const down = `DROP SCHEMA ${escapedSchema} CASCADE`;
383
+ await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
384
+ }
385
+ /**
386
+ * Drops table schema.
387
+ *
388
+ * @param schemaPath
389
+ * @param ifExists
390
+ * @param isCascade
391
+ */
392
+ async dropSchema(schemaPath, ifExists, isCascade) {
393
+ const schema = schemaPath.indexOf(".") === -1
394
+ ? schemaPath
395
+ : schemaPath.split(".")[1];
396
+ const escapedSchema = this.driver.escape(schema);
397
+ const up = ifExists
398
+ ? `DROP SCHEMA IF EXISTS ${escapedSchema} ${isCascade ? "CASCADE" : ""}`
399
+ : `DROP SCHEMA ${escapedSchema} ${isCascade ? "CASCADE" : ""}`;
400
+ const down = `CREATE SCHEMA ${escapedSchema}`;
401
+ await this.executeQueries(new Query_1.Query(up), new Query_1.Query(down));
402
+ }
403
+ /**
404
+ * Creates a new table.
405
+ *
406
+ * @param table
407
+ * @param ifNotExists
408
+ * @param createForeignKeys
409
+ * @param createIndices
410
+ */
411
+ async createTable(table, ifNotExists = false, createForeignKeys = true, createIndices = true) {
412
+ if (ifNotExists) {
413
+ const isTableExist = await this.hasTable(table);
414
+ if (isTableExist)
415
+ return Promise.resolve();
416
+ }
417
+ const upQueries = [];
418
+ const downQueries = [];
419
+ // if table have column with ENUM type, we must create this type in postgres.
420
+ const enumColumns = table.columns.filter((column) => column.type === "enum" || column.type === "simple-enum");
421
+ const createdEnumTypes = [];
422
+ for (const column of enumColumns) {
423
+ // TODO: Should also check if values of existing type matches expected ones
424
+ const hasEnum = await this.hasEnumType(table, column);
425
+ const enumName = this.buildEnumName(table, column);
426
+ // if enum with the same "enumName" is defined more then once, me must prevent double creation
427
+ if (!hasEnum && createdEnumTypes.indexOf(enumName) === -1) {
428
+ createdEnumTypes.push(enumName);
429
+ upQueries.push(this.createEnumTypeSql(table, column, enumName));
430
+ downQueries.push(this.dropEnumTypeSql(table, column, enumName));
431
+ }
432
+ }
433
+ // if table have column with generated type, we must add the expression to the metadata table
434
+ const generatedColumns = table.columns.filter((column) => column.generatedType === "STORED" && column.asExpression);
435
+ if (generatedColumns.length > 0) {
436
+ const parsedTableName = this.driver.parseTableName(table);
437
+ parsedTableName.schema ??= await this.getCurrentSchema();
438
+ for (const column of generatedColumns) {
439
+ const insertQuery = this.insertTypeormMetadataSql({
440
+ database: this.driver.database,
441
+ schema: parsedTableName.schema,
442
+ table: parsedTableName.tableName,
443
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
444
+ name: column.name,
445
+ value: column.asExpression,
446
+ });
447
+ const deleteQuery = this.deleteTypeormMetadataSql({
448
+ database: this.driver.database,
449
+ schema: parsedTableName.schema,
450
+ table: parsedTableName.tableName,
451
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
452
+ name: column.name,
453
+ });
454
+ upQueries.push(insertQuery);
455
+ downQueries.push(deleteQuery);
456
+ }
457
+ }
458
+ upQueries.push(this.createTableSql(table, createForeignKeys));
459
+ downQueries.push(this.dropTableSql(table));
460
+ // if createForeignKeys is true, we must drop created foreign keys in down query.
461
+ // createTable does not need separate method to create foreign keys, because it create fk's in the same query with table creation.
462
+ if (createForeignKeys)
463
+ table.foreignKeys.forEach((foreignKey) => downQueries.push(this.dropForeignKeySql(table, foreignKey)));
464
+ if (createIndices) {
465
+ table.indices.forEach((index) => {
466
+ // new index may be passed without name. In this case we generate index name manually.
467
+ index.name ??= this.dataSource.namingStrategy.indexName(table, index.columnNames, index.where);
468
+ upQueries.push(this.createIndexSql(table, index));
469
+ downQueries.push(this.dropIndexSql(table, index));
470
+ });
471
+ }
472
+ if (table.comment) {
473
+ upQueries.push(new Query_1.Query(`COMMENT ON TABLE ${this.escapePath(table)}` +
474
+ ` IS ${this.escapeComment(table.comment)}`));
475
+ downQueries.push(new Query_1.Query(`COMMENT ON TABLE ${this.escapePath(table)}` + ` IS NULL`));
476
+ }
477
+ await this.executeQueries(upQueries, downQueries);
478
+ }
479
+ /**
480
+ * Drops the table.
481
+ *
482
+ * @param target
483
+ * @param ifExists
484
+ * @param dropForeignKeys
485
+ * @param dropIndices
486
+ */
487
+ async dropTable(target, ifExists, dropForeignKeys = true, dropIndices = true) {
488
+ // It needs because if table does not exist and dropForeignKeys or dropIndices is true, we don't need
489
+ // to perform drop queries for foreign keys and indices.
490
+ if (ifExists) {
491
+ const isTableExist = await this.hasTable(target);
492
+ if (!isTableExist)
493
+ return Promise.resolve();
494
+ }
495
+ // if dropTable called with dropForeignKeys = true, we must create foreign keys in down query.
496
+ const createForeignKeys = dropForeignKeys;
497
+ const tablePath = this.getTablePath(target);
498
+ const table = await this.getCachedTable(tablePath);
499
+ const upQueries = [];
500
+ const downQueries = [];
501
+ if (dropIndices) {
502
+ table.indices.forEach((index) => {
503
+ upQueries.push(this.dropIndexSql(table, index));
504
+ downQueries.push(this.createIndexSql(table, index));
505
+ });
506
+ }
507
+ if (dropForeignKeys)
508
+ table.foreignKeys.forEach((foreignKey) => upQueries.push(this.dropForeignKeySql(table, foreignKey)));
509
+ upQueries.push(this.dropTableSql(table));
510
+ downQueries.push(this.createTableSql(table, createForeignKeys));
511
+ // if table had columns with generated type, we must remove the expression from the metadata table
512
+ const generatedColumns = table.columns.filter((column) => column.generatedType);
513
+ if (generatedColumns.length > 0) {
514
+ const parsedTableName = this.driver.parseTableName(table);
515
+ parsedTableName.schema ??= await this.getCurrentSchema();
516
+ for (const column of generatedColumns) {
517
+ const deleteQuery = this.deleteTypeormMetadataSql({
518
+ database: this.driver.database,
519
+ schema: parsedTableName.schema,
520
+ table: parsedTableName.tableName,
521
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
522
+ name: column.name,
523
+ });
524
+ upQueries.push(deleteQuery);
525
+ if (column.asExpression) {
526
+ const insertQuery = this.insertTypeormMetadataSql({
527
+ database: this.driver.database,
528
+ schema: parsedTableName.schema,
529
+ table: parsedTableName.tableName,
530
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
531
+ name: column.name,
532
+ value: column.asExpression,
533
+ });
534
+ downQueries.push(insertQuery);
535
+ }
536
+ }
537
+ }
538
+ await this.executeQueries(upQueries, downQueries);
539
+ }
540
+ /**
541
+ * Creates a new view.
542
+ *
543
+ * @param view
544
+ * @param syncWithMetadata
545
+ */
546
+ async createView(view, syncWithMetadata = false) {
547
+ const upQueries = [];
548
+ const downQueries = [];
549
+ upQueries.push(this.createViewSql(view));
550
+ if (syncWithMetadata)
551
+ upQueries.push(await this.insertViewDefinitionSql(view));
552
+ downQueries.push(this.dropViewSql(view));
553
+ if (syncWithMetadata)
554
+ downQueries.push(await this.deleteViewDefinitionSql(view));
555
+ await this.executeQueries(upQueries, downQueries);
556
+ }
557
+ /**
558
+ * Drops the view.
559
+ *
560
+ * @param target
561
+ * @param ifExists
562
+ */
563
+ async dropView(target, ifExists) {
564
+ const viewName = InstanceChecker_1.InstanceChecker.isView(target) ? target.name : target;
565
+ let view;
566
+ try {
567
+ view = await this.getCachedView(viewName);
568
+ }
569
+ catch {
570
+ if (ifExists)
571
+ return;
572
+ throw new error_1.TypeORMError(`View "${viewName}" does not exist.`);
573
+ }
574
+ await this.executeQueries([
575
+ await this.deleteViewDefinitionSql(view),
576
+ this.dropViewSql(view, ifExists),
577
+ ], [
578
+ await this.insertViewDefinitionSql(view),
579
+ this.createViewSql(view),
580
+ ]);
581
+ }
582
+ /**
583
+ * Renames the given table.
584
+ *
585
+ * @param oldTableOrName
586
+ * @param newTableName
587
+ */
588
+ async renameTable(oldTableOrName, newTableName) {
589
+ const upQueries = [];
590
+ const downQueries = [];
591
+ const oldTable = InstanceChecker_1.InstanceChecker.isTable(oldTableOrName)
592
+ ? oldTableOrName
593
+ : await this.getCachedTable(oldTableOrName);
594
+ const newTable = oldTable.clone();
595
+ let { schema: schemaName, tableName: oldTableName } = this.driver.parseTableName(oldTable);
596
+ schemaName ??= await this.getCurrentSchema();
597
+ newTable.name = schemaName
598
+ ? `${schemaName}.${newTableName}`
599
+ : newTableName;
600
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(oldTable)} RENAME TO "${newTableName}"`));
601
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME TO "${oldTableName}"`));
602
+ const hasGeneratedColumns = oldTable.columns.some((col) => col.generatedType === "STORED");
603
+ if (hasGeneratedColumns) {
604
+ const updateQuery = this.updateTypeormMetadataSql({
605
+ database: this.driver.database,
606
+ schema: schemaName,
607
+ table: oldTableName,
608
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
609
+ valueToSet: { table: newTableName },
610
+ });
611
+ const revertUpdateQuery = this.updateTypeormMetadataSql({
612
+ database: this.driver.database,
613
+ schema: schemaName,
614
+ table: newTableName,
615
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
616
+ valueToSet: { table: oldTableName },
617
+ });
618
+ upQueries.push(updateQuery);
619
+ downQueries.push(revertUpdateQuery);
620
+ }
621
+ // rename column primary key constraint if it has default constraint name
622
+ if (newTable.primaryColumns.length > 0 &&
623
+ !newTable.primaryColumns[0].primaryKeyConstraintName) {
624
+ const columnNames = newTable.primaryColumns.map((column) => column.name);
625
+ const oldPkName = this.dataSource.namingStrategy.primaryKeyName(oldTable, columnNames);
626
+ const newPkName = this.dataSource.namingStrategy.primaryKeyName(newTable, columnNames);
627
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${oldPkName}" TO "${newPkName}"`));
628
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newPkName}" TO "${oldPkName}"`));
629
+ }
630
+ // rename sequences
631
+ newTable.columns.map((col) => {
632
+ if (col.isGenerated && col.generationStrategy === "increment") {
633
+ const sequencePath = this.buildSequencePath(oldTable, col.name);
634
+ const sequenceName = this.buildSequenceName(oldTable, col.name);
635
+ const newSequencePath = this.buildSequencePath(newTable, col.name);
636
+ const newSequenceName = this.buildSequenceName(newTable, col.name);
637
+ const up = `ALTER SEQUENCE ${this.escapePath(sequencePath)} RENAME TO "${newSequenceName}"`;
638
+ const down = `ALTER SEQUENCE ${this.escapePath(newSequencePath)} RENAME TO "${sequenceName}"`;
639
+ upQueries.push(new Query_1.Query(up));
640
+ downQueries.push(new Query_1.Query(down));
641
+ }
642
+ });
643
+ // rename unique constraints
644
+ newTable.uniques.forEach((unique) => {
645
+ const oldUniqueName = this.dataSource.namingStrategy.uniqueConstraintName(oldTable, unique.columnNames);
646
+ // Skip renaming if Unique has user defined constraint name
647
+ if (unique.name !== oldUniqueName)
648
+ return;
649
+ // build new constraint name
650
+ const newUniqueName = this.dataSource.namingStrategy.uniqueConstraintName(newTable, unique.columnNames);
651
+ // build queries
652
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${unique.name}" TO "${newUniqueName}"`));
653
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newUniqueName}" TO "${unique.name}"`));
654
+ // replace constraint name
655
+ unique.name = newUniqueName;
656
+ });
657
+ // rename index constraints
658
+ newTable.indices.forEach((index) => {
659
+ const oldIndexName = this.dataSource.namingStrategy.indexName(oldTable, index.columnNames, index.where);
660
+ // Skip renaming if Index has user defined constraint name
661
+ if (index.name !== oldIndexName)
662
+ return;
663
+ // build new constraint name
664
+ const { schema } = this.driver.parseTableName(newTable);
665
+ const newIndexName = this.dataSource.namingStrategy.indexName(newTable, index.columnNames, index.where);
666
+ // build queries
667
+ const up = schema
668
+ ? `ALTER INDEX "${schema}"."${index.name}" RENAME TO "${newIndexName}"`
669
+ : `ALTER INDEX "${index.name}" RENAME TO "${newIndexName}"`;
670
+ const down = schema
671
+ ? `ALTER INDEX "${schema}"."${newIndexName}" RENAME TO "${index.name}"`
672
+ : `ALTER INDEX "${newIndexName}" RENAME TO "${index.name}"`;
673
+ upQueries.push(new Query_1.Query(up));
674
+ downQueries.push(new Query_1.Query(down));
675
+ // replace constraint name
676
+ index.name = newIndexName;
677
+ });
678
+ // rename foreign key constraints
679
+ newTable.foreignKeys.forEach((foreignKey) => {
680
+ const oldForeignKeyName = this.dataSource.namingStrategy.foreignKeyName(oldTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
681
+ // Skip renaming if foreign key has user defined constraint name
682
+ if (foreignKey.name !== oldForeignKeyName)
683
+ return;
684
+ // build new constraint name
685
+ const newForeignKeyName = this.dataSource.namingStrategy.foreignKeyName(newTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
686
+ // build queries
687
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${foreignKey.name}" TO "${newForeignKeyName}"`));
688
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME CONSTRAINT "${newForeignKeyName}" TO "${foreignKey.name}"`));
689
+ // replace constraint name
690
+ foreignKey.name = newForeignKeyName;
691
+ });
692
+ // rename ENUM types
693
+ const enumColumns = newTable.columns.filter((column) => column.type === "enum" || column.type === "simple-enum");
694
+ for (const column of enumColumns) {
695
+ // skip renaming for user-defined enum name
696
+ if (column.enumName)
697
+ continue;
698
+ const oldEnumType = await this.getUserDefinedTypeName(oldTable, column);
699
+ upQueries.push(new Query_1.Query(`ALTER TYPE "${oldEnumType.schema}"."${oldEnumType.name}" RENAME TO ${this.buildEnumName(newTable, column, false)}`));
700
+ downQueries.push(new Query_1.Query(`ALTER TYPE ${this.buildEnumName(newTable, column)} RENAME TO "${oldEnumType.name}"`));
701
+ }
702
+ await this.executeQueries(upQueries, downQueries);
703
+ }
704
+ /**
705
+ * Creates a new column from the column in the table.
706
+ *
707
+ * @param tableOrName
708
+ * @param column
709
+ */
710
+ async addColumn(tableOrName, column) {
711
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
712
+ ? tableOrName
713
+ : await this.getCachedTable(tableOrName);
714
+ const clonedTable = table.clone();
715
+ const upQueries = [];
716
+ const downQueries = [];
717
+ if (column.type === "enum" || column.type === "simple-enum") {
718
+ const hasEnum = await this.hasEnumType(table, column);
719
+ if (!hasEnum) {
720
+ upQueries.push(this.createEnumTypeSql(table, column));
721
+ downQueries.push(this.dropEnumTypeSql(table, column));
722
+ }
723
+ }
724
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(table, column)}`));
725
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${column.name}"`));
726
+ // create or update primary key constraint
727
+ if (column.isPrimary) {
728
+ const primaryColumns = clonedTable.primaryColumns;
729
+ // if table already have primary key, me must drop it and recreate again
730
+ if (primaryColumns.length > 0) {
731
+ const pkName = primaryColumns[0].primaryKeyConstraintName ??
732
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
733
+ const columnNames = primaryColumns
734
+ .map((column) => `"${column.name}"`)
735
+ .join(", ");
736
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
737
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
738
+ }
739
+ primaryColumns.push(column);
740
+ const pkName = primaryColumns[0].primaryKeyConstraintName ??
741
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
742
+ const columnNames = primaryColumns
743
+ .map((column) => `"${column.name}"`)
744
+ .join(", ");
745
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
746
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
747
+ }
748
+ // create column index
749
+ const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
750
+ index.columnNames[0] === column.name);
751
+ if (columnIndex) {
752
+ upQueries.push(this.createIndexSql(table, columnIndex));
753
+ downQueries.push(this.dropIndexSql(table, columnIndex));
754
+ }
755
+ // create unique constraint
756
+ if (column.isUnique) {
757
+ const uniqueConstraint = new TableUnique_1.TableUnique({
758
+ name: this.dataSource.namingStrategy.uniqueConstraintName(table, [column.name]),
759
+ columnNames: [column.name],
760
+ });
761
+ clonedTable.uniques.push(uniqueConstraint);
762
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${column.name}")`));
763
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
764
+ }
765
+ if (column.generatedType === "STORED" && column.asExpression) {
766
+ const parsedTableName = this.driver.parseTableName(table);
767
+ parsedTableName.schema ??= await this.getCurrentSchema();
768
+ const insertQuery = this.insertTypeormMetadataSql({
769
+ database: this.driver.database,
770
+ schema: parsedTableName.schema,
771
+ table: parsedTableName.tableName,
772
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
773
+ name: column.name,
774
+ value: column.asExpression,
775
+ });
776
+ const deleteQuery = this.deleteTypeormMetadataSql({
777
+ database: this.driver.database,
778
+ schema: parsedTableName.schema,
779
+ table: parsedTableName.tableName,
780
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
781
+ name: column.name,
782
+ });
783
+ upQueries.push(insertQuery);
784
+ downQueries.push(deleteQuery);
785
+ }
786
+ // create column's comment
787
+ if (column.comment) {
788
+ upQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${column.name}" IS ${this.escapeComment(column.comment)}`));
789
+ downQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${column.name}" IS ${this.escapeComment(column.comment)}`));
790
+ }
791
+ await this.executeQueries(upQueries, downQueries);
792
+ clonedTable.addColumn(column);
793
+ this.replaceCachedTable(table, clonedTable);
794
+ }
795
+ /**
796
+ * Creates a new columns from the column in the table.
797
+ *
798
+ * @param tableOrName
799
+ * @param columns
800
+ */
801
+ async addColumns(tableOrName, columns) {
802
+ for (const column of columns) {
803
+ await this.addColumn(tableOrName, column);
804
+ }
805
+ }
806
+ /**
807
+ * Renames column in the given table.
808
+ *
809
+ * @param tableOrName
810
+ * @param oldTableColumnOrName
811
+ * @param newTableColumnOrName
812
+ */
813
+ async renameColumn(tableOrName, oldTableColumnOrName, newTableColumnOrName) {
814
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
815
+ ? tableOrName
816
+ : await this.getCachedTable(tableOrName);
817
+ const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
818
+ ? oldTableColumnOrName
819
+ : table.columns.find((c) => c.name === oldTableColumnOrName);
820
+ if (!oldColumn)
821
+ throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the "${table.name}" table.`);
822
+ let newColumn;
823
+ if (InstanceChecker_1.InstanceChecker.isTableColumn(newTableColumnOrName)) {
824
+ newColumn = newTableColumnOrName;
825
+ }
826
+ else {
827
+ newColumn = oldColumn.clone();
828
+ newColumn.name = newTableColumnOrName;
829
+ }
830
+ return this.changeColumn(table, oldColumn, newColumn);
831
+ }
832
+ /**
833
+ * Changes a column in the table.
834
+ *
835
+ * @param tableOrName
836
+ * @param oldTableColumnOrName
837
+ * @param newColumn
838
+ */
839
+ async changeColumn(tableOrName, oldTableColumnOrName, newColumn) {
840
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
841
+ ? tableOrName
842
+ : await this.getCachedTable(tableOrName);
843
+ let clonedTable = table.clone();
844
+ const upQueries = [];
845
+ const downQueries = [];
846
+ let defaultValueChanged = false;
847
+ const oldColumn = InstanceChecker_1.InstanceChecker.isTableColumn(oldTableColumnOrName)
848
+ ? oldTableColumnOrName
849
+ : table.columns.find((column) => column.name === oldTableColumnOrName);
850
+ if (!oldColumn)
851
+ throw new error_1.TypeORMError(`Column "${oldTableColumnOrName}" was not found in the "${table.name}" table.`);
852
+ if (oldColumn.type !== newColumn.type ||
853
+ oldColumn.length !== newColumn.length ||
854
+ newColumn.isArray !== oldColumn.isArray ||
855
+ (!oldColumn.generatedType &&
856
+ newColumn.generatedType === "STORED") ||
857
+ (oldColumn.asExpression !== newColumn.asExpression &&
858
+ newColumn.generatedType === "STORED")) {
859
+ // To avoid data conversion, we just recreate column
860
+ await this.dropColumn(table, oldColumn);
861
+ await this.addColumn(table, newColumn);
862
+ // update cloned table
863
+ clonedTable = table.clone();
864
+ }
865
+ else {
866
+ if (oldColumn.name !== newColumn.name) {
867
+ // rename column
868
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${oldColumn.name}" TO "${newColumn.name}"`));
869
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${newColumn.name}" TO "${oldColumn.name}"`));
870
+ if (oldColumn.generatedType === "STORED") {
871
+ const parsedTableName = this.driver.parseTableName(table);
872
+ parsedTableName.schema ??= await this.getCurrentSchema();
873
+ const updateQuery = this.updateTypeormMetadataSql({
874
+ database: this.driver.database,
875
+ schema: parsedTableName.schema,
876
+ table: parsedTableName.tableName,
877
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
878
+ name: oldColumn.name,
879
+ valueToSet: { name: newColumn.name },
880
+ });
881
+ const revertUpdateQuery = this.updateTypeormMetadataSql({
882
+ database: this.driver.database,
883
+ schema: parsedTableName.schema,
884
+ table: parsedTableName.tableName,
885
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
886
+ name: newColumn.name,
887
+ valueToSet: { name: oldColumn.name },
888
+ });
889
+ upQueries.push(updateQuery);
890
+ downQueries.push(revertUpdateQuery);
891
+ }
892
+ // rename ENUM type
893
+ if (oldColumn.type === "enum" ||
894
+ oldColumn.type === "simple-enum") {
895
+ const oldEnumType = await this.getUserDefinedTypeName(table, oldColumn);
896
+ upQueries.push(new Query_1.Query(`ALTER TYPE "${oldEnumType.schema}"."${oldEnumType.name}" RENAME TO ${this.buildEnumName(table, newColumn, false)}`));
897
+ downQueries.push(new Query_1.Query(`ALTER TYPE ${this.buildEnumName(table, newColumn)} RENAME TO "${oldEnumType.name}"`));
898
+ }
899
+ // rename column primary key constraint
900
+ if (oldColumn.isPrimary === true &&
901
+ !oldColumn.primaryKeyConstraintName) {
902
+ const primaryColumns = clonedTable.primaryColumns;
903
+ // build old primary constraint name
904
+ const columnNames = primaryColumns.map((column) => column.name);
905
+ const oldPkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, columnNames);
906
+ // replace old column name with new column name
907
+ columnNames.splice(columnNames.indexOf(oldColumn.name), 1);
908
+ columnNames.push(newColumn.name);
909
+ // build new primary constraint name
910
+ const newPkName = this.dataSource.namingStrategy.primaryKeyName(clonedTable, columnNames);
911
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${oldPkName}" TO "${newPkName}"`));
912
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newPkName}" TO "${oldPkName}"`));
913
+ }
914
+ // rename column sequence
915
+ if (oldColumn.isGenerated === true &&
916
+ newColumn.generationStrategy === "increment") {
917
+ const sequencePath = this.buildSequencePath(table, oldColumn.name);
918
+ const sequenceName = this.buildSequenceName(table, oldColumn.name);
919
+ const newSequencePath = this.buildSequencePath(table, newColumn.name);
920
+ const newSequenceName = this.buildSequenceName(table, newColumn.name);
921
+ const up = `ALTER SEQUENCE ${this.escapePath(sequencePath)} RENAME TO "${newSequenceName}"`;
922
+ const down = `ALTER SEQUENCE ${this.escapePath(newSequencePath)} RENAME TO "${sequenceName}"`;
923
+ upQueries.push(new Query_1.Query(up));
924
+ downQueries.push(new Query_1.Query(down));
925
+ }
926
+ // rename unique constraints
927
+ clonedTable.findColumnUniques(oldColumn).forEach((unique) => {
928
+ const oldUniqueName = this.dataSource.namingStrategy.uniqueConstraintName(clonedTable, unique.columnNames);
929
+ // Skip renaming if Unique has user defined constraint name
930
+ if (unique.name !== oldUniqueName)
931
+ return;
932
+ // build new constraint name
933
+ unique.columnNames.splice(unique.columnNames.indexOf(oldColumn.name), 1);
934
+ unique.columnNames.push(newColumn.name);
935
+ const newUniqueName = this.dataSource.namingStrategy.uniqueConstraintName(clonedTable, unique.columnNames);
936
+ // build queries
937
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${unique.name}" TO "${newUniqueName}"`));
938
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newUniqueName}" TO "${unique.name}"`));
939
+ // replace constraint name
940
+ unique.name = newUniqueName;
941
+ });
942
+ // rename index constraints
943
+ clonedTable.findColumnIndices(oldColumn).forEach((index) => {
944
+ const oldIndexName = this.dataSource.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
945
+ // Skip renaming if Index has user defined constraint name
946
+ if (index.name !== oldIndexName)
947
+ return;
948
+ // build new constraint name
949
+ index.columnNames.splice(index.columnNames.indexOf(oldColumn.name), 1);
950
+ index.columnNames.push(newColumn.name);
951
+ const { schema } = this.driver.parseTableName(table);
952
+ const newIndexName = this.dataSource.namingStrategy.indexName(clonedTable, index.columnNames, index.where);
953
+ // build queries
954
+ const up = schema
955
+ ? `ALTER INDEX "${schema}"."${index.name}" RENAME TO "${newIndexName}"`
956
+ : `ALTER INDEX "${index.name}" RENAME TO "${newIndexName}"`;
957
+ const down = schema
958
+ ? `ALTER INDEX "${schema}"."${newIndexName}" RENAME TO "${index.name}"`
959
+ : `ALTER INDEX "${newIndexName}" RENAME TO "${index.name}"`;
960
+ upQueries.push(new Query_1.Query(up));
961
+ downQueries.push(new Query_1.Query(down));
962
+ // replace constraint name
963
+ index.name = newIndexName;
964
+ });
965
+ // rename foreign key constraints
966
+ clonedTable
967
+ .findColumnForeignKeys(oldColumn)
968
+ .forEach((foreignKey) => {
969
+ const foreignKeyName = this.dataSource.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
970
+ // Skip renaming if foreign key has user defined constraint name
971
+ if (foreignKey.name !== foreignKeyName)
972
+ return;
973
+ // build new constraint name
974
+ foreignKey.columnNames.splice(foreignKey.columnNames.indexOf(oldColumn.name), 1);
975
+ foreignKey.columnNames.push(newColumn.name);
976
+ const newForeignKeyName = this.dataSource.namingStrategy.foreignKeyName(clonedTable, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
977
+ // build queries
978
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${foreignKey.name}" TO "${newForeignKeyName}"`));
979
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME CONSTRAINT "${newForeignKeyName}" TO "${foreignKey.name}"`));
980
+ // replace constraint name
981
+ foreignKey.name = newForeignKeyName;
982
+ });
983
+ // rename old column in the Table object
984
+ const oldTableColumn = clonedTable.columns.find((column) => column.name === oldColumn.name);
985
+ clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
986
+ oldColumn.name = newColumn.name;
987
+ }
988
+ if (newColumn.precision !== oldColumn.precision ||
989
+ newColumn.scale !== oldColumn.scale) {
990
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${this.driver.createFullType(newColumn)}`));
991
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${this.driver.createFullType(oldColumn)}`));
992
+ }
993
+ if ((newColumn.type === "enum" ||
994
+ newColumn.type === "simple-enum") &&
995
+ (oldColumn.type === "enum" ||
996
+ oldColumn.type === "simple-enum") &&
997
+ (!OrmUtils_1.OrmUtils.isArraysEqual(newColumn.enum, oldColumn.enum) ||
998
+ newColumn.enumName !== oldColumn.enumName)) {
999
+ const arraySuffix = newColumn.isArray ? "[]" : "";
1000
+ const { extraItems, missingItems } = OrmUtils_1.OrmUtils.getArraysDiff(newColumn.enum, oldColumn.enum);
1001
+ const version = this.driver.version;
1002
+ // when the only change is new enum value(s) we can use ADD VALUE syntax
1003
+ const useAddValueForUp = VersionUtils_1.VersionUtils.isGreaterOrEqual(version, "12.0") &&
1004
+ missingItems.length === 0 &&
1005
+ extraItems.length > 0;
1006
+ // "public"."new_enum"
1007
+ const newEnumName = this.buildEnumName(table, newColumn);
1008
+ // "public"."old_enum"
1009
+ const oldEnumName = this.buildEnumName(table, oldColumn);
1010
+ // "old_enum"
1011
+ const oldEnumNameWithoutSchema = this.buildEnumName(table, oldColumn, false);
1012
+ //"public"."old_enum_old"
1013
+ const oldEnumNameWithSchema_old = this.buildEnumName(table, oldColumn, true, false, true);
1014
+ //"old_enum_old"
1015
+ const oldEnumNameWithoutSchema_old = this.buildEnumName(table, oldColumn, false, false, true);
1016
+ // ADD VALUE allows us to just add new enum values without any type changes, but can of course only be used when only new values were added
1017
+ if (useAddValueForUp) {
1018
+ // Add values for up - that's all we need
1019
+ for (const item of extraItems) {
1020
+ const escapedValue = item.replaceAll("'", "''");
1021
+ upQueries.push(new Query_1.Query(`ALTER TYPE ${oldEnumName} ADD VALUE '${escapedValue}'`));
1022
+ }
1023
+ // For down query, we're be doing the doing the same as normal enum change (create new type, alter column, drop old type)
1024
+ downQueries.push(new Query_1.Query(`ALTER TYPE ${oldEnumNameWithSchema_old} RENAME TO ${oldEnumNameWithoutSchema}`));
1025
+ downQueries.push(this.dropEnumTypeSql(table, newColumn, newEnumName));
1026
+ const downType = `${oldEnumNameWithSchema_old}${arraySuffix} USING "${newColumn.name}"::"text"::${oldEnumNameWithSchema_old}${arraySuffix}`;
1027
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${downType}`));
1028
+ downQueries.push(this.createEnumTypeSql(table, oldColumn, oldEnumNameWithSchema_old));
1029
+ }
1030
+ else {
1031
+ // rename old ENUM
1032
+ upQueries.push(new Query_1.Query(`ALTER TYPE ${oldEnumName} RENAME TO ${oldEnumNameWithoutSchema_old}`));
1033
+ downQueries.push(new Query_1.Query(`ALTER TYPE ${oldEnumNameWithSchema_old} RENAME TO ${oldEnumNameWithoutSchema}`));
1034
+ // create new ENUM
1035
+ upQueries.push(this.createEnumTypeSql(table, newColumn, newEnumName));
1036
+ downQueries.push(this.dropEnumTypeSql(table, newColumn, newEnumName));
1037
+ // if column have default value, we must drop it to avoid issues with type casting
1038
+ if (oldColumn.default !== null &&
1039
+ oldColumn.default !== undefined) {
1040
+ // mark default as changed to prevent double update
1041
+ defaultValueChanged = true;
1042
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" DROP DEFAULT`));
1043
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" SET DEFAULT ${oldColumn.default}`));
1044
+ }
1045
+ // build column types
1046
+ const upType = `${newEnumName}${arraySuffix} USING "${newColumn.name}"::"text"::${newEnumName}${arraySuffix}`;
1047
+ const downType = `${oldEnumNameWithSchema_old}${arraySuffix} USING "${newColumn.name}"::"text"::${oldEnumNameWithSchema_old}${arraySuffix}`;
1048
+ // update column to use new type
1049
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${upType}`));
1050
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${downType}`));
1051
+ // restore column default or create new one
1052
+ if (newColumn.default !== null &&
1053
+ newColumn.default !== undefined) {
1054
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT ${newColumn.default}`));
1055
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1056
+ }
1057
+ // remove old ENUM
1058
+ upQueries.push(this.dropEnumTypeSql(table, oldColumn, oldEnumNameWithSchema_old));
1059
+ downQueries.push(this.createEnumTypeSql(table, oldColumn, oldEnumNameWithSchema_old));
1060
+ }
1061
+ }
1062
+ if (oldColumn.isNullable !== newColumn.isNullable) {
1063
+ if (newColumn.isNullable) {
1064
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" DROP NOT NULL`));
1065
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" SET NOT NULL`));
1066
+ }
1067
+ else {
1068
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" SET NOT NULL`));
1069
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" DROP NOT NULL`));
1070
+ }
1071
+ }
1072
+ if (oldColumn.comment !== newColumn.comment) {
1073
+ upQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${oldColumn.name}" IS ${this.escapeComment(newColumn.comment)}`));
1074
+ downQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${newColumn.name}" IS ${this.escapeComment(oldColumn.comment)}`));
1075
+ }
1076
+ if (newColumn.isPrimary !== oldColumn.isPrimary) {
1077
+ const primaryColumns = clonedTable.primaryColumns;
1078
+ // if primary column state changed, we must always drop existed constraint.
1079
+ if (primaryColumns.length > 0) {
1080
+ const pkName = primaryColumns[0].primaryKeyConstraintName ??
1081
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
1082
+ const columnNames = primaryColumns
1083
+ .map((column) => `"${column.name}"`)
1084
+ .join(", ");
1085
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
1086
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
1087
+ }
1088
+ if (newColumn.isPrimary === true) {
1089
+ primaryColumns.push(newColumn);
1090
+ // update column in table
1091
+ const column = clonedTable.columns.find((column) => column.name === newColumn.name);
1092
+ column.isPrimary = true;
1093
+ const pkName = primaryColumns[0].primaryKeyConstraintName ??
1094
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
1095
+ const columnNames = primaryColumns
1096
+ .map((column) => `"${column.name}"`)
1097
+ .join(", ");
1098
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
1099
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
1100
+ }
1101
+ else {
1102
+ const primaryColumn = primaryColumns.find((c) => c.name === newColumn.name);
1103
+ primaryColumns.splice(primaryColumns.indexOf(primaryColumn), 1);
1104
+ // update column in table
1105
+ const column = clonedTable.columns.find((column) => column.name === newColumn.name);
1106
+ column.isPrimary = false;
1107
+ // if we have another primary keys, we must recreate constraint.
1108
+ if (primaryColumns.length > 0) {
1109
+ const pkName = primaryColumns[0].primaryKeyConstraintName ??
1110
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
1111
+ const columnNames = primaryColumns
1112
+ .map((column) => `"${column.name}"`)
1113
+ .join(", ");
1114
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
1115
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
1116
+ }
1117
+ }
1118
+ }
1119
+ if (newColumn.isUnique !== oldColumn.isUnique) {
1120
+ if (newColumn.isUnique === true) {
1121
+ const uniqueConstraint = new TableUnique_1.TableUnique({
1122
+ name: this.dataSource.namingStrategy.uniqueConstraintName(table, [newColumn.name]),
1123
+ columnNames: [newColumn.name],
1124
+ });
1125
+ clonedTable.uniques.push(uniqueConstraint);
1126
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${newColumn.name}")`));
1127
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
1128
+ }
1129
+ else {
1130
+ const uniqueConstraint = clonedTable.uniques.find((unique) => {
1131
+ return (unique.columnNames.length === 1 &&
1132
+ !!unique.columnNames.find((columnName) => columnName === newColumn.name));
1133
+ });
1134
+ clonedTable.uniques.splice(clonedTable.uniques.indexOf(uniqueConstraint), 1);
1135
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
1136
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE ("${newColumn.name}")`));
1137
+ }
1138
+ }
1139
+ if (oldColumn.isGenerated !== newColumn.isGenerated) {
1140
+ // if old column was "generated", we should clear defaults
1141
+ if (oldColumn.isGenerated) {
1142
+ if (oldColumn.generationStrategy === "uuid") {
1143
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" DROP DEFAULT`));
1144
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${oldColumn.name}" SET DEFAULT ${this.driver.uuidGenerator}`));
1145
+ }
1146
+ else if (oldColumn.generationStrategy === "increment") {
1147
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1148
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT nextval('${this.escapePath(this.buildSequencePath(table, newColumn))}')`));
1149
+ upQueries.push(new Query_1.Query(`DROP SEQUENCE ${this.escapePath(this.buildSequencePath(table, newColumn))}`));
1150
+ downQueries.push(new Query_1.Query(`CREATE SEQUENCE IF NOT EXISTS ${this.escapePath(this.buildSequencePath(table, newColumn))} OWNED BY ${this.escapePath(table)}."${newColumn.name}"`));
1151
+ }
1152
+ }
1153
+ if (newColumn.generationStrategy === "uuid") {
1154
+ if (newColumn.isGenerated === true) {
1155
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT ${this.driver.uuidGenerator}`));
1156
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1157
+ }
1158
+ else {
1159
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1160
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT ${this.driver.uuidGenerator}`));
1161
+ }
1162
+ }
1163
+ else if (newColumn.generationStrategy === "increment") {
1164
+ if (newColumn.isGenerated === true) {
1165
+ upQueries.push(new Query_1.Query(`CREATE SEQUENCE IF NOT EXISTS ${this.escapePath(this.buildSequencePath(table, newColumn))} OWNED BY ${this.escapePath(table)}."${newColumn.name}"`));
1166
+ downQueries.push(new Query_1.Query(`DROP SEQUENCE ${this.escapePath(this.buildSequencePath(table, newColumn))}`));
1167
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT nextval('${this.escapePath(this.buildSequencePath(table, newColumn))}')`));
1168
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1169
+ }
1170
+ else {
1171
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1172
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT nextval('${this.escapePath(this.buildSequencePath(table, newColumn))}')`));
1173
+ upQueries.push(new Query_1.Query(`DROP SEQUENCE ${this.escapePath(this.buildSequencePath(table, newColumn))}`));
1174
+ downQueries.push(new Query_1.Query(`CREATE SEQUENCE IF NOT EXISTS ${this.escapePath(this.buildSequencePath(table, newColumn))} OWNED BY ${this.escapePath(table)}."${newColumn.name}"`));
1175
+ }
1176
+ }
1177
+ }
1178
+ // the default might have changed when the enum changed
1179
+ if (newColumn.default !== oldColumn.default &&
1180
+ !defaultValueChanged) {
1181
+ if (newColumn.default !== null &&
1182
+ newColumn.default !== undefined) {
1183
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT ${newColumn.default}`));
1184
+ if (oldColumn.default !== null &&
1185
+ oldColumn.default !== undefined) {
1186
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT ${oldColumn.default}`));
1187
+ }
1188
+ else {
1189
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1190
+ }
1191
+ }
1192
+ else if (oldColumn.default !== null &&
1193
+ oldColumn.default !== undefined) {
1194
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" DROP DEFAULT`));
1195
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" SET DEFAULT ${oldColumn.default}`));
1196
+ }
1197
+ }
1198
+ if ((newColumn.spatialFeatureType ?? "").toLowerCase() !==
1199
+ (oldColumn.spatialFeatureType ?? "").toLowerCase() ||
1200
+ newColumn.srid !== oldColumn.srid) {
1201
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${this.driver.createFullType(newColumn)}`));
1202
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${this.driver.createFullType(oldColumn)}`));
1203
+ }
1204
+ // update column collation
1205
+ if (newColumn.collation !== oldColumn.collation) {
1206
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${newColumn.type} COLLATE "${newColumn.collation}"`));
1207
+ const oldCollation = oldColumn.collation
1208
+ ? `"${oldColumn.collation}"`
1209
+ : `pg_catalog."default"`; // if there's no old collation, use default
1210
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER COLUMN "${newColumn.name}" TYPE ${newColumn.type} COLLATE ${oldCollation}`));
1211
+ }
1212
+ if (newColumn.generatedType !== oldColumn.generatedType) {
1213
+ // Convert generated column data to normal column
1214
+ if (!newColumn.generatedType ||
1215
+ newColumn.generatedType === "VIRTUAL") {
1216
+ // We can copy the generated data to the new column
1217
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${oldColumn.name}" TO "TEMP_OLD_${oldColumn.name}"`));
1218
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(table, newColumn)}`));
1219
+ upQueries.push(new Query_1.Query(`UPDATE ${this.escapePath(table)} SET "${newColumn.name}" = "TEMP_OLD_${oldColumn.name}"`));
1220
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "TEMP_OLD_${oldColumn.name}"`));
1221
+ const parsedTableName = this.driver.parseTableName(table);
1222
+ parsedTableName.schema ??= await this.getCurrentSchema();
1223
+ upQueries.push(this.deleteTypeormMetadataSql({
1224
+ database: this.driver.database,
1225
+ schema: parsedTableName.schema,
1226
+ table: parsedTableName.tableName,
1227
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1228
+ name: oldColumn.name,
1229
+ }));
1230
+ // However, we can't copy it back on downgrade. It needs to regenerate.
1231
+ downQueries.push(this.insertTypeormMetadataSql({
1232
+ database: this.driver.database,
1233
+ schema: parsedTableName.schema,
1234
+ table: parsedTableName.tableName,
1235
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1236
+ name: oldColumn.name,
1237
+ value: oldColumn.asExpression,
1238
+ }));
1239
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(table, oldColumn)}`));
1240
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${newColumn.name}"`));
1241
+ // downQueries.push(
1242
+ // this.deleteTypeormMetadataSql({
1243
+ // database: this.driver.database,
1244
+ // schema,
1245
+ // table: tableName,
1246
+ // type: MetadataTableType.GENERATED_COLUMN,
1247
+ // name: newColumn.name,
1248
+ // }),
1249
+ // )
1250
+ }
1251
+ }
1252
+ }
1253
+ await this.executeQueries(upQueries, downQueries);
1254
+ this.replaceCachedTable(table, clonedTable);
1255
+ }
1256
+ /**
1257
+ * Changes a column in the table.
1258
+ *
1259
+ * @param tableOrName
1260
+ * @param changedColumns
1261
+ */
1262
+ async changeColumns(tableOrName, changedColumns) {
1263
+ for (const { oldColumn, newColumn } of changedColumns) {
1264
+ await this.changeColumn(tableOrName, oldColumn, newColumn);
1265
+ }
1266
+ }
1267
+ /**
1268
+ * Drops column in the table.
1269
+ *
1270
+ * @param tableOrName
1271
+ * @param columnOrName
1272
+ * @param ifExists
1273
+ */
1274
+ async dropColumn(tableOrName, columnOrName, ifExists) {
1275
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1276
+ ? tableOrName
1277
+ : await this.getCachedTable(tableOrName);
1278
+ const column = InstanceChecker_1.InstanceChecker.isTableColumn(columnOrName)
1279
+ ? columnOrName
1280
+ : table.findColumnByName(columnOrName);
1281
+ if (!column) {
1282
+ if (ifExists)
1283
+ return;
1284
+ throw new error_1.TypeORMError(`Column "${columnOrName}" was not found in table "${table.name}"`);
1285
+ }
1286
+ const clonedTable = table.clone();
1287
+ const upQueries = [];
1288
+ const downQueries = [];
1289
+ // drop primary key constraint
1290
+ if (column.isPrimary) {
1291
+ const pkName = column.primaryKeyConstraintName ??
1292
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
1293
+ const columnNames = clonedTable.primaryColumns
1294
+ .map((primaryColumn) => `"${primaryColumn.name}"`)
1295
+ .join(", ");
1296
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
1297
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
1298
+ // update column in table
1299
+ const tableColumn = clonedTable.findColumnByName(column.name);
1300
+ tableColumn.isPrimary = false;
1301
+ // if primary key have multiple columns, we must recreate it without dropped column
1302
+ if (clonedTable.primaryColumns.length > 0) {
1303
+ const pkName = clonedTable.primaryColumns[0].primaryKeyConstraintName ??
1304
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map((column) => column.name));
1305
+ const columnNames = clonedTable.primaryColumns
1306
+ .map((primaryColumn) => `"${primaryColumn.name}"`)
1307
+ .join(", ");
1308
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`));
1309
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`));
1310
+ }
1311
+ }
1312
+ // drop column index
1313
+ const columnIndex = clonedTable.indices.find((index) => index.columnNames.length === 1 &&
1314
+ index.columnNames[0] === column.name);
1315
+ if (columnIndex) {
1316
+ clonedTable.indices.splice(clonedTable.indices.indexOf(columnIndex), 1);
1317
+ upQueries.push(this.dropIndexSql(table, columnIndex));
1318
+ downQueries.push(this.createIndexSql(table, columnIndex));
1319
+ }
1320
+ // drop column check
1321
+ const columnCheck = clonedTable.checks.find((check) => !!check.columnNames &&
1322
+ check.columnNames.length === 1 &&
1323
+ check.columnNames[0] === column.name);
1324
+ if (columnCheck) {
1325
+ clonedTable.checks.splice(clonedTable.checks.indexOf(columnCheck), 1);
1326
+ upQueries.push(this.dropCheckConstraintSql(table, columnCheck));
1327
+ downQueries.push(this.createCheckConstraintSql(table, columnCheck));
1328
+ }
1329
+ // drop column unique
1330
+ const columnUnique = clonedTable.uniques.find((unique) => unique.columnNames.length === 1 &&
1331
+ unique.columnNames[0] === column.name);
1332
+ if (columnUnique) {
1333
+ clonedTable.uniques.splice(clonedTable.uniques.indexOf(columnUnique), 1);
1334
+ upQueries.push(this.dropUniqueConstraintSql(table, columnUnique));
1335
+ downQueries.push(this.createUniqueConstraintSql(table, columnUnique));
1336
+ }
1337
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
1338
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN ${ifExistsClause}"${column.name}"`));
1339
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(table, column)}`));
1340
+ // drop enum type
1341
+ if (column.type === "enum" || column.type === "simple-enum") {
1342
+ const hasEnum = await this.hasEnumType(table, column);
1343
+ if (hasEnum) {
1344
+ const enumType = await this.getUserDefinedTypeName(table, column);
1345
+ const escapedEnumName = `"${enumType.schema}"."${enumType.name}"`;
1346
+ upQueries.push(this.dropEnumTypeSql(table, column, escapedEnumName));
1347
+ downQueries.push(this.createEnumTypeSql(table, column, escapedEnumName));
1348
+ }
1349
+ }
1350
+ if (column.generatedType === "STORED") {
1351
+ const parsedTableName = this.driver.parseTableName(table);
1352
+ parsedTableName.schema ??= await this.getCurrentSchema();
1353
+ const deleteQuery = this.deleteTypeormMetadataSql({
1354
+ database: this.driver.database,
1355
+ schema: parsedTableName.schema,
1356
+ table: parsedTableName.tableName,
1357
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1358
+ name: column.name,
1359
+ });
1360
+ upQueries.push(deleteQuery);
1361
+ if (column.asExpression) {
1362
+ const insertQuery = this.insertTypeormMetadataSql({
1363
+ database: this.driver.database,
1364
+ schema: parsedTableName.schema,
1365
+ table: parsedTableName.tableName,
1366
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1367
+ name: column.name,
1368
+ value: column.asExpression,
1369
+ });
1370
+ downQueries.push(insertQuery);
1371
+ }
1372
+ }
1373
+ await this.executeQueries(upQueries, downQueries);
1374
+ clonedTable.removeColumn(column);
1375
+ this.replaceCachedTable(table, clonedTable);
1376
+ }
1377
+ /**
1378
+ * Drops the columns in the table.
1379
+ *
1380
+ * @param tableOrName
1381
+ * @param columns
1382
+ * @param ifExists
1383
+ */
1384
+ async dropColumns(tableOrName, columns, ifExists) {
1385
+ for (const column of [...columns]) {
1386
+ await this.dropColumn(tableOrName, column, ifExists);
1387
+ }
1388
+ }
1389
+ /**
1390
+ * Creates a new primary key.
1391
+ *
1392
+ * @param tableOrName
1393
+ * @param columnNames
1394
+ * @param constraintName
1395
+ */
1396
+ async createPrimaryKey(tableOrName, columnNames, constraintName) {
1397
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1398
+ ? tableOrName
1399
+ : await this.getCachedTable(tableOrName);
1400
+ const clonedTable = table.clone();
1401
+ const up = this.createPrimaryKeySql(table, columnNames, constraintName);
1402
+ // mark columns as primary, because dropPrimaryKeySql build constraint name from table primary column names.
1403
+ clonedTable.columns.forEach((column) => {
1404
+ if (columnNames.find((columnName) => columnName === column.name))
1405
+ column.isPrimary = true;
1406
+ });
1407
+ const down = this.dropPrimaryKeySql(clonedTable);
1408
+ await this.executeQueries(up, down);
1409
+ this.replaceCachedTable(table, clonedTable);
1410
+ }
1411
+ /**
1412
+ * Updates composite primary keys.
1413
+ *
1414
+ * @param tableOrName
1415
+ * @param columns
1416
+ */
1417
+ async updatePrimaryKeys(tableOrName, columns) {
1418
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1419
+ ? tableOrName
1420
+ : await this.getCachedTable(tableOrName);
1421
+ const clonedTable = table.clone();
1422
+ const columnNames = columns.map((column) => column.name);
1423
+ const upQueries = [];
1424
+ const downQueries = [];
1425
+ // if table already have primary columns, we must drop them.
1426
+ const primaryColumns = clonedTable.primaryColumns;
1427
+ if (primaryColumns.length > 0) {
1428
+ const pkName = primaryColumns[0].primaryKeyConstraintName ??
1429
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map((column) => column.name));
1430
+ const columnNamesString = primaryColumns
1431
+ .map((column) => `"${column.name}"`)
1432
+ .join(", ");
1433
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
1434
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
1435
+ }
1436
+ // update columns in table.
1437
+ clonedTable.columns
1438
+ .filter((column) => columnNames.indexOf(column.name) !== -1)
1439
+ .forEach((column) => {
1440
+ column.isPrimary = true;
1441
+ });
1442
+ const pkName = primaryColumns[0]?.primaryKeyConstraintName ??
1443
+ this.dataSource.namingStrategy.primaryKeyName(clonedTable, columnNames);
1444
+ const columnNamesString = columnNames
1445
+ .map((columnName) => `"${columnName}"`)
1446
+ .join(", ");
1447
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`));
1448
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`));
1449
+ await this.executeQueries(upQueries, downQueries);
1450
+ this.replaceCachedTable(table, clonedTable);
1451
+ }
1452
+ /**
1453
+ * Drops a primary key.
1454
+ *
1455
+ * @param tableOrName
1456
+ * @param constraintName
1457
+ * @param ifExists
1458
+ */
1459
+ async dropPrimaryKey(tableOrName, constraintName, ifExists) {
1460
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1461
+ ? tableOrName
1462
+ : await this.getCachedTable(tableOrName);
1463
+ const up = this.dropPrimaryKeySql(table, ifExists);
1464
+ const down = this.createPrimaryKeySql(table, table.primaryColumns.map((column) => column.name), constraintName);
1465
+ await this.executeQueries(up, down);
1466
+ table.primaryColumns.forEach((column) => {
1467
+ column.isPrimary = false;
1468
+ });
1469
+ }
1470
+ /**
1471
+ * Creates new unique constraint.
1472
+ *
1473
+ * @param tableOrName
1474
+ * @param uniqueConstraint
1475
+ */
1476
+ async createUniqueConstraint(tableOrName, uniqueConstraint) {
1477
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1478
+ ? tableOrName
1479
+ : await this.getCachedTable(tableOrName);
1480
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
1481
+ uniqueConstraint.name ??=
1482
+ this.dataSource.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames);
1483
+ const up = this.createUniqueConstraintSql(table, uniqueConstraint);
1484
+ const down = this.dropUniqueConstraintSql(table, uniqueConstraint);
1485
+ await this.executeQueries(up, down);
1486
+ table.addUniqueConstraint(uniqueConstraint);
1487
+ }
1488
+ /**
1489
+ * Creates new unique constraints.
1490
+ *
1491
+ * @param tableOrName
1492
+ * @param uniqueConstraints
1493
+ */
1494
+ async createUniqueConstraints(tableOrName, uniqueConstraints) {
1495
+ for (const uniqueConstraint of uniqueConstraints) {
1496
+ await this.createUniqueConstraint(tableOrName, uniqueConstraint);
1497
+ }
1498
+ }
1499
+ /**
1500
+ * Drops unique constraint.
1501
+ *
1502
+ * @param tableOrName
1503
+ * @param uniqueOrName
1504
+ * @param ifExists
1505
+ */
1506
+ async dropUniqueConstraint(tableOrName, uniqueOrName, ifExists) {
1507
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1508
+ ? tableOrName
1509
+ : await this.getCachedTable(tableOrName);
1510
+ const uniqueConstraint = InstanceChecker_1.InstanceChecker.isTableUnique(uniqueOrName)
1511
+ ? uniqueOrName
1512
+ : table.uniques.find((u) => u.name === uniqueOrName);
1513
+ if (!uniqueConstraint) {
1514
+ if (ifExists)
1515
+ return;
1516
+ throw new error_1.TypeORMError(`Supplied unique constraint was not found in table ${table.name}`);
1517
+ }
1518
+ const up = this.dropUniqueConstraintSql(table, uniqueConstraint, ifExists);
1519
+ const down = this.createUniqueConstraintSql(table, uniqueConstraint);
1520
+ await this.executeQueries(up, down);
1521
+ table.removeUniqueConstraint(uniqueConstraint);
1522
+ }
1523
+ /**
1524
+ * Drops unique constraints.
1525
+ *
1526
+ * @param tableOrName
1527
+ * @param uniqueConstraints
1528
+ * @param ifExists
1529
+ */
1530
+ async dropUniqueConstraints(tableOrName, uniqueConstraints, ifExists) {
1531
+ for (const uniqueConstraint of [...uniqueConstraints]) {
1532
+ await this.dropUniqueConstraint(tableOrName, uniqueConstraint, ifExists);
1533
+ }
1534
+ }
1535
+ /**
1536
+ * Creates new check constraint.
1537
+ *
1538
+ * @param tableOrName
1539
+ * @param checkConstraint
1540
+ */
1541
+ async createCheckConstraint(tableOrName, checkConstraint) {
1542
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1543
+ ? tableOrName
1544
+ : await this.getCachedTable(tableOrName);
1545
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
1546
+ checkConstraint.name ??=
1547
+ this.dataSource.namingStrategy.checkConstraintName(table, checkConstraint.expression);
1548
+ const up = this.createCheckConstraintSql(table, checkConstraint);
1549
+ const down = this.dropCheckConstraintSql(table, checkConstraint);
1550
+ await this.executeQueries(up, down);
1551
+ table.addCheckConstraint(checkConstraint);
1552
+ }
1553
+ /**
1554
+ * Creates new check constraints.
1555
+ *
1556
+ * @param tableOrName
1557
+ * @param checkConstraints
1558
+ */
1559
+ async createCheckConstraints(tableOrName, checkConstraints) {
1560
+ const promises = checkConstraints.map((checkConstraint) => this.createCheckConstraint(tableOrName, checkConstraint));
1561
+ await Promise.all(promises);
1562
+ }
1563
+ /**
1564
+ * Drops check constraint.
1565
+ *
1566
+ * @param tableOrName
1567
+ * @param checkOrName
1568
+ * @param ifExists
1569
+ */
1570
+ async dropCheckConstraint(tableOrName, checkOrName, ifExists) {
1571
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1572
+ ? tableOrName
1573
+ : await this.getCachedTable(tableOrName);
1574
+ const checkConstraint = InstanceChecker_1.InstanceChecker.isTableCheck(checkOrName)
1575
+ ? checkOrName
1576
+ : table.checks.find((c) => c.name === checkOrName);
1577
+ if (!checkConstraint) {
1578
+ if (ifExists)
1579
+ return;
1580
+ throw new error_1.TypeORMError(`Supplied check constraint was not found in table ${table.name}`);
1581
+ }
1582
+ const up = this.dropCheckConstraintSql(table, checkConstraint, ifExists);
1583
+ const down = this.createCheckConstraintSql(table, checkConstraint);
1584
+ await this.executeQueries(up, down);
1585
+ table.removeCheckConstraint(checkConstraint);
1586
+ }
1587
+ /**
1588
+ * Drops check constraints.
1589
+ *
1590
+ * @param tableOrName
1591
+ * @param checkConstraints
1592
+ * @param ifExists
1593
+ */
1594
+ async dropCheckConstraints(tableOrName, checkConstraints, ifExists) {
1595
+ const promises = checkConstraints.map((checkConstraint) => this.dropCheckConstraint(tableOrName, checkConstraint, ifExists));
1596
+ await Promise.all(promises);
1597
+ }
1598
+ /**
1599
+ * Creates new exclusion constraint.
1600
+ *
1601
+ * @param tableOrName
1602
+ * @param exclusionConstraint
1603
+ */
1604
+ async createExclusionConstraint(tableOrName, exclusionConstraint) {
1605
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1606
+ ? tableOrName
1607
+ : await this.getCachedTable(tableOrName);
1608
+ // new unique constraint may be passed without name. In this case we generate unique name manually.
1609
+ exclusionConstraint.name ??=
1610
+ this.dataSource.namingStrategy.exclusionConstraintName(table, exclusionConstraint.expression);
1611
+ const up = this.createExclusionConstraintSql(table, exclusionConstraint);
1612
+ const down = this.dropExclusionConstraintSql(table, exclusionConstraint);
1613
+ await this.executeQueries(up, down);
1614
+ table.addExclusionConstraint(exclusionConstraint);
1615
+ }
1616
+ /**
1617
+ * Creates new exclusion constraints.
1618
+ *
1619
+ * @param tableOrName
1620
+ * @param exclusionConstraints
1621
+ */
1622
+ async createExclusionConstraints(tableOrName, exclusionConstraints) {
1623
+ const promises = exclusionConstraints.map((exclusionConstraint) => this.createExclusionConstraint(tableOrName, exclusionConstraint));
1624
+ await Promise.all(promises);
1625
+ }
1626
+ /**
1627
+ * Drops exclusion constraint.
1628
+ *
1629
+ * @param tableOrName
1630
+ * @param exclusionOrName
1631
+ * @param ifExists
1632
+ */
1633
+ async dropExclusionConstraint(tableOrName, exclusionOrName, ifExists) {
1634
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1635
+ ? tableOrName
1636
+ : await this.getCachedTable(tableOrName);
1637
+ const exclusionConstraint = InstanceChecker_1.InstanceChecker.isTableExclusion(exclusionOrName)
1638
+ ? exclusionOrName
1639
+ : table.exclusions.find((c) => c.name === exclusionOrName);
1640
+ if (!exclusionConstraint) {
1641
+ if (ifExists)
1642
+ return;
1643
+ throw new error_1.TypeORMError(`Supplied exclusion constraint was not found in table ${table.name}`);
1644
+ }
1645
+ const up = this.dropExclusionConstraintSql(table, exclusionConstraint, ifExists);
1646
+ const down = this.createExclusionConstraintSql(table, exclusionConstraint);
1647
+ await this.executeQueries(up, down);
1648
+ table.removeExclusionConstraint(exclusionConstraint);
1649
+ }
1650
+ /**
1651
+ * Drops exclusion constraints.
1652
+ *
1653
+ * @param tableOrName
1654
+ * @param exclusionConstraints
1655
+ * @param ifExists
1656
+ */
1657
+ async dropExclusionConstraints(tableOrName, exclusionConstraints, ifExists) {
1658
+ const promises = exclusionConstraints.map((exclusionConstraint) => this.dropExclusionConstraint(tableOrName, exclusionConstraint, ifExists));
1659
+ await Promise.all(promises);
1660
+ }
1661
+ /**
1662
+ * Creates a new foreign key.
1663
+ *
1664
+ * @param tableOrName
1665
+ * @param foreignKey
1666
+ */
1667
+ async createForeignKey(tableOrName, foreignKey) {
1668
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1669
+ ? tableOrName
1670
+ : await this.getCachedTable(tableOrName);
1671
+ // new FK may be passed without name. In this case we generate FK name manually.
1672
+ foreignKey.name ??= this.dataSource.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
1673
+ const up = this.createForeignKeySql(table, foreignKey);
1674
+ const down = this.dropForeignKeySql(table, foreignKey);
1675
+ await this.executeQueries(up, down);
1676
+ table.addForeignKey(foreignKey);
1677
+ }
1678
+ /**
1679
+ * Creates a new foreign keys.
1680
+ *
1681
+ * @param tableOrName
1682
+ * @param foreignKeys
1683
+ */
1684
+ async createForeignKeys(tableOrName, foreignKeys) {
1685
+ for (const foreignKey of foreignKeys) {
1686
+ await this.createForeignKey(tableOrName, foreignKey);
1687
+ }
1688
+ }
1689
+ /**
1690
+ * Drops a foreign key from the table.
1691
+ *
1692
+ * @param tableOrName
1693
+ * @param foreignKeyOrName
1694
+ * @param ifExists
1695
+ */
1696
+ async dropForeignKey(tableOrName, foreignKeyOrName, ifExists) {
1697
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1698
+ ? tableOrName
1699
+ : await this.getCachedTable(tableOrName);
1700
+ const foreignKey = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
1701
+ ? foreignKeyOrName
1702
+ : table.foreignKeys.find((fk) => fk.name === foreignKeyOrName);
1703
+ if (!foreignKey) {
1704
+ if (ifExists)
1705
+ return;
1706
+ throw new error_1.TypeORMError(`Supplied foreign key was not found in table ${table.name}`);
1707
+ }
1708
+ foreignKey.name ??= this.dataSource.namingStrategy.foreignKeyName(table, foreignKey.columnNames, this.getTablePath(foreignKey), foreignKey.referencedColumnNames);
1709
+ const up = this.dropForeignKeySql(table, foreignKey, ifExists);
1710
+ const down = this.createForeignKeySql(table, foreignKey);
1711
+ await this.executeQueries(up, down);
1712
+ table.removeForeignKey(foreignKey);
1713
+ }
1714
+ /**
1715
+ * Drops a foreign keys from the table.
1716
+ *
1717
+ * @param tableOrName
1718
+ * @param foreignKeys
1719
+ * @param ifExists
1720
+ */
1721
+ async dropForeignKeys(tableOrName, foreignKeys, ifExists) {
1722
+ for (const foreignKey of [...foreignKeys]) {
1723
+ await this.dropForeignKey(tableOrName, foreignKey, ifExists);
1724
+ }
1725
+ }
1726
+ /**
1727
+ * Creates a new index.
1728
+ *
1729
+ * @param tableOrName
1730
+ * @param index
1731
+ */
1732
+ async createIndex(tableOrName, index) {
1733
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1734
+ ? tableOrName
1735
+ : await this.getCachedTable(tableOrName);
1736
+ // new index may be passed without name. In this case we generate index name manually.
1737
+ index.name ??= this.generateIndexName(table, index);
1738
+ const up = this.createIndexSql(table, index);
1739
+ const down = this.dropIndexSql(table, index);
1740
+ await this.executeQueries(up, down);
1741
+ table.addIndex(index);
1742
+ }
1743
+ /**
1744
+ * Create a new view index.
1745
+ *
1746
+ * @param viewOrName
1747
+ * @param index
1748
+ */
1749
+ async createViewIndex(viewOrName, index) {
1750
+ const view = InstanceChecker_1.InstanceChecker.isView(viewOrName)
1751
+ ? viewOrName
1752
+ : await this.getCachedView(viewOrName);
1753
+ // new index may be passed without name. In this case we generate index name manually.
1754
+ index.name ??= this.generateIndexName(view, index);
1755
+ const up = this.createViewIndexSql(view, index);
1756
+ const down = this.dropIndexSql(view, index);
1757
+ await this.executeQueries(up, down);
1758
+ view.addIndex(index);
1759
+ }
1760
+ /**
1761
+ * Creates a new indices
1762
+ *
1763
+ * @param tableOrName
1764
+ * @param indices
1765
+ */
1766
+ async createIndices(tableOrName, indices) {
1767
+ for (const index of indices) {
1768
+ await this.createIndex(tableOrName, index);
1769
+ }
1770
+ }
1771
+ /**
1772
+ * Creates new view indices
1773
+ *
1774
+ * @param viewOrName
1775
+ * @param indices
1776
+ */
1777
+ async createViewIndices(viewOrName, indices) {
1778
+ for (const index of indices) {
1779
+ await this.createViewIndex(viewOrName, index);
1780
+ }
1781
+ }
1782
+ /**
1783
+ * Drops an index from the table.
1784
+ *
1785
+ * @param tableOrName
1786
+ * @param indexOrName
1787
+ * @param ifExists
1788
+ */
1789
+ async dropIndex(tableOrName, indexOrName, ifExists) {
1790
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
1791
+ ? tableOrName
1792
+ : await this.getCachedTable(tableOrName);
1793
+ const index = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
1794
+ ? indexOrName
1795
+ : table.indices.find((i) => i.name === indexOrName);
1796
+ if (!index) {
1797
+ if (ifExists)
1798
+ return;
1799
+ throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
1800
+ }
1801
+ // old index may be passed without name. In this case we generate index name manually.
1802
+ index.name ??= this.generateIndexName(table, index);
1803
+ const up = this.dropIndexSql(table, index, ifExists);
1804
+ const down = this.createIndexSql(table, index);
1805
+ await this.executeQueries(up, down);
1806
+ table.removeIndex(index);
1807
+ }
1808
+ /**
1809
+ * Drops an index from a view.
1810
+ *
1811
+ * @param viewOrName
1812
+ * @param indexOrName
1813
+ */
1814
+ async dropViewIndex(viewOrName, indexOrName) {
1815
+ const view = InstanceChecker_1.InstanceChecker.isView(viewOrName)
1816
+ ? viewOrName
1817
+ : await this.getCachedView(viewOrName);
1818
+ const index = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
1819
+ ? indexOrName
1820
+ : view.indices.find((i) => i.name === indexOrName);
1821
+ if (!index)
1822
+ throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in view ${view.name}`);
1823
+ // old index may be passed without name. In this case we generate index name manually.
1824
+ index.name ??= this.generateIndexName(view, index);
1825
+ const up = this.dropIndexSql(view, index);
1826
+ const down = this.createViewIndexSql(view, index);
1827
+ await this.executeQueries(up, down);
1828
+ view.removeIndex(index);
1829
+ }
1830
+ /**
1831
+ * Drops an indices from the table.
1832
+ *
1833
+ * @param tableOrName
1834
+ * @param indices
1835
+ * @param ifExists
1836
+ */
1837
+ async dropIndices(tableOrName, indices, ifExists) {
1838
+ for (const index of [...indices]) {
1839
+ await this.dropIndex(tableOrName, index, ifExists);
1840
+ }
1841
+ }
1842
+ /**
1843
+ * Clears all table contents.
1844
+ * Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.
1845
+ *
1846
+ * @param tableName
1847
+ * @param options
1848
+ * @param options.cascade
1849
+ */
1850
+ async clearTable(tableName, options) {
1851
+ const cascade = options?.cascade ? " CASCADE" : "";
1852
+ await this.query(`TRUNCATE TABLE ${this.escapePath(tableName)}${cascade}`);
1853
+ }
1854
+ /**
1855
+ * Removes all tables from the currently connected database.
1856
+ */
1857
+ async clearDatabase() {
1858
+ const schemas = [];
1859
+ this.dataSource.entityMetadatas
1860
+ .filter((metadata) => metadata.schema)
1861
+ .forEach((metadata) => {
1862
+ const isSchemaExist = !!schemas.find((schema) => schema === metadata.schema);
1863
+ if (!isSchemaExist)
1864
+ schemas.push(metadata.schema);
1865
+ });
1866
+ if (this.driver.options.schema) {
1867
+ schemas.push(this.driver.options.schema);
1868
+ }
1869
+ else {
1870
+ const [{ currentSchema }] = await this.query(`SELECT current_schema() AS "currentSchema"`);
1871
+ schemas.push(currentSchema);
1872
+ }
1873
+ const isAnotherTransactionActive = this.isTransactionActive;
1874
+ if (!isAnotherTransactionActive)
1875
+ await this.startTransaction();
1876
+ try {
1877
+ // drop views
1878
+ const views = await this.query(`SELECT quote_ident(schemaname) || '.' || quote_ident(viewname) as "name" ` +
1879
+ `FROM "pg_views" WHERE "schemaname" = ANY($1) AND "viewname" NOT IN ('geography_columns', 'geometry_columns', 'raster_columns', 'raster_overviews')`, [schemas]);
1880
+ if (views.length > 0) {
1881
+ await this.query(`DROP VIEW IF EXISTS ${views.map(({ name }) => name).join(", ")} CASCADE`);
1882
+ }
1883
+ // drop materialized views
1884
+ // Note: materialized views introduced in Postgres 9.3
1885
+ if (DriverUtils_1.DriverUtils.isReleaseVersionOrGreater(this.driver, "9.3")) {
1886
+ const matViews = await this.query(`SELECT quote_ident(schemaname) || '.' || quote_ident(matviewname) as "name" ` +
1887
+ `FROM "pg_matviews" WHERE "schemaname" = ANY($1)`, [schemas]);
1888
+ if (matViews.length > 0) {
1889
+ await this.query(`DROP MATERIALIZED VIEW IF EXISTS ${matViews.map(({ name }) => name).join(", ")} CASCADE`);
1890
+ }
1891
+ }
1892
+ // ignore spatial_ref_sys; it's a special table supporting PostGIS
1893
+ // TODO generalize this as this.driver.ignoreTables
1894
+ // drop tables
1895
+ const tables = await this.query(`SELECT quote_ident(schemaname) || '.' || quote_ident(tablename) as "name" ` +
1896
+ `FROM "pg_tables" WHERE "schemaname" = ANY($1) AND "tablename" NOT IN ('spatial_ref_sys')`, [schemas]);
1897
+ if (tables.length > 0) {
1898
+ await this.query(`DROP TABLE IF EXISTS ${tables.map(({ name }) => name).join(", ")} CASCADE`);
1899
+ }
1900
+ // drop enum types
1901
+ await this.dropEnumTypes(schemas);
1902
+ if (!isAnotherTransactionActive) {
1903
+ await this.commitTransaction();
1904
+ }
1905
+ }
1906
+ catch (error) {
1907
+ try {
1908
+ // we throw original error even if rollback thrown an error
1909
+ if (!isAnotherTransactionActive) {
1910
+ await this.rollbackTransaction();
1911
+ }
1912
+ }
1913
+ catch {
1914
+ // no-op
1915
+ }
1916
+ throw error;
1917
+ }
1918
+ }
1919
+ // -------------------------------------------------------------------------
1920
+ // Protected Methods
1921
+ // -------------------------------------------------------------------------
1922
+ async loadViews(viewNames) {
1923
+ const hasTable = await this.hasTable(this.getTypeormMetadataTableName());
1924
+ if (!hasTable)
1925
+ return [];
1926
+ viewNames ??= [];
1927
+ const currentDatabase = await this.getCurrentDatabase();
1928
+ const currentSchema = await this.getCurrentSchema();
1929
+ const viewsCondition = viewNames.length === 0
1930
+ ? "1=1"
1931
+ : viewNames
1932
+ .map((tableName) => this.driver.parseTableName(tableName))
1933
+ .map(({ schema, tableName }) => {
1934
+ schema ??= this.driver.options.schema ?? currentSchema;
1935
+ return `("t"."schema" = '${schema}' AND "t"."name" = '${tableName}')`;
1936
+ })
1937
+ .join(" OR ");
1938
+ const constraintsCondition = viewNames.length === 0
1939
+ ? "1=1"
1940
+ : viewNames
1941
+ .map((tableName) => this.driver.parseTableName(tableName))
1942
+ .map(({ schema, tableName }) => {
1943
+ schema ??= this.driver.options.schema ?? currentSchema;
1944
+ return `("ns"."nspname" = '${schema}' AND "t"."relname" = '${tableName}')`;
1945
+ })
1946
+ .join(" OR ");
1947
+ const indicesSql = `SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "i"."relname" AS "constraint_name", "a"."attname" AS "column_name", ` +
1948
+ `CASE "ix"."indisunique" WHEN 't' THEN 'TRUE' ELSE'FALSE' END AS "is_unique", pg_get_expr("ix"."indpred", "ix"."indrelid") AS "condition", ` +
1949
+ `"types"."typname" AS "type_name", "am"."amname" AS "index_type" ` +
1950
+ `FROM "pg_class" "t" ` +
1951
+ `INNER JOIN "pg_index" "ix" ON "ix"."indrelid" = "t"."oid" ` +
1952
+ `INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "t"."oid" AND "a"."attnum" = ANY ("ix"."indkey") ` +
1953
+ `INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "t"."relnamespace" ` +
1954
+ `INNER JOIN "pg_class" "i" ON "i"."oid" = "ix"."indexrelid" ` +
1955
+ `INNER JOIN "pg_type" "types" ON "types"."oid" = "a"."atttypid" ` +
1956
+ `INNER JOIN "pg_am" "am" ON "i"."relam" = "am"."oid" ` +
1957
+ `LEFT JOIN "pg_constraint" "cnst" ON "cnst"."conname" = "i"."relname" ` +
1958
+ `WHERE "t"."relkind" IN ('m') AND "cnst"."contype" IS NULL AND (${constraintsCondition})`;
1959
+ const query = `SELECT "t".* FROM ${this.escapePath(this.getTypeormMetadataTableName())} "t" ` +
1960
+ `INNER JOIN "pg_catalog"."pg_class" "c" ON "c"."relname" = "t"."name" ` +
1961
+ `INNER JOIN "pg_namespace" "n" ON "n"."oid" = "c"."relnamespace" AND "n"."nspname" = "t"."schema" ` +
1962
+ `WHERE "t"."type" IN ('${MetadataTableType_1.MetadataTableType.VIEW}', '${MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW}') ${viewsCondition ? `AND (${viewsCondition})` : ""}`;
1963
+ const dbViews = await this.query(query);
1964
+ const dbIndices = await this.query(indicesSql);
1965
+ return dbViews.map((dbView) => {
1966
+ // find index constraints of table, group them by constraint name and build TableIndex.
1967
+ const tableIndexConstraints = OrmUtils_1.OrmUtils.uniq(dbIndices.filter((dbIndex) => {
1968
+ return (dbIndex["table_name"] === dbView["name"] &&
1969
+ dbIndex["table_schema"] === dbView["schema"]);
1970
+ }), (dbIndex) => dbIndex["constraint_name"]);
1971
+ const view = new View_1.View();
1972
+ const schema = dbView["schema"] === currentSchema &&
1973
+ !this.driver.options.schema
1974
+ ? undefined
1975
+ : dbView["schema"];
1976
+ view.database = currentDatabase;
1977
+ view.schema = dbView["schema"];
1978
+ view.name = this.driver.buildTableName(dbView["name"], schema);
1979
+ view.expression = dbView["value"];
1980
+ view.materialized =
1981
+ dbView["type"] === MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW;
1982
+ view.indices = tableIndexConstraints.map((constraint) => {
1983
+ const indices = dbIndices.filter((index) => {
1984
+ return (index["table_schema"] === constraint["table_schema"] &&
1985
+ index["table_name"] === constraint["table_name"] &&
1986
+ index["constraint_name"] ===
1987
+ constraint["constraint_name"]);
1988
+ });
1989
+ return new TableIndex_1.TableIndex({
1990
+ view: view,
1991
+ name: constraint["constraint_name"],
1992
+ columnNames: indices.map((i) => i["column_name"]),
1993
+ isUnique: constraint["is_unique"] === "TRUE",
1994
+ where: constraint["condition"],
1995
+ isSpatial: constraint["index_type"] === "gist",
1996
+ isFulltext: false,
1997
+ type: constraint["index_type"],
1998
+ });
1999
+ });
2000
+ return view;
2001
+ });
2002
+ }
2003
+ /**
2004
+ * Loads all tables (with given names) from the database and creates a Table from them.
2005
+ *
2006
+ * @param tableNames
2007
+ */
2008
+ async loadTables(tableNames) {
2009
+ // if no tables given then no need to proceed
2010
+ if (tableNames?.length === 0) {
2011
+ return [];
2012
+ }
2013
+ const currentSchema = await this.getCurrentSchema();
2014
+ const currentDatabase = await this.getCurrentDatabase();
2015
+ const dbTables = [];
2016
+ if (!tableNames) {
2017
+ const tablesSql = `SELECT "table_schema", "table_name", obj_description((quote_ident("table_schema") || '.' || quote_ident("table_name"))::regclass, 'pg_class') AS table_comment FROM "information_schema"."tables"`;
2018
+ dbTables.push(...(await this.query(tablesSql)));
2019
+ }
2020
+ else {
2021
+ const tablesCondition = tableNames
2022
+ .map((tableName) => this.driver.parseTableName(tableName))
2023
+ .map(({ schema, tableName }) => {
2024
+ return `("table_schema" = '${schema ?? currentSchema}' AND "table_name" = '${tableName}')`;
2025
+ })
2026
+ .join(" OR ");
2027
+ const tablesSql = `SELECT "table_schema", "table_name", obj_description((quote_ident("table_schema") || '.' || quote_ident("table_name"))::regclass, 'pg_class') AS table_comment FROM "information_schema"."tables" WHERE ` +
2028
+ tablesCondition;
2029
+ dbTables.push(...(await this.query(tablesSql)));
2030
+ }
2031
+ // if tables were not found in the db, no need to proceed
2032
+ if (dbTables.length === 0) {
2033
+ return [];
2034
+ }
2035
+ /**
2036
+ * Uses standard SQL information_schema.columns table and postgres-specific
2037
+ * pg_catalog.pg_attribute table to get column information.
2038
+ *
2039
+ * @see https://stackoverflow.com/a/19541865
2040
+ */
2041
+ const columnsCondition = dbTables
2042
+ .map(({ table_schema, table_name }) => {
2043
+ return `("table_schema" = '${table_schema}' AND "table_name" = '${table_name}')`;
2044
+ })
2045
+ .join(" OR ");
2046
+ const columnsSql = `SELECT columns.*, pg_catalog.col_description((quote_ident(table_catalog) || '.' || quote_ident(table_schema) || '.' || quote_ident(table_name))::regclass::oid, ordinal_position) AS description, ` +
2047
+ `('"' || "udt_schema" || '"."' || "udt_name" || '"')::"regtype"::text AS "regtype", pg_catalog.format_type("col_attr"."atttypid", "col_attr"."atttypmod") AS "format_type" ` +
2048
+ `FROM "information_schema"."columns" ` +
2049
+ `LEFT JOIN "pg_catalog"."pg_attribute" AS "col_attr" ON "col_attr"."attname" = "columns"."column_name" ` +
2050
+ `AND "col_attr"."attrelid" = ( ` +
2051
+ `SELECT "cls"."oid" FROM "pg_catalog"."pg_class" AS "cls" ` +
2052
+ `LEFT JOIN "pg_catalog"."pg_namespace" AS "ns" ON "ns"."oid" = "cls"."relnamespace" ` +
2053
+ `WHERE "cls"."relname" = "columns"."table_name" ` +
2054
+ `AND "ns"."nspname" = "columns"."table_schema" ` +
2055
+ `) ` +
2056
+ `WHERE ` +
2057
+ columnsCondition;
2058
+ const constraintsCondition = dbTables
2059
+ .map(({ table_schema, table_name }) => {
2060
+ return `("ns"."nspname" = '${table_schema}' AND "t"."relname" = '${table_name}')`;
2061
+ })
2062
+ .join(" OR ");
2063
+ const constraintsSql = `SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "cnst"."conname" AS "constraint_name", ` +
2064
+ `pg_get_constraintdef("cnst"."oid") AS "expression", ` +
2065
+ `CASE "cnst"."contype" WHEN 'p' THEN 'PRIMARY' WHEN 'u' THEN 'UNIQUE' WHEN 'c' THEN 'CHECK' WHEN 'x' THEN 'EXCLUDE' END AS "constraint_type", "a"."attname" AS "column_name" ` +
2066
+ `FROM "pg_constraint" "cnst" ` +
2067
+ `INNER JOIN "pg_class" "t" ON "t"."oid" = "cnst"."conrelid" ` +
2068
+ `INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "cnst"."connamespace" ` +
2069
+ `LEFT JOIN "pg_attribute" "a" ON "a"."attrelid" = "cnst"."conrelid" AND "a"."attnum" = ANY ("cnst"."conkey") ` +
2070
+ `WHERE "t"."relkind" IN ('r', 'p') AND (${constraintsCondition})`;
2071
+ const indicesSql = `SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "i"."relname" AS "constraint_name", "a"."attname" AS "column_name", ` +
2072
+ `CASE "ix"."indisunique" WHEN 't' THEN 'TRUE' ELSE'FALSE' END AS "is_unique", pg_get_expr("ix"."indpred", "ix"."indrelid") AS "condition", ` +
2073
+ `"types"."typname" AS "type_name", "am"."amname" AS "index_type" ` +
2074
+ `FROM "pg_class" "t" ` +
2075
+ `INNER JOIN "pg_index" "ix" ON "ix"."indrelid" = "t"."oid" ` +
2076
+ `INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "t"."oid" AND "a"."attnum" = ANY ("ix"."indkey") ` +
2077
+ `INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "t"."relnamespace" ` +
2078
+ `INNER JOIN "pg_class" "i" ON "i"."oid" = "ix"."indexrelid" ` +
2079
+ `INNER JOIN "pg_type" "types" ON "types"."oid" = "a"."atttypid" ` +
2080
+ `INNER JOIN "pg_am" "am" ON "i"."relam" = "am"."oid" ` +
2081
+ `LEFT JOIN "pg_constraint" "cnst" ON "cnst"."conname" = "i"."relname" ` +
2082
+ `WHERE "t"."relkind" IN ('r', 'p') AND "cnst"."contype" IS NULL AND (${constraintsCondition})`;
2083
+ const foreignKeysCondition = dbTables
2084
+ .map(({ table_schema, table_name }) => {
2085
+ return `("ns"."nspname" = '${table_schema}' AND "cl"."relname" = '${table_name}')`;
2086
+ })
2087
+ .join(" OR ");
2088
+ const hasRelispartitionColumn = await this.hasSupportForPartitionedTables();
2089
+ const isPartitionCondition = hasRelispartitionColumn
2090
+ ? ` AND "cl"."relispartition" = 'f'`
2091
+ : "";
2092
+ const foreignKeysSql = `SELECT "con"."conname" AS "constraint_name", "con"."nspname" AS "table_schema", "con"."relname" AS "table_name", "att2"."attname" AS "column_name", ` +
2093
+ `"ns"."nspname" AS "referenced_table_schema", "cl"."relname" AS "referenced_table_name", "att"."attname" AS "referenced_column_name", "con"."confdeltype" AS "on_delete", ` +
2094
+ `"con"."confupdtype" AS "on_update", "con"."condeferrable" AS "deferrable", "con"."condeferred" AS "deferred" ` +
2095
+ `FROM ( ` +
2096
+ `SELECT UNNEST ("con1"."conkey") AS "parent", UNNEST ("con1"."confkey") AS "child", "con1"."confrelid", "con1"."conrelid", "con1"."conname", "con1"."contype", "ns"."nspname", ` +
2097
+ `"cl"."relname", "con1"."condeferrable", ` +
2098
+ `CASE WHEN "con1"."condeferred" THEN 'INITIALLY DEFERRED' ELSE 'INITIALLY IMMEDIATE' END as condeferred, ` +
2099
+ `CASE "con1"."confdeltype" WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END as "confdeltype", ` +
2100
+ `CASE "con1"."confupdtype" WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END as "confupdtype" ` +
2101
+ `FROM "pg_class" "cl" ` +
2102
+ `INNER JOIN "pg_namespace" "ns" ON "cl"."relnamespace" = "ns"."oid" ` +
2103
+ `INNER JOIN "pg_constraint" "con1" ON "con1"."conrelid" = "cl"."oid" ` +
2104
+ `WHERE "con1"."contype" = 'f' AND (${foreignKeysCondition}) ` +
2105
+ `) "con" ` +
2106
+ `INNER JOIN "pg_attribute" "att" ON "att"."attrelid" = "con"."confrelid" AND "att"."attnum" = "con"."child" ` +
2107
+ `INNER JOIN "pg_class" "cl" ON "cl"."oid" = "con"."confrelid" ${isPartitionCondition}` +
2108
+ `INNER JOIN "pg_namespace" "ns" ON "cl"."relnamespace" = "ns"."oid" ` +
2109
+ `INNER JOIN "pg_attribute" "att2" ON "att2"."attrelid" = "con"."conrelid" AND "att2"."attnum" = "con"."parent"`;
2110
+ const dbColumns = await this.query(columnsSql);
2111
+ const dbConstraints = await this.query(constraintsSql);
2112
+ const dbIndices = await this.query(indicesSql);
2113
+ const dbForeignKeys = await this.query(foreignKeysSql);
2114
+ // create tables for loaded tables
2115
+ return Promise.all(dbTables.map(async (dbTable) => {
2116
+ const table = new Table_1.Table();
2117
+ const getSchemaFromKey = (dbObject, key) => {
2118
+ return dbObject[key] === currentSchema &&
2119
+ (!this.driver.options.schema ||
2120
+ this.driver.options.schema === currentSchema)
2121
+ ? undefined
2122
+ : dbObject[key];
2123
+ };
2124
+ // We do not need to join schema name, when database is by default.
2125
+ const schema = getSchemaFromKey(dbTable, "table_schema");
2126
+ table.database = currentDatabase;
2127
+ table.schema = dbTable["table_schema"];
2128
+ table.comment = dbTable["table_comment"];
2129
+ table.name = this.driver.buildTableName(dbTable["table_name"], schema);
2130
+ // create columns from the loaded columns
2131
+ table.columns = await Promise.all(dbColumns
2132
+ .filter((dbColumn) => dbColumn["table_name"] ===
2133
+ dbTable["table_name"] &&
2134
+ dbColumn["table_schema"] ===
2135
+ dbTable["table_schema"])
2136
+ .map(async (dbColumn) => {
2137
+ const columnConstraints = dbConstraints.filter((dbConstraint) => {
2138
+ return (dbConstraint["table_name"] ===
2139
+ dbColumn["table_name"] &&
2140
+ dbConstraint["table_schema"] ===
2141
+ dbColumn["table_schema"] &&
2142
+ dbConstraint["column_name"] ===
2143
+ dbColumn["column_name"]);
2144
+ });
2145
+ const tableColumn = new TableColumn_1.TableColumn();
2146
+ tableColumn.name = dbColumn["column_name"];
2147
+ tableColumn.type = dbColumn["regtype"].toLowerCase();
2148
+ if (tableColumn.type === "vector" ||
2149
+ tableColumn.type === "halfvec") {
2150
+ const lengthMatch = dbColumn["format_type"].match(/^(?:vector|halfvec)\((\d+)\)$/);
2151
+ if (lengthMatch?.[1]) {
2152
+ tableColumn.length = lengthMatch[1];
2153
+ }
2154
+ }
2155
+ if (tableColumn.type === "numeric" ||
2156
+ tableColumn.type === "numeric[]" ||
2157
+ tableColumn.type === "decimal" ||
2158
+ tableColumn.type === "float") {
2159
+ let numericPrecision = dbColumn["numeric_precision"];
2160
+ let numericScale = dbColumn["numeric_scale"];
2161
+ if (dbColumn["data_type"] === "ARRAY") {
2162
+ const numericSize = dbColumn["format_type"].match(/^numeric\(([0-9]+),([0-9]+)\)\[\]$/);
2163
+ if (numericSize) {
2164
+ numericPrecision = +numericSize[1];
2165
+ numericScale = +numericSize[2];
2166
+ }
2167
+ }
2168
+ // If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
2169
+ // we set 'undefined' in to unspecified property to avoid changing column on sync
2170
+ if (numericPrecision !== null &&
2171
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
2172
+ tableColumn.precision = numericPrecision;
2173
+ }
2174
+ else if (numericScale !== null &&
2175
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
2176
+ tableColumn.precision = undefined;
2177
+ }
2178
+ if (numericScale !== null &&
2179
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
2180
+ tableColumn.scale = numericScale;
2181
+ }
2182
+ else if (numericPrecision !== null &&
2183
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
2184
+ tableColumn.scale = undefined;
2185
+ }
2186
+ }
2187
+ if (tableColumn.type === "interval" ||
2188
+ tableColumn.type === "time without time zone" ||
2189
+ tableColumn.type === "time with time zone" ||
2190
+ tableColumn.type ===
2191
+ "timestamp without time zone" ||
2192
+ tableColumn.type === "timestamp with time zone") {
2193
+ tableColumn.precision =
2194
+ !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["datetime_precision"])
2195
+ ? dbColumn["datetime_precision"]
2196
+ : undefined;
2197
+ }
2198
+ // check if column has user-defined data type.
2199
+ // NOTE: if ENUM type defined with "array:true" it comes with ARRAY type instead of USER-DEFINED
2200
+ if (dbColumn["data_type"] === "USER-DEFINED" ||
2201
+ dbColumn["data_type"] === "ARRAY") {
2202
+ const { name } = await this.getUserDefinedTypeName(table, tableColumn);
2203
+ // check if `enumName` is specified by user
2204
+ const builtEnumName = this.buildEnumName(table, tableColumn, false, true);
2205
+ const enumName = builtEnumName !== name ? name : undefined;
2206
+ // check if type is ENUM
2207
+ const sql = `SELECT "e"."enumlabel" AS "value" FROM "pg_enum" "e" ` +
2208
+ `INNER JOIN "pg_type" "t" ON "t"."oid" = "e"."enumtypid" ` +
2209
+ `INNER JOIN "pg_namespace" "n" ON "n"."oid" = "t"."typnamespace" ` +
2210
+ `WHERE "n"."nspname" = '${dbTable["table_schema"]}' AND "t"."typname" = '${enumName ?? name}' ` +
2211
+ `ORDER BY "e"."enumsortorder"`;
2212
+ const results = await this.query(sql);
2213
+ if (results.length) {
2214
+ tableColumn.type = "enum";
2215
+ tableColumn.enum = results.map((result) => result["value"]);
2216
+ tableColumn.enumName = enumName;
2217
+ }
2218
+ if (dbColumn["data_type"] === "ARRAY") {
2219
+ tableColumn.isArray = true;
2220
+ const type = tableColumn.type.replace("[]", "");
2221
+ tableColumn.type =
2222
+ this.dataSource.driver.normalizeType({
2223
+ type: type,
2224
+ });
2225
+ }
2226
+ }
2227
+ if (tableColumn.type === "geometry" ||
2228
+ tableColumn.type === "geography") {
2229
+ const sql = `SELECT * FROM (` +
2230
+ `SELECT "f_table_schema" "table_schema", "f_table_name" "table_name", ` +
2231
+ `"f_${tableColumn.type}_column" "column_name", "srid", "type", "coord_dimension" ` +
2232
+ `FROM "${tableColumn.type}_columns"` +
2233
+ `) AS _ ` +
2234
+ `WHERE "column_name" = '${dbColumn["column_name"]}' AND ` +
2235
+ `"table_schema" = '${dbColumn["table_schema"]}' AND ` +
2236
+ `"table_name" = '${dbColumn["table_name"]}'`;
2237
+ const results = await this.query(sql);
2238
+ if (results.length > 0) {
2239
+ // "geometry_columns" folds the Z dimension into
2240
+ // "coord_dimension" and only keeps the M suffix in
2241
+ // "type", while "geography_columns" reports the
2242
+ // full suffix in "type", so the suffix is only
2243
+ // appended when it is missing.
2244
+ let spatialFeatureType = results[0].type;
2245
+ const upperType = spatialFeatureType.toUpperCase();
2246
+ if (results[0].coord_dimension === 3 &&
2247
+ !upperType.endsWith("Z") &&
2248
+ !upperType.endsWith("M")) {
2249
+ spatialFeatureType += "Z";
2250
+ }
2251
+ else if (results[0].coord_dimension === 4 &&
2252
+ !upperType.endsWith("Z") &&
2253
+ !upperType.endsWith("M")) {
2254
+ spatialFeatureType += "ZM";
2255
+ }
2256
+ tableColumn.spatialFeatureType =
2257
+ spatialFeatureType;
2258
+ tableColumn.srid = results[0].srid;
2259
+ }
2260
+ }
2261
+ // check only columns that have length property
2262
+ if (this.driver.withLengthColumnTypes.indexOf(tableColumn.type) !== -1) {
2263
+ let length;
2264
+ if (tableColumn.isArray) {
2265
+ const match = /\((\d+)\)/.exec(dbColumn["format_type"]);
2266
+ length = match ? match[1] : undefined;
2267
+ }
2268
+ else if (dbColumn["character_maximum_length"]) {
2269
+ length =
2270
+ dbColumn["character_maximum_length"].toString();
2271
+ }
2272
+ if (length) {
2273
+ tableColumn.length =
2274
+ !this.isDefaultColumnLength(table, tableColumn, length)
2275
+ ? length
2276
+ : "";
2277
+ }
2278
+ }
2279
+ tableColumn.isNullable =
2280
+ dbColumn["is_nullable"] === "YES";
2281
+ const primaryConstraint = columnConstraints.find((constraint) => constraint["constraint_type"] === "PRIMARY");
2282
+ if (primaryConstraint) {
2283
+ tableColumn.isPrimary = true;
2284
+ // find another columns involved in primary key constraint
2285
+ const anotherPrimaryConstraints = dbConstraints.filter((constraint) => constraint["table_name"] ===
2286
+ dbColumn["table_name"] &&
2287
+ constraint["table_schema"] ===
2288
+ dbColumn["table_schema"] &&
2289
+ constraint["column_name"] !==
2290
+ dbColumn["column_name"] &&
2291
+ constraint["constraint_type"] ===
2292
+ "PRIMARY");
2293
+ // collect all column names
2294
+ const columnNames = anotherPrimaryConstraints.map((constraint) => constraint["column_name"]);
2295
+ columnNames.push(dbColumn["column_name"]);
2296
+ // build default primary key constraint name
2297
+ const pkName = this.dataSource.namingStrategy.primaryKeyName(table, columnNames);
2298
+ // if primary key has user-defined constraint name, write it in table column
2299
+ if (primaryConstraint["constraint_name"] !==
2300
+ pkName) {
2301
+ tableColumn.primaryKeyConstraintName =
2302
+ primaryConstraint["constraint_name"];
2303
+ }
2304
+ }
2305
+ const uniqueConstraints = columnConstraints.filter((constraint) => constraint["constraint_type"] === "UNIQUE");
2306
+ const isConstraintComposite = uniqueConstraints.every((uniqueConstraint) => {
2307
+ return dbConstraints.some((dbConstraint) => dbConstraint["constraint_type"] ===
2308
+ "UNIQUE" &&
2309
+ dbConstraint["constraint_name"] ===
2310
+ uniqueConstraint["constraint_name"] &&
2311
+ dbConstraint["column_name"] !==
2312
+ dbColumn["column_name"]);
2313
+ });
2314
+ tableColumn.isUnique =
2315
+ uniqueConstraints.length > 0 &&
2316
+ !isConstraintComposite;
2317
+ if (dbColumn.is_identity === "YES") {
2318
+ // Postgres 10+ Identity column
2319
+ tableColumn.isGenerated = true;
2320
+ tableColumn.generationStrategy = "identity";
2321
+ tableColumn.generatedIdentity =
2322
+ dbColumn.identity_generation;
2323
+ }
2324
+ else if (dbColumn["column_default"] !== null &&
2325
+ dbColumn["column_default"] !== undefined) {
2326
+ const serialDefaultName = `nextval('${this.buildSequenceName(table, dbColumn["column_name"])}'::regclass)`;
2327
+ const serialDefaultPath = `nextval('${this.buildSequencePath(table, dbColumn["column_name"])}'::regclass)`;
2328
+ const defaultWithoutQuotes = dbColumn["column_default"].replaceAll('"', "");
2329
+ if (defaultWithoutQuotes ===
2330
+ serialDefaultName ||
2331
+ defaultWithoutQuotes === serialDefaultPath) {
2332
+ tableColumn.isGenerated = true;
2333
+ tableColumn.generationStrategy = "increment";
2334
+ }
2335
+ else if (dbColumn["column_default"] ===
2336
+ "gen_random_uuid()" ||
2337
+ /^uuid_generate_v\d\(\)/.test(dbColumn["column_default"])) {
2338
+ if (tableColumn.type === "uuid") {
2339
+ tableColumn.isGenerated = true;
2340
+ tableColumn.generationStrategy = "uuid";
2341
+ }
2342
+ else {
2343
+ tableColumn.default =
2344
+ dbColumn["column_default"];
2345
+ }
2346
+ }
2347
+ else if (dbColumn["column_default"] === "now()" ||
2348
+ dbColumn["column_default"].indexOf("'now'::text") !== -1) {
2349
+ tableColumn.default =
2350
+ dbColumn["column_default"];
2351
+ }
2352
+ else {
2353
+ tableColumn.default = dbColumn["column_default"].replaceAll(/::[\w\s.[\]\-"]+/g, "");
2354
+ tableColumn.default =
2355
+ tableColumn.default.replace(/^(-?\d+)$/, "'$1'");
2356
+ }
2357
+ }
2358
+ if (dbColumn["is_generated"] === "ALWAYS" &&
2359
+ dbColumn["generation_expression"]) {
2360
+ // In postgres there is no VIRTUAL generated column type
2361
+ tableColumn.generatedType = "STORED";
2362
+ // We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
2363
+ const asExpressionQuery = this.selectTypeormMetadataSql({
2364
+ database: currentDatabase,
2365
+ schema: dbTable["table_schema"],
2366
+ table: dbTable["table_name"],
2367
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
2368
+ name: tableColumn.name,
2369
+ });
2370
+ const results = await this.query(asExpressionQuery.query, asExpressionQuery.parameters);
2371
+ if (results[0]?.value) {
2372
+ tableColumn.asExpression = results[0].value;
2373
+ }
2374
+ else {
2375
+ tableColumn.asExpression = "";
2376
+ }
2377
+ }
2378
+ tableColumn.comment =
2379
+ dbColumn["description"] ?? undefined;
2380
+ if (dbColumn["character_set_name"])
2381
+ tableColumn.charset =
2382
+ dbColumn["character_set_name"];
2383
+ if (dbColumn["collation_name"])
2384
+ tableColumn.collation =
2385
+ dbColumn["collation_name"];
2386
+ return tableColumn;
2387
+ }));
2388
+ // find unique constraints of table, group them by constraint name and build TableUnique.
2389
+ const tableUniqueConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
2390
+ return (dbConstraint["table_name"] ===
2391
+ dbTable["table_name"] &&
2392
+ dbConstraint["table_schema"] ===
2393
+ dbTable["table_schema"] &&
2394
+ dbConstraint["constraint_type"] === "UNIQUE");
2395
+ }), (dbConstraint) => dbConstraint["constraint_name"]);
2396
+ table.uniques = tableUniqueConstraints.map((constraint) => {
2397
+ const uniques = dbConstraints.filter((dbC) => dbC["constraint_name"] ===
2398
+ constraint["constraint_name"]);
2399
+ return new TableUnique_1.TableUnique({
2400
+ name: constraint["constraint_name"],
2401
+ columnNames: uniques.map((u) => u["column_name"]),
2402
+ deferrable: constraint["deferrable"]
2403
+ ? constraint["deferred"]
2404
+ : undefined,
2405
+ });
2406
+ });
2407
+ // find check constraints of table, group them by constraint name and build TableCheck.
2408
+ const tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
2409
+ return (dbConstraint["table_name"] ===
2410
+ dbTable["table_name"] &&
2411
+ dbConstraint["table_schema"] ===
2412
+ dbTable["table_schema"] &&
2413
+ dbConstraint["constraint_type"] === "CHECK");
2414
+ }), (dbConstraint) => dbConstraint["constraint_name"]);
2415
+ table.checks = tableCheckConstraints.map((constraint) => {
2416
+ const checks = dbConstraints.filter((dbC) => dbC["constraint_name"] ===
2417
+ constraint["constraint_name"]);
2418
+ return new TableCheck_1.TableCheck({
2419
+ name: constraint["constraint_name"],
2420
+ columnNames: checks.map((c) => c["column_name"]),
2421
+ expression: constraint["expression"].replace(/^\s*CHECK\s*\((.*)\)\s*$/i, "$1"),
2422
+ });
2423
+ });
2424
+ // find exclusion constraints of table, group them by constraint name and build TableExclusion.
2425
+ const tableExclusionConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter((dbConstraint) => {
2426
+ return (dbConstraint["table_name"] ===
2427
+ dbTable["table_name"] &&
2428
+ dbConstraint["table_schema"] ===
2429
+ dbTable["table_schema"] &&
2430
+ dbConstraint["constraint_type"] === "EXCLUDE");
2431
+ }), (dbConstraint) => dbConstraint["constraint_name"]);
2432
+ table.exclusions = tableExclusionConstraints.map((constraint) => {
2433
+ return new TableExclusion_1.TableExclusion({
2434
+ name: constraint["constraint_name"],
2435
+ expression: constraint["expression"].slice(8), // trim EXCLUDE from start of expression
2436
+ });
2437
+ });
2438
+ // find foreign key constraints of table, group them by constraint name and build TableForeignKey.
2439
+ const tableForeignKeyConstraints = OrmUtils_1.OrmUtils.uniq(dbForeignKeys.filter((dbForeignKey) => {
2440
+ return (dbForeignKey["table_name"] ===
2441
+ dbTable["table_name"] &&
2442
+ dbForeignKey["table_schema"] ===
2443
+ dbTable["table_schema"]);
2444
+ }), (dbForeignKey) => dbForeignKey["constraint_name"]);
2445
+ table.foreignKeys = tableForeignKeyConstraints.map((dbForeignKey) => {
2446
+ const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["constraint_name"] ===
2447
+ dbForeignKey["constraint_name"]);
2448
+ // if referenced table located in currently used schema, we don't need to concat schema name to table name.
2449
+ const schema = getSchemaFromKey(dbForeignKey, "referenced_table_schema");
2450
+ const referencedTableName = this.driver.buildTableName(dbForeignKey["referenced_table_name"], schema);
2451
+ return new TableForeignKey_1.TableForeignKey({
2452
+ name: dbForeignKey["constraint_name"],
2453
+ columnNames: foreignKeys.map((dbFk) => dbFk["column_name"]),
2454
+ referencedSchema: dbForeignKey["referenced_table_schema"],
2455
+ referencedTableName: referencedTableName,
2456
+ referencedColumnNames: foreignKeys.map((dbFk) => dbFk["referenced_column_name"]),
2457
+ onDelete: dbForeignKey["on_delete"],
2458
+ onUpdate: dbForeignKey["on_update"],
2459
+ deferrable: dbForeignKey["deferrable"]
2460
+ ? dbForeignKey["deferred"]
2461
+ : undefined,
2462
+ });
2463
+ });
2464
+ // find index constraints of table, group them by constraint name and build TableIndex.
2465
+ const tableIndexConstraints = OrmUtils_1.OrmUtils.uniq(dbIndices.filter((dbIndex) => {
2466
+ return (dbIndex["table_name"] === dbTable["table_name"] &&
2467
+ dbIndex["table_schema"] === dbTable["table_schema"]);
2468
+ }), (dbIndex) => dbIndex["constraint_name"]);
2469
+ table.indices = tableIndexConstraints.map((constraint) => {
2470
+ const indices = dbIndices.filter((index) => {
2471
+ return (index["table_schema"] ===
2472
+ constraint["table_schema"] &&
2473
+ index["table_name"] === constraint["table_name"] &&
2474
+ index["constraint_name"] ===
2475
+ constraint["constraint_name"]);
2476
+ });
2477
+ return new TableIndex_1.TableIndex({
2478
+ table: table,
2479
+ name: constraint["constraint_name"],
2480
+ columnNames: indices.map((i) => i["column_name"]),
2481
+ isUnique: constraint["is_unique"] === "TRUE",
2482
+ where: constraint["condition"],
2483
+ isSpatial: constraint["index_type"] === "gist",
2484
+ type: constraint["index_type"],
2485
+ isFulltext: false,
2486
+ });
2487
+ });
2488
+ return table;
2489
+ }));
2490
+ }
2491
+ /**
2492
+ * Builds create table sql.
2493
+ *
2494
+ * @param table
2495
+ * @param createForeignKeys
2496
+ */
2497
+ createTableSql(table, createForeignKeys) {
2498
+ const columnDefinitions = table.columns
2499
+ .map((column) => this.buildCreateColumnSql(table, column))
2500
+ .join(", ");
2501
+ let sql = `CREATE TABLE ${this.escapePath(table)} (${columnDefinitions}`;
2502
+ table.columns
2503
+ .filter((column) => column.isUnique)
2504
+ .forEach((column) => {
2505
+ const isUniqueExist = table.uniques.some((unique) => unique.columnNames.length === 1 &&
2506
+ unique.columnNames[0] === column.name);
2507
+ if (!isUniqueExist)
2508
+ table.uniques.push(new TableUnique_1.TableUnique({
2509
+ name: this.dataSource.namingStrategy.uniqueConstraintName(table, [column.name]),
2510
+ columnNames: [column.name],
2511
+ }));
2512
+ });
2513
+ if (table.uniques.length > 0) {
2514
+ const uniquesSql = table.uniques
2515
+ .map((unique) => {
2516
+ const uniqueName = unique.name ??
2517
+ this.dataSource.namingStrategy.uniqueConstraintName(table, unique.columnNames);
2518
+ const columnNames = unique.columnNames
2519
+ .map((columnName) => `"${columnName}"`)
2520
+ .join(", ");
2521
+ let constraint = `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`;
2522
+ if (unique.deferrable)
2523
+ constraint += ` DEFERRABLE ${unique.deferrable}`;
2524
+ return constraint;
2525
+ })
2526
+ .join(", ");
2527
+ sql += `, ${uniquesSql}`;
2528
+ }
2529
+ if (table.checks.length > 0) {
2530
+ const checksSql = table.checks
2531
+ .map((check) => {
2532
+ const checkName = check.name ??
2533
+ this.dataSource.namingStrategy.checkConstraintName(table, check.expression);
2534
+ return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
2535
+ })
2536
+ .join(", ");
2537
+ sql += `, ${checksSql}`;
2538
+ }
2539
+ if (table.exclusions.length > 0) {
2540
+ const exclusionsSql = table.exclusions
2541
+ .map((exclusion) => {
2542
+ const exclusionName = exclusion.name ??
2543
+ this.dataSource.namingStrategy.exclusionConstraintName(table, exclusion.expression);
2544
+ let constraint = `CONSTRAINT "${exclusionName}" EXCLUDE ${exclusion.expression}`;
2545
+ if (exclusion.deferrable)
2546
+ constraint += ` DEFERRABLE ${exclusion.deferrable}`;
2547
+ return constraint;
2548
+ })
2549
+ .join(", ");
2550
+ sql += `, ${exclusionsSql}`;
2551
+ }
2552
+ if (table.foreignKeys.length > 0 && createForeignKeys) {
2553
+ const foreignKeysSql = table.foreignKeys
2554
+ .map((fk) => {
2555
+ const columnNames = fk.columnNames
2556
+ .map((columnName) => `"${columnName}"`)
2557
+ .join(", ");
2558
+ fk.name ??= this.dataSource.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
2559
+ const referencedColumnNames = fk.referencedColumnNames
2560
+ .map((columnName) => `"${columnName}"`)
2561
+ .join(", ");
2562
+ let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(this.getTablePath(fk))} (${referencedColumnNames})`;
2563
+ if (fk.onDelete)
2564
+ constraint += ` ON DELETE ${fk.onDelete}`;
2565
+ if (fk.onUpdate)
2566
+ constraint += ` ON UPDATE ${fk.onUpdate}`;
2567
+ if (fk.deferrable)
2568
+ constraint += ` DEFERRABLE ${fk.deferrable}`;
2569
+ return constraint;
2570
+ })
2571
+ .join(", ");
2572
+ sql += `, ${foreignKeysSql}`;
2573
+ }
2574
+ const primaryColumns = table.columns.filter((column) => column.isPrimary);
2575
+ if (primaryColumns.length > 0) {
2576
+ const primaryKeyName = primaryColumns[0].primaryKeyConstraintName ??
2577
+ this.dataSource.namingStrategy.primaryKeyName(table, primaryColumns.map((column) => column.name));
2578
+ const columnNames = primaryColumns
2579
+ .map((column) => `"${column.name}"`)
2580
+ .join(", ");
2581
+ sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`;
2582
+ }
2583
+ sql += `)`;
2584
+ table.columns
2585
+ .filter((it) => it.comment)
2586
+ .forEach((it) => {
2587
+ sql += `; COMMENT ON COLUMN ${this.escapePath(table)}."${it.name}" IS ${this.escapeComment(it.comment)}`;
2588
+ });
2589
+ return new Query_1.Query(sql);
2590
+ }
2591
+ /**
2592
+ * Loads Postgres version.
2593
+ */
2594
+ async getVersion() {
2595
+ // we use `SELECT version()` instead of `SHOW server_version` or `SHOW server_version_num`
2596
+ // to maintain compatability with Amazon Redshift.
2597
+ //
2598
+ // see:
2599
+ // - https://github.com/typeorm/typeorm/pull/9319
2600
+ // - https://docs.aws.amazon.com/redshift/latest/dg/c_unsupported-postgresql-functions.html
2601
+ const result = await this.query(`SELECT version()`);
2602
+ // Examples:
2603
+ // Postgres: "PostgreSQL 14.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit"
2604
+ // Yugabyte: "PostgreSQL 11.2-YB-2.18.1.0-b0 on x86_64-pc-linux-gnu, compiled by clang version 15.0.3 (https://github.com/yugabyte/llvm-project.git 0b8d1183745fd3998d8beffeec8cbe99c1b20529), 64-bit"
2605
+ return result[0].version.replace(/^PostgreSQL ([\d.]+).*$/, "$1");
2606
+ }
2607
+ /**
2608
+ * Builds drop table sql.
2609
+ *
2610
+ * @param tableOrPath
2611
+ */
2612
+ dropTableSql(tableOrPath) {
2613
+ return new Query_1.Query(`DROP TABLE ${this.escapePath(tableOrPath)}`);
2614
+ }
2615
+ createViewSql(view) {
2616
+ const materializedClause = view.materialized ? "MATERIALIZED " : "";
2617
+ const viewName = this.escapePath(view);
2618
+ if (typeof view.expression === "string") {
2619
+ return new Query_1.Query(`CREATE ${materializedClause}VIEW ${viewName} AS ${view.expression}`);
2620
+ }
2621
+ else {
2622
+ return new Query_1.Query(`CREATE ${materializedClause}VIEW ${viewName} AS ${view
2623
+ .expression(this.dataSource)
2624
+ .getQuery()}`);
2625
+ }
2626
+ }
2627
+ async insertViewDefinitionSql(view) {
2628
+ const currentSchema = await this.getCurrentSchema();
2629
+ let { schema, tableName: name } = this.driver.parseTableName(view);
2630
+ schema ??= currentSchema;
2631
+ const type = view.materialized
2632
+ ? MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW
2633
+ : MetadataTableType_1.MetadataTableType.VIEW;
2634
+ const expression = typeof view.expression === "string"
2635
+ ? view.expression.trim()
2636
+ : view.expression(this.dataSource).getQuery();
2637
+ return this.insertTypeormMetadataSql({
2638
+ type,
2639
+ schema,
2640
+ name,
2641
+ value: expression,
2642
+ });
2643
+ }
2644
+ /**
2645
+ * Builds drop view sql.
2646
+ *
2647
+ * @param view
2648
+ * @param ifExists
2649
+ */
2650
+ dropViewSql(view, ifExists) {
2651
+ const materializedClause = view.materialized ? "MATERIALIZED " : "";
2652
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2653
+ return new Query_1.Query(`DROP ${materializedClause}VIEW ${ifExistsClause}${this.escapePath(view)}`);
2654
+ }
2655
+ /**
2656
+ * Builds remove view sql.
2657
+ *
2658
+ * @param view
2659
+ */
2660
+ async deleteViewDefinitionSql(view) {
2661
+ const currentSchema = await this.getCurrentSchema();
2662
+ let { schema, tableName: name } = this.driver.parseTableName(view);
2663
+ schema ??= currentSchema;
2664
+ const type = view.materialized
2665
+ ? MetadataTableType_1.MetadataTableType.MATERIALIZED_VIEW
2666
+ : MetadataTableType_1.MetadataTableType.VIEW;
2667
+ return this.deleteTypeormMetadataSql({ type, schema, name });
2668
+ }
2669
+ /**
2670
+ * Drops ENUM type from given schemas.
2671
+ *
2672
+ * @param schemaNames
2673
+ */
2674
+ async dropEnumTypes(schemaNames) {
2675
+ const enums = await this.query(`SELECT quote_ident(n.nspname) || '.' || quote_ident(t.typname) as "name" FROM "pg_type" "t" ` +
2676
+ `INNER JOIN "pg_enum" "e" ON "e"."enumtypid" = "t"."oid" ` +
2677
+ `INNER JOIN "pg_namespace" "n" ON "n"."oid" = "t"."typnamespace" ` +
2678
+ `WHERE "n"."nspname" = ANY($1) GROUP BY "n"."nspname", "t"."typname"`, [schemaNames]);
2679
+ if (enums.length > 0) {
2680
+ await this.query(`DROP TYPE IF EXISTS ${enums.map(({ name }) => name).join(", ")} CASCADE`);
2681
+ }
2682
+ }
2683
+ /**
2684
+ * Checks if enum with the given name exist in the database.
2685
+ *
2686
+ * @param table
2687
+ * @param column
2688
+ */
2689
+ async hasEnumType(table, column) {
2690
+ let { schema } = this.driver.parseTableName(table);
2691
+ schema ??= await this.getCurrentSchema();
2692
+ const enumName = this.buildEnumName(table, column, false, true);
2693
+ const sql = `SELECT "n"."nspname", "t"."typname" FROM "pg_type" "t" ` +
2694
+ `INNER JOIN "pg_namespace" "n" ON "n"."oid" = "t"."typnamespace" ` +
2695
+ `WHERE "n"."nspname" = '${schema}' AND "t"."typname" = '${enumName}'`;
2696
+ const result = await this.query(sql);
2697
+ return result.length ? true : false;
2698
+ }
2699
+ /**
2700
+ * Builds create ENUM type sql.
2701
+ *
2702
+ * @param table
2703
+ * @param column
2704
+ * @param enumName
2705
+ */
2706
+ createEnumTypeSql(table, column, enumName) {
2707
+ enumName ??= this.buildEnumName(table, column);
2708
+ const enumValues = column
2709
+ .enum.map((value) => `'${value.replaceAll("'", "''")}'`)
2710
+ .join(", ");
2711
+ return new Query_1.Query(`CREATE TYPE ${enumName} AS ENUM(${enumValues})`);
2712
+ }
2713
+ /**
2714
+ * Builds create ENUM type sql.
2715
+ *
2716
+ * @param table
2717
+ * @param column
2718
+ * @param enumName
2719
+ */
2720
+ dropEnumTypeSql(table, column, enumName) {
2721
+ enumName ??= this.buildEnumName(table, column);
2722
+ return new Query_1.Query(`DROP TYPE ${enumName}`);
2723
+ }
2724
+ /**
2725
+ * Builds the SQL `USING <index_type>` clause based on the index type, prioritizing `isSpatial` as `GiST`.
2726
+ */
2727
+ buildIndexTypeClause(index) {
2728
+ const type = index.isSpatial ? "gist" : index.type;
2729
+ if (typeof type !== "string")
2730
+ return null;
2731
+ return `USING ${type}`;
2732
+ }
2733
+ /**
2734
+ * Builds create index sql.
2735
+ *
2736
+ * @param table
2737
+ * @param index
2738
+ */
2739
+ createIndexSql(table, index) {
2740
+ const indexTypeClause = this.buildIndexTypeClause(index);
2741
+ const columns = index.columnNames
2742
+ .map((columnName) => `"${columnName}"`)
2743
+ .join(", ");
2744
+ return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX${index.isConcurrent ? " CONCURRENTLY" : ""} "${index.name}" ON ${this.escapePath(table)} ${indexTypeClause ?? ""} (${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2745
+ }
2746
+ /**
2747
+ * Builds create view index sql.
2748
+ *
2749
+ * @param view
2750
+ * @param index
2751
+ */
2752
+ createViewIndexSql(view, index) {
2753
+ const indexTypeClause = this.buildIndexTypeClause(index);
2754
+ const columns = index.columnNames
2755
+ .map((columnName) => `"${columnName}"`)
2756
+ .join(", ");
2757
+ return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(view)} ${indexTypeClause ?? ""} (${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2758
+ }
2759
+ /**
2760
+ * Builds drop index sql.
2761
+ *
2762
+ * @param table
2763
+ * @param indexOrName
2764
+ * @param ifExists
2765
+ */
2766
+ dropIndexSql(table, indexOrName, ifExists) {
2767
+ const indexName = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
2768
+ ? indexOrName.name
2769
+ : indexOrName;
2770
+ const concurrent = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
2771
+ ? indexOrName.isConcurrent
2772
+ : false;
2773
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2774
+ const { schema } = this.driver.parseTableName(table);
2775
+ return schema
2776
+ ? new Query_1.Query(`DROP INDEX ${concurrent ? "CONCURRENTLY " : ""}${ifExistsClause}"${schema}"."${indexName}"`)
2777
+ : new Query_1.Query(`DROP INDEX ${concurrent ? "CONCURRENTLY " : ""}${ifExistsClause}"${indexName}"`);
2778
+ }
2779
+ /**
2780
+ * Builds create primary key sql.
2781
+ *
2782
+ * @param table
2783
+ * @param columnNames
2784
+ * @param constraintName
2785
+ */
2786
+ createPrimaryKeySql(table, columnNames, constraintName) {
2787
+ const primaryKeyName = constraintName ??
2788
+ this.dataSource.namingStrategy.primaryKeyName(table, columnNames);
2789
+ const columnNamesString = columnNames
2790
+ .map((columnName) => `"${columnName}"`)
2791
+ .join(", ");
2792
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`);
2793
+ }
2794
+ /**
2795
+ * Builds drop primary key sql.
2796
+ *
2797
+ * @param table
2798
+ * @param ifExists
2799
+ */
2800
+ dropPrimaryKeySql(table, ifExists) {
2801
+ if (!table.primaryColumns.length)
2802
+ throw new error_1.TypeORMError(`Table ${table} has no primary keys.`);
2803
+ const columnNames = table.primaryColumns.map((column) => column.name);
2804
+ const constraintName = table.primaryColumns[0].primaryKeyConstraintName;
2805
+ const primaryKeyName = constraintName ??
2806
+ this.dataSource.namingStrategy.primaryKeyName(table, columnNames);
2807
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2808
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT ${ifExistsClause}"${primaryKeyName}"`);
2809
+ }
2810
+ /**
2811
+ * Builds create unique constraint sql.
2812
+ *
2813
+ * @param table
2814
+ * @param uniqueConstraint
2815
+ */
2816
+ createUniqueConstraintSql(table, uniqueConstraint) {
2817
+ const columnNames = uniqueConstraint.columnNames
2818
+ .map((column) => `"` + column + `"`)
2819
+ .join(", ");
2820
+ let sql = `ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${uniqueConstraint.name}" UNIQUE (${columnNames})`;
2821
+ if (uniqueConstraint.deferrable)
2822
+ sql += ` DEFERRABLE ${uniqueConstraint.deferrable}`;
2823
+ return new Query_1.Query(sql);
2824
+ }
2825
+ /**
2826
+ * Builds drop unique constraint sql.
2827
+ *
2828
+ * @param table
2829
+ * @param uniqueOrName
2830
+ * @param ifExists
2831
+ */
2832
+ dropUniqueConstraintSql(table, uniqueOrName, ifExists) {
2833
+ const uniqueName = InstanceChecker_1.InstanceChecker.isTableUnique(uniqueOrName)
2834
+ ? uniqueOrName.name
2835
+ : uniqueOrName;
2836
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2837
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT ${ifExistsClause}"${uniqueName}"`);
2838
+ }
2839
+ /**
2840
+ * Builds create check constraint sql.
2841
+ *
2842
+ * @param table
2843
+ * @param checkConstraint
2844
+ */
2845
+ createCheckConstraintSql(table, checkConstraint) {
2846
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${checkConstraint.name}" CHECK (${checkConstraint.expression})`);
2847
+ }
2848
+ /**
2849
+ * Builds drop check constraint sql.
2850
+ *
2851
+ * @param table
2852
+ * @param checkOrName
2853
+ * @param ifExists
2854
+ */
2855
+ dropCheckConstraintSql(table, checkOrName, ifExists) {
2856
+ const checkName = InstanceChecker_1.InstanceChecker.isTableCheck(checkOrName)
2857
+ ? checkOrName.name
2858
+ : checkOrName;
2859
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2860
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT ${ifExistsClause}"${checkName}"`);
2861
+ }
2862
+ /**
2863
+ * Builds create exclusion constraint sql.
2864
+ *
2865
+ * @param table
2866
+ * @param exclusionConstraint
2867
+ */
2868
+ createExclusionConstraintSql(table, exclusionConstraint) {
2869
+ let sql = `ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${exclusionConstraint.name}" EXCLUDE ${exclusionConstraint.expression}`;
2870
+ if (exclusionConstraint.deferrable)
2871
+ sql += ` DEFERRABLE ${exclusionConstraint.deferrable}`;
2872
+ return new Query_1.Query(sql);
2873
+ }
2874
+ /**
2875
+ * Builds drop exclusion constraint sql.
2876
+ *
2877
+ * @param table
2878
+ * @param exclusionOrName
2879
+ * @param ifExists
2880
+ */
2881
+ dropExclusionConstraintSql(table, exclusionOrName, ifExists) {
2882
+ const exclusionName = InstanceChecker_1.InstanceChecker.isTableExclusion(exclusionOrName)
2883
+ ? exclusionOrName.name
2884
+ : exclusionOrName;
2885
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2886
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT ${ifExistsClause}"${exclusionName}"`);
2887
+ }
2888
+ /**
2889
+ * Builds create foreign key sql.
2890
+ *
2891
+ * @param table
2892
+ * @param foreignKey
2893
+ */
2894
+ createForeignKeySql(table, foreignKey) {
2895
+ const columnNames = foreignKey.columnNames
2896
+ .map((column) => `"` + column + `"`)
2897
+ .join(", ");
2898
+ const referencedColumnNames = foreignKey.referencedColumnNames
2899
+ .map((column) => `"` + column + `"`)
2900
+ .join(",");
2901
+ let sql = `ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${foreignKey.name}" FOREIGN KEY (${columnNames}) ` +
2902
+ `REFERENCES ${this.escapePath(this.getTablePath(foreignKey))}(${referencedColumnNames})`;
2903
+ if (foreignKey.onDelete)
2904
+ sql += ` ON DELETE ${foreignKey.onDelete}`;
2905
+ if (foreignKey.onUpdate)
2906
+ sql += ` ON UPDATE ${foreignKey.onUpdate}`;
2907
+ if (foreignKey.deferrable)
2908
+ sql += ` DEFERRABLE ${foreignKey.deferrable}`;
2909
+ return new Query_1.Query(sql);
2910
+ }
2911
+ /**
2912
+ * Builds drop foreign key sql.
2913
+ *
2914
+ * @param table
2915
+ * @param foreignKeyOrName
2916
+ * @param ifExists
2917
+ */
2918
+ dropForeignKeySql(table, foreignKeyOrName, ifExists) {
2919
+ const foreignKeyName = InstanceChecker_1.InstanceChecker.isTableForeignKey(foreignKeyOrName)
2920
+ ? foreignKeyOrName.name
2921
+ : foreignKeyOrName;
2922
+ const ifExistsClause = ifExists ? "IF EXISTS " : "";
2923
+ return new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT ${ifExistsClause}"${foreignKeyName}"`);
2924
+ }
2925
+ /**
2926
+ * Builds sequence name from given table and column.
2927
+ *
2928
+ * @param table
2929
+ * @param columnOrName
2930
+ */
2931
+ buildSequenceName(table, columnOrName) {
2932
+ const { tableName } = this.driver.parseTableName(table);
2933
+ const columnName = InstanceChecker_1.InstanceChecker.isTableColumn(columnOrName)
2934
+ ? columnOrName.name
2935
+ : columnOrName;
2936
+ let seqName = `${tableName}_${columnName}_seq`;
2937
+ if (seqName.length > this.dataSource.driver.maxAliasLength) {
2938
+ // note doesn't yet handle corner cases where .length differs from number of UTF-8 bytes
2939
+ seqName = `${tableName.slice(0, 29)}_${columnName.slice(0, Math.max(29, 63 - table.name.length - 5))}_seq`;
2940
+ }
2941
+ return seqName;
2942
+ }
2943
+ buildSequencePath(table, columnOrName) {
2944
+ const { schema } = this.driver.parseTableName(table);
2945
+ return schema
2946
+ ? `${schema}.${this.buildSequenceName(table, columnOrName)}`
2947
+ : this.buildSequenceName(table, columnOrName);
2948
+ }
2949
+ /**
2950
+ * Builds ENUM type name from given table and column.
2951
+ *
2952
+ * @param table
2953
+ * @param column
2954
+ * @param withSchema
2955
+ * @param disableEscape
2956
+ * @param toOld
2957
+ */
2958
+ buildEnumName(table, column, withSchema = true, disableEscape, toOld) {
2959
+ const { schema, tableName } = this.driver.parseTableName(table);
2960
+ let enumName = column.enumName ?? `${tableName}_${column.name.toLowerCase()}_enum`;
2961
+ if (schema && withSchema)
2962
+ enumName = `${schema}.${enumName}`;
2963
+ if (toOld)
2964
+ enumName = enumName + "_old";
2965
+ return enumName
2966
+ .split(".")
2967
+ .map((i) => {
2968
+ return disableEscape ? i : `"${i}"`;
2969
+ })
2970
+ .join(".");
2971
+ }
2972
+ async getUserDefinedTypeName(table, column) {
2973
+ let { schema, tableName: name } = this.driver.parseTableName(table);
2974
+ schema ??= await this.getCurrentSchema();
2975
+ const result = await this.query(`SELECT "udt_schema", "udt_name" ` +
2976
+ `FROM "information_schema"."columns" WHERE "table_schema" = '${schema}' AND "table_name" = '${name}' AND "column_name"='${column.name}'`);
2977
+ // docs: https://www.postgresql.org/docs/current/xtypes.html
2978
+ // When you define a new base type, PostgreSQL automatically provides support for arrays of that type.
2979
+ // The array type typically has the same name as the base type with the underscore character (_) prepended.
2980
+ // ----
2981
+ // so, we must remove this underscore character from enum type name
2982
+ let udtName = result[0]["udt_name"];
2983
+ if (udtName.startsWith("_")) {
2984
+ udtName = udtName.slice(1);
2985
+ }
2986
+ return {
2987
+ schema: result[0]["udt_schema"],
2988
+ name: udtName,
2989
+ };
2990
+ }
2991
+ /**
2992
+ * Escapes a given comment so it's safe to include in a query.
2993
+ *
2994
+ * @param comment
2995
+ */
2996
+ escapeComment(comment) {
2997
+ if (!comment || comment.length === 0) {
2998
+ return "NULL";
2999
+ }
3000
+ comment = comment.replaceAll("'", "''").replaceAll("\u0000", ""); // Null bytes aren't allowed in comments
3001
+ return `'${comment}'`;
3002
+ }
3003
+ /**
3004
+ * Escapes given table or view path.
3005
+ *
3006
+ * @param target
3007
+ */
3008
+ escapePath(target) {
3009
+ const { schema, tableName } = this.driver.parseTableName(target);
3010
+ if (schema && schema !== this.driver.searchSchema) {
3011
+ return `"${schema}"."${tableName}"`;
3012
+ }
3013
+ return `"${tableName}"`;
3014
+ }
3015
+ /**
3016
+ * Get the table name with table schema
3017
+ * Note: Without ' or "
3018
+ *
3019
+ * @param target
3020
+ */
3021
+ async getTableNameWithSchema(target) {
3022
+ const tableName = InstanceChecker_1.InstanceChecker.isTable(target) ? target.name : target;
3023
+ if (tableName.indexOf(".") === -1) {
3024
+ const schemaResult = await this.query(`SELECT current_schema()`);
3025
+ const schema = schemaResult[0]["current_schema"];
3026
+ return `${schema}.${tableName}`;
3027
+ }
3028
+ else {
3029
+ return `${tableName.split(".")[0]}.${tableName.split(".")[1]}`;
3030
+ }
3031
+ }
3032
+ /**
3033
+ * Builds a query for create column.
3034
+ *
3035
+ * @param table
3036
+ * @param column
3037
+ */
3038
+ buildCreateColumnSql(table, column) {
3039
+ let c = '"' + column.name + '"';
3040
+ if (column.isGenerated === true &&
3041
+ column.generationStrategy !== "uuid") {
3042
+ if (column.generationStrategy === "identity") {
3043
+ // Postgres 10+ Identity generated column
3044
+ const generatedIdentityOrDefault = column.generatedIdentity ?? "BY DEFAULT";
3045
+ c += ` ${column.type} GENERATED ${generatedIdentityOrDefault} AS IDENTITY`;
3046
+ }
3047
+ else {
3048
+ // classic SERIAL primary column
3049
+ if (column.type === "integer" ||
3050
+ column.type === "int" ||
3051
+ column.type === "int4")
3052
+ c += " SERIAL";
3053
+ if (column.type === "smallint" || column.type === "int2")
3054
+ c += " SMALLSERIAL";
3055
+ if (column.type === "bigint" || column.type === "int8")
3056
+ c += " BIGSERIAL";
3057
+ }
3058
+ }
3059
+ if (column.type === "enum" || column.type === "simple-enum") {
3060
+ c += " " + this.buildEnumName(table, column);
3061
+ if (column.isArray)
3062
+ c += " array";
3063
+ }
3064
+ else if (!column.isGenerated || column.type === "uuid") {
3065
+ c += " " + this.dataSource.driver.createFullType(column);
3066
+ }
3067
+ // Postgres only supports the stored generated column type
3068
+ if (column.generatedType === "STORED" && column.asExpression) {
3069
+ c += ` GENERATED ALWAYS AS (${column.asExpression}) STORED`;
3070
+ }
3071
+ if (column.charset)
3072
+ c += ' CHARACTER SET "' + column.charset + '"';
3073
+ if (column.collation)
3074
+ c += ' COLLATE "' + column.collation + '"';
3075
+ if (column.isNullable !== true)
3076
+ c += " NOT NULL";
3077
+ if (column.default !== undefined && column.default !== null)
3078
+ c += " DEFAULT " + column.default;
3079
+ if (column.isGenerated &&
3080
+ column.generationStrategy === "uuid" &&
3081
+ !column.default)
3082
+ c += ` DEFAULT ${this.driver.uuidGenerator}`;
3083
+ return c;
3084
+ }
3085
+ /**
3086
+ * Checks if the PostgreSQL server has support for partitioned tables
3087
+ */
3088
+ async hasSupportForPartitionedTables() {
3089
+ const result = await this.query(`SELECT TRUE FROM information_schema.columns WHERE table_name = 'pg_class' and column_name = 'relispartition'`);
3090
+ return result.length ? true : false;
3091
+ }
3092
+ /**
3093
+ * Change table comment.
3094
+ *
3095
+ * @param tableOrName
3096
+ * @param newComment
3097
+ */
3098
+ async changeTableComment(tableOrName, newComment) {
3099
+ const upQueries = [];
3100
+ const downQueries = [];
3101
+ const table = InstanceChecker_1.InstanceChecker.isTable(tableOrName)
3102
+ ? tableOrName
3103
+ : await this.getCachedTable(tableOrName);
3104
+ const escapedNewComment = this.escapeComment(newComment);
3105
+ const escapedComment = this.escapeComment(table.comment);
3106
+ if (escapedNewComment === escapedComment) {
3107
+ return;
3108
+ }
3109
+ const newTable = table.clone();
3110
+ newTable.comment = newComment;
3111
+ upQueries.push(new Query_1.Query(`COMMENT ON TABLE ${this.escapePath(newTable)} IS ${escapedNewComment}`));
3112
+ downQueries.push(new Query_1.Query(`COMMENT ON TABLE ${this.escapePath(table)} IS ${escapedComment}`));
3113
+ await this.executeQueries(upQueries, downQueries);
3114
+ table.comment = newTable.comment;
3115
+ this.replaceCachedTable(table, newTable);
3116
+ }
3117
+ }
3118
+ exports.PostgresQueryRunner = PostgresQueryRunner;
3119
+ //# sourceMappingURL=PostgresQueryRunner.js.map