taon-typeorm 21.0.39 → 21.0.41

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