typeorm 0.2.38-dev.e9366b3 → 0.2.39-dev.1197f88

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 (695) hide show
  1. package/README.md +61 -60
  2. package/browser/connection/ConnectionMetadataBuilder.js +4 -4
  3. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  4. package/browser/connection/ConnectionOptionsReader.js +2 -1
  5. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  6. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
  7. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  8. package/browser/decorator/entity-view/ViewEntity.js +1 -0
  9. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  10. package/browser/decorator/options/ViewEntityOptions.d.ts +5 -0
  11. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  12. package/browser/decorator/transaction/Transaction.js +3 -3
  13. package/browser/decorator/transaction/Transaction.js.map +1 -1
  14. package/browser/driver/DriverUtils.js +1 -1
  15. package/browser/driver/DriverUtils.js.map +1 -1
  16. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +5 -0
  17. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  18. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +6 -5
  19. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  20. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +19 -48
  21. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  22. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +5 -0
  23. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  24. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +2 -1
  25. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  26. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
  27. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  28. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +5 -0
  29. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  30. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +4 -3
  31. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  32. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +10 -0
  33. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  34. package/browser/driver/cockroachdb/CockroachDriver.js +28 -18
  35. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  36. package/browser/driver/cockroachdb/CockroachQueryRunner.js +108 -145
  37. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  38. package/browser/driver/cordova/CordovaConnectionOptions.d.ts +5 -0
  39. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  40. package/browser/driver/cordova/CordovaDriver.d.ts +1 -1
  41. package/browser/driver/cordova/CordovaDriver.js +27 -19
  42. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  43. package/browser/driver/cordova/CordovaQueryRunner.js +50 -43
  44. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  45. package/browser/driver/expo/ExpoQueryRunner.js +12 -43
  46. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  47. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +5 -0
  48. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  49. package/browser/driver/mongodb/MongoDriver.js +2 -1
  50. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  51. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  52. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  53. package/browser/driver/mysql/MysqlDriver.js +4 -2
  54. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  55. package/browser/driver/mysql/MysqlQueryRunner.js +24 -54
  56. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  57. package/browser/driver/nativescript/NativescriptQueryRunner.js +45 -37
  58. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  59. package/browser/driver/oracle/OracleConnectionOptions.d.ts +5 -0
  60. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  61. package/browser/driver/oracle/OracleDriver.js +5 -4
  62. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  63. package/browser/driver/oracle/OracleQueryRunner.js +20 -48
  64. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  65. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +10 -0
  66. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  67. package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
  68. package/browser/driver/postgres/PostgresDriver.js +37 -45
  69. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  70. package/browser/driver/postgres/PostgresQueryRunner.js +28 -66
  71. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  72. package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +5 -0
  73. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  74. package/browser/driver/react-native/ReactNativeDriver.js +2 -1
  75. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  76. package/browser/driver/sap/SapConnectionOptions.d.ts +16 -6
  77. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  78. package/browser/driver/sap/SapDriver.js +6 -3
  79. package/browser/driver/sap/SapDriver.js.map +1 -1
  80. package/browser/driver/sap/SapQueryRunner.js +30 -78
  81. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  82. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +5 -0
  83. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  84. package/browser/driver/sqlite/SqliteDriver.js +4 -3
  85. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  86. package/browser/driver/sqlite/SqliteQueryRunner.js +16 -8
  87. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  88. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +19 -49
  89. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  90. package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +5 -0
  91. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  92. package/browser/driver/sqljs/SqljsDriver.js +9 -24
  93. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  94. package/browser/driver/sqljs/SqljsQueryRunner.js +9 -10
  95. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  96. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
  97. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  98. package/browser/driver/sqlserver/SqlServerDriver.js +7 -6
  99. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  100. package/browser/driver/sqlserver/SqlServerQueryRunner.js +84 -116
  101. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  102. package/browser/entity-manager/MongoEntityManager.js +8 -13
  103. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  104. package/browser/find-options/FindOptionsUtils.js +1 -1
  105. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  106. package/browser/metadata/ColumnMetadata.js +4 -4
  107. package/browser/metadata/ColumnMetadata.js.map +1 -1
  108. package/browser/metadata/EmbeddedMetadata.js +1 -1
  109. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  110. package/browser/metadata/EntityMetadata.d.ts +5 -0
  111. package/browser/metadata/EntityMetadata.js +2 -1
  112. package/browser/metadata/EntityMetadata.js.map +1 -1
  113. package/browser/metadata/RelationMetadata.js +4 -4
  114. package/browser/metadata/RelationMetadata.js.map +1 -1
  115. package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
  116. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  117. package/browser/metadata-builder/EntityMetadataBuilder.js +5 -5
  118. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  119. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +1 -1
  120. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  121. package/browser/migration/MigrationExecutor.d.ts +1 -1
  122. package/browser/migration/MigrationExecutor.js +6 -14
  123. package/browser/migration/MigrationExecutor.js.map +1 -1
  124. package/browser/naming-strategy/DefaultNamingStrategy.js +5 -5
  125. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  126. package/browser/persistence/Subject.js +1 -1
  127. package/browser/persistence/Subject.js.map +1 -1
  128. package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
  129. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  130. package/browser/persistence/SubjectExecutor.js +4 -4
  131. package/browser/persistence/SubjectExecutor.js.map +1 -1
  132. package/browser/persistence/SubjectTopoligicalSorter.js +5 -5
  133. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  134. package/browser/persistence/tree/ClosureSubjectExecutor.js +4 -4
  135. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  136. package/browser/query-builder/DeleteQueryBuilder.js +3 -10
  137. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  138. package/browser/query-builder/InsertQueryBuilder.js +4 -6
  139. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  140. package/browser/query-builder/QueryBuilder.js +9 -9
  141. package/browser/query-builder/QueryBuilder.js.map +1 -1
  142. package/browser/query-builder/RelationLoader.js +2 -2
  143. package/browser/query-builder/RelationLoader.js.map +1 -1
  144. package/browser/query-builder/RelationRemover.js +6 -6
  145. package/browser/query-builder/RelationRemover.js.map +1 -1
  146. package/browser/query-builder/SelectQueryBuilder.js +14 -14
  147. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  148. package/browser/query-builder/SoftDeleteQueryBuilder.js +3 -10
  149. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  150. package/browser/query-builder/UpdateQueryBuilder.js +5 -12
  151. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  152. package/browser/query-builder/relation-id/RelationIdLoader.js +1 -1
  153. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  154. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -10
  155. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  156. package/browser/query-runner/BaseQueryRunner.d.ts +2 -1
  157. package/browser/query-runner/BaseQueryRunner.js +49 -27
  158. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  159. package/browser/query-runner/QueryLock.js +1 -1
  160. package/browser/query-runner/QueryLock.js.map +1 -1
  161. package/browser/repository/BaseEntity.js +1 -1
  162. package/browser/repository/BaseEntity.js.map +1 -1
  163. package/browser/repository/Repository.js +1 -1
  164. package/browser/repository/Repository.js.map +1 -1
  165. package/browser/repository/TreeRepository.js +2 -2
  166. package/browser/repository/TreeRepository.js.map +1 -1
  167. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -0
  168. package/browser/schema-builder/RdbmsSchemaBuilder.js +248 -190
  169. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  170. package/browser/schema-builder/table/TableCheck.js +1 -1
  171. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  172. package/browser/schema-builder/table/TableForeignKey.js +2 -2
  173. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  174. package/browser/schema-builder/table/TableIndex.js +1 -1
  175. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  176. package/browser/schema-builder/table/TableUnique.js +1 -1
  177. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  178. package/browser/schema-builder/util/ViewUtils.d.ts +7 -0
  179. package/browser/schema-builder/util/ViewUtils.js +25 -0
  180. package/browser/schema-builder/util/ViewUtils.js.map +1 -0
  181. package/browser/subscriber/Broadcaster.d.ts +23 -2
  182. package/browser/subscriber/Broadcaster.js +35 -2
  183. package/browser/subscriber/Broadcaster.js.map +1 -1
  184. package/browser/subscriber/BroadcasterResult.d.ts +4 -0
  185. package/browser/subscriber/BroadcasterResult.js +19 -0
  186. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  187. package/browser/util/StringUtils.js +1 -1
  188. package/browser/util/StringUtils.js.map +1 -1
  189. package/cache/DbQueryResultCache.js +12 -12
  190. package/cache/RedisQueryResultCache.js +12 -12
  191. package/cli.js +1 -6
  192. package/cli.js.map +1 -1
  193. package/commands/CacheClearCommand.js +4 -4
  194. package/commands/CacheClearCommand.js.map +1 -1
  195. package/commands/CommandUtils.js +10 -10
  196. package/commands/CommandUtils.js.map +1 -1
  197. package/commands/EntityCreateCommand.js +3 -3
  198. package/commands/EntityCreateCommand.js.map +1 -1
  199. package/commands/InitCommand.js +5 -5
  200. package/commands/InitCommand.js.map +1 -1
  201. package/commands/MigrationCreateCommand.js +5 -5
  202. package/commands/MigrationCreateCommand.js.map +1 -1
  203. package/commands/MigrationGenerateCommand.js +7 -7
  204. package/commands/MigrationGenerateCommand.js.map +1 -1
  205. package/commands/MigrationRevertCommand.js +4 -4
  206. package/commands/MigrationRevertCommand.js.map +1 -1
  207. package/commands/MigrationRunCommand.js +5 -5
  208. package/commands/MigrationRunCommand.js.map +1 -1
  209. package/commands/MigrationShowCommand.js +5 -5
  210. package/commands/MigrationShowCommand.js.map +1 -1
  211. package/commands/QueryCommand.js +4 -4
  212. package/commands/QueryCommand.js.map +1 -1
  213. package/commands/SchemaDropCommand.js +4 -4
  214. package/commands/SchemaDropCommand.js.map +1 -1
  215. package/commands/SchemaLogCommand.js +7 -7
  216. package/commands/SchemaLogCommand.js.map +1 -1
  217. package/commands/SchemaSyncCommand.js +5 -5
  218. package/commands/SchemaSyncCommand.js.map +1 -1
  219. package/commands/SubscriberCreateCommand.js +3 -3
  220. package/commands/SubscriberCreateCommand.js.map +1 -1
  221. package/commands/VersionCommand.js +3 -3
  222. package/commands/VersionCommand.js.map +1 -1
  223. package/connection/Connection.js +19 -19
  224. package/connection/Connection.js.map +1 -1
  225. package/connection/ConnectionMetadataBuilder.js +11 -11
  226. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  227. package/connection/ConnectionOptionsReader.js +11 -10
  228. package/connection/ConnectionOptionsReader.js.map +1 -1
  229. package/connection/options-reader/ConnectionOptionsEnvReader.js +2 -2
  230. package/connection/options-reader/ConnectionOptionsXmlReader.js +3 -3
  231. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  232. package/connection/options-reader/ConnectionOptionsYmlReader.js +4 -4
  233. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  234. package/decorator/Check.js +1 -1
  235. package/decorator/Check.js.map +1 -1
  236. package/decorator/EntityRepository.js +1 -1
  237. package/decorator/EntityRepository.js.map +1 -1
  238. package/decorator/Exclusion.js +1 -1
  239. package/decorator/Exclusion.js.map +1 -1
  240. package/decorator/Generated.js +1 -1
  241. package/decorator/Generated.js.map +1 -1
  242. package/decorator/Index.js +1 -1
  243. package/decorator/Index.js.map +1 -1
  244. package/decorator/Unique.js +1 -1
  245. package/decorator/Unique.js.map +1 -1
  246. package/decorator/columns/Column.js +4 -4
  247. package/decorator/columns/Column.js.map +1 -1
  248. package/decorator/columns/CreateDateColumn.js +1 -1
  249. package/decorator/columns/CreateDateColumn.js.map +1 -1
  250. package/decorator/columns/DeleteDateColumn.js +1 -1
  251. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  252. package/decorator/columns/ObjectIdColumn.js +1 -1
  253. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  254. package/decorator/columns/PrimaryColumn.js +2 -2
  255. package/decorator/columns/PrimaryColumn.js.map +1 -1
  256. package/decorator/columns/PrimaryGeneratedColumn.js +2 -2
  257. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  258. package/decorator/columns/UpdateDateColumn.js +1 -1
  259. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  260. package/decorator/columns/VersionColumn.js +1 -1
  261. package/decorator/columns/VersionColumn.js.map +1 -1
  262. package/decorator/columns/ViewColumn.js +1 -1
  263. package/decorator/columns/ViewColumn.js.map +1 -1
  264. package/decorator/entity/ChildEntity.js +2 -2
  265. package/decorator/entity/ChildEntity.js.map +1 -1
  266. package/decorator/entity/Entity.js +1 -1
  267. package/decorator/entity/Entity.js.map +1 -1
  268. package/decorator/entity/TableInheritance.js +1 -1
  269. package/decorator/entity/TableInheritance.js.map +1 -1
  270. package/decorator/entity-view/ViewEntity.js +2 -1
  271. package/decorator/entity-view/ViewEntity.js.map +1 -1
  272. package/decorator/listeners/AfterInsert.js +1 -1
  273. package/decorator/listeners/AfterInsert.js.map +1 -1
  274. package/decorator/listeners/AfterLoad.js +1 -1
  275. package/decorator/listeners/AfterLoad.js.map +1 -1
  276. package/decorator/listeners/AfterRemove.js +1 -1
  277. package/decorator/listeners/AfterRemove.js.map +1 -1
  278. package/decorator/listeners/AfterUpdate.js +1 -1
  279. package/decorator/listeners/AfterUpdate.js.map +1 -1
  280. package/decorator/listeners/BeforeInsert.js +1 -1
  281. package/decorator/listeners/BeforeInsert.js.map +1 -1
  282. package/decorator/listeners/BeforeRemove.js +1 -1
  283. package/decorator/listeners/BeforeRemove.js.map +1 -1
  284. package/decorator/listeners/BeforeUpdate.js +1 -1
  285. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  286. package/decorator/listeners/EventSubscriber.js +1 -1
  287. package/decorator/listeners/EventSubscriber.js.map +1 -1
  288. package/decorator/options/ViewEntityOptions.d.ts +5 -0
  289. package/decorator/options/ViewEntityOptions.js.map +1 -1
  290. package/decorator/relations/JoinColumn.js +1 -1
  291. package/decorator/relations/JoinColumn.js.map +1 -1
  292. package/decorator/relations/JoinTable.js +1 -1
  293. package/decorator/relations/JoinTable.js.map +1 -1
  294. package/decorator/relations/ManyToMany.js +1 -1
  295. package/decorator/relations/ManyToMany.js.map +1 -1
  296. package/decorator/relations/ManyToOne.js +1 -1
  297. package/decorator/relations/ManyToOne.js.map +1 -1
  298. package/decorator/relations/OneToMany.js +1 -1
  299. package/decorator/relations/OneToMany.js.map +1 -1
  300. package/decorator/relations/OneToOne.js +1 -1
  301. package/decorator/relations/OneToOne.js.map +1 -1
  302. package/decorator/relations/RelationCount.js +1 -1
  303. package/decorator/relations/RelationCount.js.map +1 -1
  304. package/decorator/relations/RelationId.js +1 -1
  305. package/decorator/relations/RelationId.js.map +1 -1
  306. package/decorator/transaction/Transaction.js +7 -7
  307. package/decorator/transaction/Transaction.js.map +1 -1
  308. package/decorator/transaction/TransactionManager.js +1 -1
  309. package/decorator/transaction/TransactionManager.js.map +1 -1
  310. package/decorator/transaction/TransactionRepository.js +1 -1
  311. package/decorator/transaction/TransactionRepository.js.map +1 -1
  312. package/decorator/tree/Tree.js +1 -1
  313. package/decorator/tree/Tree.js.map +1 -1
  314. package/decorator/tree/TreeChildren.js +1 -1
  315. package/decorator/tree/TreeChildren.js.map +1 -1
  316. package/decorator/tree/TreeLevelColumn.js +1 -1
  317. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  318. package/decorator/tree/TreeParent.js +1 -1
  319. package/decorator/tree/TreeParent.js.map +1 -1
  320. package/driver/DriverUtils.js +9 -9
  321. package/driver/DriverUtils.js.map +1 -1
  322. package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -1
  323. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  324. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +5 -0
  325. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  326. package/driver/aurora-data-api/AuroraDataApiDriver.js +12 -11
  327. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  328. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +146 -175
  329. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  330. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +5 -0
  331. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  332. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +10 -9
  333. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  334. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +29 -58
  335. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  336. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +5 -0
  337. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  338. package/driver/better-sqlite3/BetterSqlite3Driver.js +12 -11
  339. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  340. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +5 -5
  341. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  342. package/driver/capacitor/CapacitorDriver.js +7 -7
  343. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  344. package/driver/capacitor/CapacitorQueryRunner.js +5 -5
  345. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  346. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +10 -0
  347. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  348. package/driver/cockroachdb/CockroachDriver.js +38 -28
  349. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  350. package/driver/cockroachdb/CockroachQueryRunner.js +240 -277
  351. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  352. package/driver/cordova/CordovaConnectionOptions.d.ts +5 -0
  353. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  354. package/driver/cordova/CordovaDriver.d.ts +1 -1
  355. package/driver/cordova/CordovaDriver.js +30 -22
  356. package/driver/cordova/CordovaDriver.js.map +1 -1
  357. package/driver/cordova/CordovaQueryRunner.js +61 -54
  358. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  359. package/driver/expo/ExpoDriver.js +3 -3
  360. package/driver/expo/ExpoDriver.js.map +1 -1
  361. package/driver/expo/ExpoQueryRunner.js +23 -54
  362. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  363. package/driver/mongodb/MongoConnectionOptions.d.ts +5 -0
  364. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  365. package/driver/mongodb/MongoDriver.js +4 -3
  366. package/driver/mongodb/MongoDriver.js.map +1 -1
  367. package/driver/mongodb/MongoQueryRunner.js +178 -178
  368. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  369. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  370. package/driver/mysql/MysqlDriver.js +9 -7
  371. package/driver/mysql/MysqlDriver.js.map +1 -1
  372. package/driver/mysql/MysqlQueryRunner.js +152 -182
  373. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  374. package/driver/nativescript/NativescriptDriver.js +3 -3
  375. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  376. package/driver/nativescript/NativescriptQueryRunner.js +48 -40
  377. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  378. package/driver/oracle/OracleConnectionOptions.d.ts +5 -0
  379. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  380. package/driver/oracle/OracleDriver.js +13 -12
  381. package/driver/oracle/OracleDriver.js.map +1 -1
  382. package/driver/oracle/OracleQueryRunner.js +143 -171
  383. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  384. package/driver/postgres/PostgresConnectionOptions.d.ts +10 -0
  385. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  386. package/driver/postgres/PostgresDriver.d.ts +2 -2
  387. package/driver/postgres/PostgresDriver.js +52 -60
  388. package/driver/postgres/PostgresDriver.js.map +1 -1
  389. package/driver/postgres/PostgresQueryRunner.js +175 -213
  390. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  391. package/driver/react-native/ReactNativeConnectionOptions.d.ts +5 -0
  392. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  393. package/driver/react-native/ReactNativeDriver.js +5 -4
  394. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  395. package/driver/react-native/ReactNativeQueryRunner.js +3 -3
  396. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  397. package/driver/sap/SapConnectionOptions.d.ts +16 -6
  398. package/driver/sap/SapConnectionOptions.js.map +1 -1
  399. package/driver/sap/SapDriver.js +11 -8
  400. package/driver/sap/SapDriver.js.map +1 -1
  401. package/driver/sap/SapQueryRunner.js +159 -207
  402. package/driver/sap/SapQueryRunner.js.map +1 -1
  403. package/driver/sqlite/SqliteConnectionOptions.d.ts +5 -0
  404. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  405. package/driver/sqlite/SqliteDriver.js +12 -11
  406. package/driver/sqlite/SqliteDriver.js.map +1 -1
  407. package/driver/sqlite/SqliteQueryRunner.js +21 -13
  408. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  409. package/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -4
  410. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +138 -168
  411. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  412. package/driver/sqljs/SqljsConnectionOptions.d.ts +5 -0
  413. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  414. package/driver/sqljs/SqljsDriver.js +22 -37
  415. package/driver/sqljs/SqljsDriver.js.map +1 -1
  416. package/driver/sqljs/SqljsQueryRunner.js +17 -18
  417. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  418. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
  419. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  420. package/driver/sqlserver/SqlServerDriver.js +13 -12
  421. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  422. package/driver/sqlserver/SqlServerQueryRunner.js +220 -252
  423. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  424. package/entity-manager/EntityManager.js +30 -30
  425. package/entity-manager/EntityManager.js.map +1 -1
  426. package/entity-manager/MongoEntityManager.js +23 -28
  427. package/entity-manager/MongoEntityManager.js.map +1 -1
  428. package/entity-manager/SqljsEntityManager.js +5 -5
  429. package/entity-manager/SqljsEntityManager.js.map +1 -1
  430. package/entity-schema/EntitySchemaTransformer.js +1 -1
  431. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  432. package/error/AlreadyHasActiveConnectionError.js +1 -1
  433. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  434. package/error/CannotAttachTreeChildrenEntityError.js +1 -1
  435. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  436. package/error/CannotConnectAlreadyConnectedError.js +1 -1
  437. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  438. package/error/CannotCreateEntityIdMapError.js +1 -1
  439. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  440. package/error/CannotDetermineEntityError.js +1 -1
  441. package/error/CannotDetermineEntityError.js.map +1 -1
  442. package/error/CannotExecuteNotConnectedError.js +1 -1
  443. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  444. package/error/CannotGetEntityManagerNotConnectedError.js +1 -1
  445. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  446. package/error/CannotReflectMethodParameterTypeError.js +1 -1
  447. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  448. package/error/CircularRelationsError.js +1 -1
  449. package/error/CircularRelationsError.js.map +1 -1
  450. package/error/ColumnTypeUndefinedError.js +1 -1
  451. package/error/ColumnTypeUndefinedError.js.map +1 -1
  452. package/error/ConnectionIsNotSetError.js +1 -1
  453. package/error/ConnectionIsNotSetError.js.map +1 -1
  454. package/error/ConnectionNotFoundError.js +1 -1
  455. package/error/ConnectionNotFoundError.js.map +1 -1
  456. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
  457. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  458. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
  459. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  460. package/error/CustomRepositoryNotFoundError.js +1 -1
  461. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  462. package/error/DataTypeNotSupportedError.js +1 -1
  463. package/error/DataTypeNotSupportedError.js.map +1 -1
  464. package/error/DriverOptionNotSetError.js +1 -1
  465. package/error/DriverOptionNotSetError.js.map +1 -1
  466. package/error/DriverPackageNotInstalledError.js +1 -1
  467. package/error/DriverPackageNotInstalledError.js.map +1 -1
  468. package/error/EntityColumnNotFound.js +1 -1
  469. package/error/EntityColumnNotFound.js.map +1 -1
  470. package/error/EntityMetadataNotFoundError.js +1 -1
  471. package/error/EntityMetadataNotFoundError.js.map +1 -1
  472. package/error/EntityNotFoundError.js +1 -1
  473. package/error/EntityNotFoundError.js.map +1 -1
  474. package/error/FindRelationsNotFoundError.js +1 -1
  475. package/error/FindRelationsNotFoundError.js.map +1 -1
  476. package/error/InitializedRelationError.js +1 -1
  477. package/error/InitializedRelationError.js.map +1 -1
  478. package/error/InsertValuesMissingError.js +1 -1
  479. package/error/InsertValuesMissingError.js.map +1 -1
  480. package/error/LimitOnUpdateNotSupportedError.js +1 -1
  481. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  482. package/error/LockNotSupportedOnGivenDriverError.js +1 -1
  483. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  484. package/error/MetadataAlreadyExistsError.js +1 -1
  485. package/error/MetadataAlreadyExistsError.js.map +1 -1
  486. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -1
  487. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  488. package/error/MissingDeleteDateColumnError.js +1 -1
  489. package/error/MissingDeleteDateColumnError.js.map +1 -1
  490. package/error/MissingDriverError.js +1 -1
  491. package/error/MissingDriverError.js.map +1 -1
  492. package/error/MissingJoinColumnError.js +1 -1
  493. package/error/MissingJoinColumnError.js.map +1 -1
  494. package/error/MissingJoinTableError.js +1 -1
  495. package/error/MissingJoinTableError.js.map +1 -1
  496. package/error/MissingPrimaryColumnError.js +1 -1
  497. package/error/MissingPrimaryColumnError.js.map +1 -1
  498. package/error/MustBeEntityError.js +1 -1
  499. package/error/MustBeEntityError.js.map +1 -1
  500. package/error/NamingStrategyNotFoundError.js +1 -1
  501. package/error/NamingStrategyNotFoundError.js.map +1 -1
  502. package/error/NestedSetMultipleRootError.js +1 -1
  503. package/error/NestedSetMultipleRootError.js.map +1 -1
  504. package/error/NoConnectionForRepositoryError.js +1 -1
  505. package/error/NoConnectionForRepositoryError.js.map +1 -1
  506. package/error/NoConnectionOptionError.js +1 -1
  507. package/error/NoConnectionOptionError.js.map +1 -1
  508. package/error/NoNeedToReleaseEntityManagerError.js +1 -1
  509. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  510. package/error/NoVersionOrUpdateDateColumnError.js +1 -1
  511. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  512. package/error/OffsetWithoutLimitNotSupportedError.js +1 -1
  513. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  514. package/error/OptimisticLockCanNotBeUsedError.js +1 -1
  515. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  516. package/error/OptimisticLockVersionMismatchError.js +1 -1
  517. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  518. package/error/PersistedEntityNotFoundError.js +1 -1
  519. package/error/PersistedEntityNotFoundError.js.map +1 -1
  520. package/error/PessimisticLockTransactionRequiredError.js +1 -1
  521. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  522. package/error/PrimaryColumnCannotBeNullableError.js +1 -1
  523. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  524. package/error/QueryFailedError.js +3 -3
  525. package/error/QueryFailedError.js.map +1 -1
  526. package/error/QueryRunnerAlreadyReleasedError.js +1 -1
  527. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  528. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -1
  529. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  530. package/error/RepositoryNotFoundError.js +1 -1
  531. package/error/RepositoryNotFoundError.js.map +1 -1
  532. package/error/RepositoryNotTreeError.js +1 -1
  533. package/error/RepositoryNotTreeError.js.map +1 -1
  534. package/error/ReturningStatementNotSupportedError.js +1 -1
  535. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  536. package/error/SubjectRemovedAndUpdatedError.js +1 -1
  537. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  538. package/error/SubjectWithoutIdentifierError.js +1 -1
  539. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  540. package/error/TransactionAlreadyStartedError.js +1 -1
  541. package/error/TransactionAlreadyStartedError.js.map +1 -1
  542. package/error/TransactionNotStartedError.js +1 -1
  543. package/error/TransactionNotStartedError.js.map +1 -1
  544. package/error/TreeRepositoryNotSupportedError.js +1 -1
  545. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  546. package/error/TypeORMError.js +1 -1
  547. package/error/TypeORMError.js.map +1 -1
  548. package/error/UpdateValuesMissingError.js +1 -1
  549. package/error/UpdateValuesMissingError.js.map +1 -1
  550. package/error/UsingJoinColumnIsNotAllowedError.js +1 -1
  551. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  552. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
  553. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  554. package/error/UsingJoinTableIsNotAllowedError.js +1 -1
  555. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  556. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
  557. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  558. package/error/index.js +62 -62
  559. package/error/index.js.map +1 -1
  560. package/find-options/FindOptionsUtils.js +4 -4
  561. package/find-options/FindOptionsUtils.js.map +1 -1
  562. package/globals.js +7 -7
  563. package/globals.js.map +1 -1
  564. package/index.js +102 -102
  565. package/index.js.map +1 -1
  566. package/logger/DebugLogger.js +9 -9
  567. package/logger/DebugLogger.js.map +1 -1
  568. package/logger/FileLogger.js +1 -1
  569. package/logger/FileLogger.js.map +1 -1
  570. package/metadata/ColumnMetadata.js +4 -4
  571. package/metadata/ColumnMetadata.js.map +1 -1
  572. package/metadata/EmbeddedMetadata.js +1 -1
  573. package/metadata/EmbeddedMetadata.js.map +1 -1
  574. package/metadata/EntityMetadata.d.ts +5 -0
  575. package/metadata/EntityMetadata.js +3 -2
  576. package/metadata/EntityMetadata.js.map +1 -1
  577. package/metadata/RelationMetadata.js +4 -4
  578. package/metadata/RelationMetadata.js.map +1 -1
  579. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  580. package/metadata-args/TableMetadataArgs.js.map +1 -1
  581. package/metadata-builder/EntityMetadataBuilder.js +5 -5
  582. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  583. package/metadata-builder/JunctionEntityMetadataBuilder.js +1 -1
  584. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  585. package/migration/MigrationExecutor.d.ts +1 -1
  586. package/migration/MigrationExecutor.js +39 -47
  587. package/migration/MigrationExecutor.js.map +1 -1
  588. package/naming-strategy/DefaultNamingStrategy.js +10 -10
  589. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  590. package/package.json +1 -1
  591. package/persistence/EntityPersistExecutor.js +5 -5
  592. package/persistence/EntityPersistExecutor.js.map +1 -1
  593. package/persistence/Subject.js +1 -1
  594. package/persistence/Subject.js.map +1 -1
  595. package/persistence/SubjectDatabaseEntityLoader.js +6 -6
  596. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  597. package/persistence/SubjectExecutor.js +33 -33
  598. package/persistence/SubjectExecutor.js.map +1 -1
  599. package/persistence/SubjectTopoligicalSorter.js +5 -5
  600. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  601. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -1
  602. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  603. package/persistence/tree/ClosureSubjectExecutor.js +13 -13
  604. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  605. package/persistence/tree/MaterializedPathSubjectExecutor.js +5 -5
  606. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  607. package/persistence/tree/NestedSetSubjectExecutor.js +14 -14
  608. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  609. package/platform/PlatformTools.js +8 -8
  610. package/platform/PlatformTools.js.map +1 -1
  611. package/query-builder/DeleteQueryBuilder.js +7 -14
  612. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  613. package/query-builder/InsertQueryBuilder.js +9 -11
  614. package/query-builder/InsertQueryBuilder.js.map +1 -1
  615. package/query-builder/JoinAttribute.js +1 -1
  616. package/query-builder/JoinAttribute.js.map +1 -1
  617. package/query-builder/QueryBuilder.js +37 -37
  618. package/query-builder/QueryBuilder.js.map +1 -1
  619. package/query-builder/QueryBuilderUtils.js +1 -1
  620. package/query-builder/QueryBuilderUtils.js.map +1 -1
  621. package/query-builder/QueryExpressionMap.js +3 -3
  622. package/query-builder/QueryExpressionMap.js.map +1 -1
  623. package/query-builder/RelationLoader.js +2 -2
  624. package/query-builder/RelationLoader.js.map +1 -1
  625. package/query-builder/RelationQueryBuilder.js +13 -13
  626. package/query-builder/RelationQueryBuilder.js.map +1 -1
  627. package/query-builder/RelationRemover.js +12 -12
  628. package/query-builder/RelationRemover.js.map +1 -1
  629. package/query-builder/RelationUpdater.js +2 -2
  630. package/query-builder/ReturningResultsEntityUpdator.js +6 -6
  631. package/query-builder/SelectQueryBuilder.js +43 -43
  632. package/query-builder/SelectQueryBuilder.js.map +1 -1
  633. package/query-builder/SoftDeleteQueryBuilder.js +7 -14
  634. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  635. package/query-builder/UpdateQueryBuilder.js +10 -17
  636. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  637. package/query-builder/relation-count/RelationCountAttribute.js +2 -2
  638. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  639. package/query-builder/relation-count/RelationCountLoader.js +4 -4
  640. package/query-builder/relation-id/RelationIdAttribute.js +1 -1
  641. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  642. package/query-builder/relation-id/RelationIdLoader.js +5 -5
  643. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  644. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  645. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  646. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -10
  647. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  648. package/query-runner/BaseQueryRunner.d.ts +2 -1
  649. package/query-runner/BaseQueryRunner.js +70 -48
  650. package/query-runner/BaseQueryRunner.js.map +1 -1
  651. package/query-runner/QueryLock.js +3 -3
  652. package/query-runner/QueryLock.js.map +1 -1
  653. package/repository/AbstractRepository.js +1 -1
  654. package/repository/AbstractRepository.js.map +1 -1
  655. package/repository/BaseEntity.js +4 -4
  656. package/repository/BaseEntity.js.map +1 -1
  657. package/repository/MongoRepository.js +1 -1
  658. package/repository/MongoRepository.js.map +1 -1
  659. package/repository/Repository.js +1 -1
  660. package/repository/Repository.js.map +1 -1
  661. package/repository/TreeRepository.js +7 -7
  662. package/repository/TreeRepository.js.map +1 -1
  663. package/schema-builder/MongoSchemaBuilder.js +2 -2
  664. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -0
  665. package/schema-builder/RdbmsSchemaBuilder.js +335 -277
  666. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  667. package/schema-builder/table/Table.js +1 -1
  668. package/schema-builder/table/Table.js.map +1 -1
  669. package/schema-builder/table/TableCheck.js +1 -1
  670. package/schema-builder/table/TableCheck.js.map +1 -1
  671. package/schema-builder/table/TableForeignKey.js +2 -2
  672. package/schema-builder/table/TableForeignKey.js.map +1 -1
  673. package/schema-builder/table/TableIndex.js +1 -1
  674. package/schema-builder/table/TableIndex.js.map +1 -1
  675. package/schema-builder/table/TableUnique.js +1 -1
  676. package/schema-builder/table/TableUnique.js.map +1 -1
  677. package/schema-builder/util/ViewUtils.d.ts +7 -0
  678. package/schema-builder/util/ViewUtils.js +28 -0
  679. package/schema-builder/util/ViewUtils.js.map +1 -0
  680. package/subscriber/Broadcaster.d.ts +23 -2
  681. package/subscriber/Broadcaster.js +35 -2
  682. package/subscriber/Broadcaster.js.map +1 -1
  683. package/subscriber/BroadcasterResult.d.ts +4 -0
  684. package/subscriber/BroadcasterResult.js +19 -0
  685. package/subscriber/BroadcasterResult.js.map +1 -1
  686. package/util/DateUtils.js +1 -1
  687. package/util/DateUtils.js.map +1 -1
  688. package/util/DirectoryExportedClassesLoader.js +1 -1
  689. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  690. package/util/ObjectUtils.js +2 -2
  691. package/util/ObjectUtils.js.map +1 -1
  692. package/util/OrmUtils.js +2 -2
  693. package/util/OrmUtils.js.map +1 -1
  694. package/util/StringUtils.js +3 -3
  695. package/util/StringUtils.js.map +1 -1
@@ -42,11 +42,11 @@ var MigrationExecutor = /** @class */ (function () {
42
42
  * Tries to execute a single migration given.
43
43
  */
44
44
  MigrationExecutor.prototype.executeMigration = function (migration) {
45
- return tslib_1.__awaiter(this, void 0, void 0, function () {
45
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
46
46
  var _this = this;
47
- return tslib_1.__generator(this, function (_a) {
48
- return [2 /*return*/, this.withQueryRunner(function (queryRunner) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
49
- return tslib_1.__generator(this, function (_a) {
47
+ return (0, tslib_1.__generator)(this, function (_a) {
48
+ return [2 /*return*/, this.withQueryRunner(function (queryRunner) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
49
+ return (0, tslib_1.__generator)(this, function (_a) {
50
50
  switch (_a.label) {
51
51
  case 0: return [4 /*yield*/, this.createMigrationsTableIfNotExist(queryRunner)];
52
52
  case 1:
@@ -68,8 +68,8 @@ var MigrationExecutor = /** @class */ (function () {
68
68
  * Returns an array of all migrations.
69
69
  */
70
70
  MigrationExecutor.prototype.getAllMigrations = function () {
71
- return tslib_1.__awaiter(this, void 0, void 0, function () {
72
- return tslib_1.__generator(this, function (_a) {
71
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
72
+ return (0, tslib_1.__generator)(this, function (_a) {
73
73
  return [2 /*return*/, Promise.resolve(this.getMigrations())];
74
74
  });
75
75
  });
@@ -78,11 +78,11 @@ var MigrationExecutor = /** @class */ (function () {
78
78
  * Returns an array of all executed migrations.
79
79
  */
80
80
  MigrationExecutor.prototype.getExecutedMigrations = function () {
81
- return tslib_1.__awaiter(this, void 0, void 0, function () {
81
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
82
82
  var _this = this;
83
- return tslib_1.__generator(this, function (_a) {
84
- return [2 /*return*/, this.withQueryRunner(function (queryRunner) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
85
- return tslib_1.__generator(this, function (_a) {
83
+ return (0, tslib_1.__generator)(this, function (_a) {
84
+ return [2 /*return*/, this.withQueryRunner(function (queryRunner) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
85
+ return (0, tslib_1.__generator)(this, function (_a) {
86
86
  switch (_a.label) {
87
87
  case 0: return [4 /*yield*/, this.createMigrationsTableIfNotExist(queryRunner)];
88
88
  case 1:
@@ -99,9 +99,9 @@ var MigrationExecutor = /** @class */ (function () {
99
99
  * Returns an array of all pending migrations.
100
100
  */
101
101
  MigrationExecutor.prototype.getPendingMigrations = function () {
102
- return tslib_1.__awaiter(this, void 0, void 0, function () {
102
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
103
103
  var allMigrations, executedMigrations;
104
- return tslib_1.__generator(this, function (_a) {
104
+ return (0, tslib_1.__generator)(this, function (_a) {
105
105
  switch (_a.label) {
106
106
  case 0: return [4 /*yield*/, this.getAllMigrations()];
107
107
  case 1:
@@ -123,36 +123,24 @@ var MigrationExecutor = /** @class */ (function () {
123
123
  */
124
124
  MigrationExecutor.prototype.insertMigration = function (migration) {
125
125
  var _this = this;
126
- return new Promise(function (resolve, reject) {
127
- _this.withQueryRunner(function (queryRunner) {
128
- _this.insertExecutedMigration(queryRunner, migration)
129
- .then(resolve)
130
- .catch(reject);
131
- });
132
- });
126
+ return this.withQueryRunner(function (q) { return _this.insertExecutedMigration(q, migration); });
133
127
  };
134
128
  /**
135
129
  * Deletes an executed migration.
136
130
  */
137
131
  MigrationExecutor.prototype.deleteMigration = function (migration) {
138
132
  var _this = this;
139
- return new Promise(function (resolve, reject) {
140
- _this.withQueryRunner(function (queryRunner) {
141
- _this.deleteExecutedMigration(queryRunner, migration)
142
- .then(resolve)
143
- .catch(reject);
144
- });
145
- });
133
+ return this.withQueryRunner(function (q) { return _this.deleteExecutedMigration(q, migration); });
146
134
  };
147
135
  /**
148
136
  * Lists all migrations and whether they have been executed or not
149
137
  * returns true if there are unapplied migrations
150
138
  */
151
139
  MigrationExecutor.prototype.showMigrations = function () {
152
- return tslib_1.__awaiter(this, void 0, void 0, function () {
140
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
153
141
  var hasUnappliedMigrations, queryRunner, executedMigrations, allMigrations, _loop_1, this_1, allMigrations_1, allMigrations_1_1, migration;
154
142
  var e_1, _a;
155
- return tslib_1.__generator(this, function (_b) {
143
+ return (0, tslib_1.__generator)(this, function (_b) {
156
144
  switch (_b.label) {
157
145
  case 0:
158
146
  hasUnappliedMigrations = false;
@@ -178,7 +166,7 @@ var MigrationExecutor = /** @class */ (function () {
178
166
  };
179
167
  this_1 = this;
180
168
  try {
181
- for (allMigrations_1 = tslib_1.__values(allMigrations), allMigrations_1_1 = allMigrations_1.next(); !allMigrations_1_1.done; allMigrations_1_1 = allMigrations_1.next()) {
169
+ for (allMigrations_1 = (0, tslib_1.__values)(allMigrations), allMigrations_1_1 = allMigrations_1.next(); !allMigrations_1_1.done; allMigrations_1_1 = allMigrations_1.next()) {
182
170
  migration = allMigrations_1_1.value;
183
171
  _loop_1(migration);
184
172
  }
@@ -205,11 +193,11 @@ var MigrationExecutor = /** @class */ (function () {
205
193
  * thus not saved in the database.
206
194
  */
207
195
  MigrationExecutor.prototype.executePendingMigrations = function () {
208
- return tslib_1.__awaiter(this, void 0, void 0, function () {
196
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
209
197
  var queryRunner, executedMigrations, lastTimeExecutedMigration, allMigrations, successMigrations, pendingMigrations, transactionStartedByUs, _loop_2, this_2, pendingMigrations_1, pendingMigrations_1_1, migration, e_2_1, err_1, rollbackError_1;
210
198
  var e_2, _a;
211
199
  var _this = this;
212
- return tslib_1.__generator(this, function (_b) {
200
+ return (0, tslib_1.__generator)(this, function (_b) {
213
201
  switch (_b.label) {
214
202
  case 0:
215
203
  queryRunner = this.queryRunner || this.connection.createQueryRunner();
@@ -260,7 +248,7 @@ var MigrationExecutor = /** @class */ (function () {
260
248
  case 7:
261
249
  _b.trys.push([7, 18, 23, 26]);
262
250
  _loop_2 = function (migration) {
263
- return tslib_1.__generator(this, function (_c) {
251
+ return (0, tslib_1.__generator)(this, function (_c) {
264
252
  switch (_c.label) {
265
253
  case 0:
266
254
  if (!(this_2.transaction === "each" && !queryRunner.isTransactionActive)) return [3 /*break*/, 2];
@@ -270,8 +258,12 @@ var MigrationExecutor = /** @class */ (function () {
270
258
  transactionStartedByUs = true;
271
259
  _c.label = 2;
272
260
  case 2: return [4 /*yield*/, migration.instance.up(queryRunner)
273
- .then(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
274
- return tslib_1.__generator(this, function (_a) {
261
+ .catch(function (error) {
262
+ _this.connection.logger.logMigration("Migration \"" + migration.name + "\" has been failed, error: " + (error === null || error === void 0 ? void 0 : error.message));
263
+ throw error;
264
+ })
265
+ .then(function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
266
+ return (0, tslib_1.__generator)(this, function (_a) {
275
267
  switch (_a.label) {
276
268
  case 0: // now when migration is executed we need to insert record about it into the database
277
269
  return [4 /*yield*/, this.insertExecutedMigration(queryRunner, migration)];
@@ -300,7 +292,7 @@ var MigrationExecutor = /** @class */ (function () {
300
292
  _b.label = 8;
301
293
  case 8:
302
294
  _b.trys.push([8, 13, 14, 15]);
303
- pendingMigrations_1 = tslib_1.__values(pendingMigrations), pendingMigrations_1_1 = pendingMigrations_1.next();
295
+ pendingMigrations_1 = (0, tslib_1.__values)(pendingMigrations), pendingMigrations_1_1 = pendingMigrations_1.next();
304
296
  _b.label = 9;
305
297
  case 9:
306
298
  if (!!pendingMigrations_1_1.done) return [3 /*break*/, 12];
@@ -360,9 +352,9 @@ var MigrationExecutor = /** @class */ (function () {
360
352
  * Reverts last migration that were run.
361
353
  */
362
354
  MigrationExecutor.prototype.undoLastMigration = function () {
363
- return tslib_1.__awaiter(this, void 0, void 0, function () {
355
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
364
356
  var queryRunner, executedMigrations, lastTimeExecutedMigration, allMigrations, migrationToRevert, transactionStartedByUs, err_2, rollbackError_2;
365
- return tslib_1.__generator(this, function (_a) {
357
+ return (0, tslib_1.__generator)(this, function (_a) {
366
358
  switch (_a.label) {
367
359
  case 0:
368
360
  queryRunner = this.queryRunner || this.connection.createQueryRunner();
@@ -444,9 +436,9 @@ var MigrationExecutor = /** @class */ (function () {
444
436
  * Creates table "migrations" that will store information about executed migrations.
445
437
  */
446
438
  MigrationExecutor.prototype.createMigrationsTableIfNotExist = function (queryRunner) {
447
- return tslib_1.__awaiter(this, void 0, void 0, function () {
439
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
448
440
  var tableExist;
449
- return tslib_1.__generator(this, function (_a) {
441
+ return (0, tslib_1.__generator)(this, function (_a) {
450
442
  switch (_a.label) {
451
443
  case 0:
452
444
  // If driver is mongo no need to create
@@ -495,9 +487,9 @@ var MigrationExecutor = /** @class */ (function () {
495
487
  * Loads all migrations that were executed and saved into the database (sorts by id).
496
488
  */
497
489
  MigrationExecutor.prototype.loadExecutedMigrations = function (queryRunner) {
498
- return tslib_1.__awaiter(this, void 0, void 0, function () {
490
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
499
491
  var mongoRunner, migrationsRaw;
500
- return tslib_1.__generator(this, function (_a) {
492
+ return (0, tslib_1.__generator)(this, function (_a) {
501
493
  switch (_a.label) {
502
494
  case 0:
503
495
  if (!(this.connection.driver instanceof MongoDriver_1.MongoDriver)) return [3 /*break*/, 2];
@@ -565,9 +557,9 @@ var MigrationExecutor = /** @class */ (function () {
565
557
  * Inserts new executed migration's data into migrations table.
566
558
  */
567
559
  MigrationExecutor.prototype.insertExecutedMigration = function (queryRunner, migration) {
568
- return tslib_1.__awaiter(this, void 0, void 0, function () {
560
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
569
561
  var values, mongoRunner, qb;
570
- return tslib_1.__generator(this, function (_a) {
562
+ return (0, tslib_1.__generator)(this, function (_a) {
571
563
  switch (_a.label) {
572
564
  case 0:
573
565
  values = {};
@@ -603,9 +595,9 @@ var MigrationExecutor = /** @class */ (function () {
603
595
  * Delete previously executed migration's data from the migrations table.
604
596
  */
605
597
  MigrationExecutor.prototype.deleteExecutedMigration = function (queryRunner, migration) {
606
- return tslib_1.__awaiter(this, void 0, void 0, function () {
598
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
607
599
  var conditions, mongoRunner, qb;
608
- return tslib_1.__generator(this, function (_a) {
600
+ return (0, tslib_1.__generator)(this, function (_a) {
609
601
  switch (_a.label) {
610
602
  case 0:
611
603
  conditions = {};
@@ -640,9 +632,9 @@ var MigrationExecutor = /** @class */ (function () {
640
632
  });
641
633
  };
642
634
  MigrationExecutor.prototype.withQueryRunner = function (callback) {
643
- return tslib_1.__awaiter(this, void 0, void 0, function () {
635
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
644
636
  var queryRunner;
645
- return tslib_1.__generator(this, function (_a) {
637
+ return (0, tslib_1.__generator)(this, function (_a) {
646
638
  switch (_a.label) {
647
639
  case 0:
648
640
  queryRunner = this.queryRunner || this.connection.createQueryRunner();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/migration/MigrationExecutor.ts"],"names":[],"mappings":"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","file":"MigrationExecutor.js","sourcesContent":["import {Table} from \"../schema-builder/table/Table\";\nimport {Connection} from \"../connection/Connection\";\nimport {Migration} from \"./Migration\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {MssqlParameter} from \"../driver/sqlserver/MssqlParameter\";\nimport {MongoDriver} from \"../driver/mongodb/MongoDriver\";\nimport {MongoQueryRunner} from \"../driver/mongodb/MongoQueryRunner\";\nimport { TypeORMError } from \"../error\";\n\n/**\n * Executes migrations: runs pending and reverts previously executed migrations.\n */\nexport class MigrationExecutor {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Indicates how migrations should be run in transactions.\n * all: all migrations are run in a single transaction\n * none: all migrations are run without a transaction\n * each: each migration is run in a separate transaction\n */\n transaction: \"all\" | \"none\" | \"each\" = \"all\";\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n private readonly migrationsDatabase?: string;\n private readonly migrationsSchema?: string;\n private readonly migrationsTable: string;\n private readonly migrationsTableName: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection,\n protected queryRunner?: QueryRunner) {\n\n const { schema } = this.connection.driver.options as any;\n const database = this.connection.driver.database;\n this.migrationsDatabase = database;\n this.migrationsSchema = schema;\n this.migrationsTableName = connection.options.migrationsTableName || \"migrations\";\n this.migrationsTable = this.connection.driver.buildTableName(this.migrationsTableName, schema, database);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Tries to execute a single migration given.\n */\n public async executeMigration(migration: Migration): Promise<Migration> {\n return this.withQueryRunner(async (queryRunner) => {\n await this.createMigrationsTableIfNotExist(queryRunner);\n await (migration.instance as any).up(queryRunner);\n await this.insertExecutedMigration(queryRunner, migration);\n\n return migration;\n });\n }\n\n /**\n * Returns an array of all migrations.\n */\n public async getAllMigrations(): Promise<Migration[]> {\n return Promise.resolve(this.getMigrations());\n }\n\n /**\n * Returns an array of all executed migrations.\n */\n public async getExecutedMigrations(): Promise<Migration[]> {\n return this.withQueryRunner(async queryRunner => {\n await this.createMigrationsTableIfNotExist(queryRunner);\n\n return await this.loadExecutedMigrations(queryRunner);\n });\n }\n\n /**\n * Returns an array of all pending migrations.\n */\n public async getPendingMigrations(): Promise<Migration[]> {\n const allMigrations = await this.getAllMigrations();\n const executedMigrations = await this.getExecutedMigrations();\n\n return allMigrations.filter(migration =>\n !executedMigrations.find(\n executedMigration =>\n executedMigration.name === migration.name\n )\n );\n }\n\n /**\n * Inserts an executed migration.\n */\n public insertMigration(migration: Migration): Promise<void> {\n return new Promise((resolve, reject) => {\n this.withQueryRunner(queryRunner => {\n this.insertExecutedMigration(queryRunner, migration)\n .then(resolve)\n .catch(reject);\n });\n });\n }\n\n /**\n * Deletes an executed migration.\n */\n public deleteMigration(migration: Migration): Promise<void> {\n return new Promise((resolve, reject) => {\n this.withQueryRunner(queryRunner => {\n this.deleteExecutedMigration(queryRunner, migration)\n .then(resolve)\n .catch(reject);\n });\n });\n }\n\n /**\n * Lists all migrations and whether they have been executed or not\n * returns true if there are unapplied migrations\n */\n async showMigrations(): Promise<boolean> {\n let hasUnappliedMigrations = false;\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n // create migrations table if its not created yet\n await this.createMigrationsTableIfNotExist(queryRunner);\n // get all migrations that are executed and saved in the database\n const executedMigrations = await this.loadExecutedMigrations(queryRunner);\n\n // get all user's migrations in the source code\n const allMigrations = this.getMigrations();\n\n for (const migration of allMigrations) {\n const executedMigration = executedMigrations.find(executedMigration => executedMigration.name === migration.name);\n\n if (executedMigration) {\n this.connection.logger.logSchemaBuild(` [X] ${migration.name}`);\n } else {\n hasUnappliedMigrations = true;\n this.connection.logger.logSchemaBuild(` [ ] ${migration.name}`);\n }\n }\n\n // if query runner was created by us then release it\n if (!this.queryRunner) {\n await queryRunner.release();\n }\n\n return hasUnappliedMigrations;\n }\n\n /**\n * Executes all pending migrations. Pending migrations are migrations that are not yet executed,\n * thus not saved in the database.\n */\n async executePendingMigrations(): Promise<Migration[]> {\n\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n // create migrations table if its not created yet\n await this.createMigrationsTableIfNotExist(queryRunner);\n // get all migrations that are executed and saved in the database\n const executedMigrations = await this.loadExecutedMigrations(queryRunner);\n\n // get the time when last migration was executed\n let lastTimeExecutedMigration = this.getLatestTimestampMigration(executedMigrations);\n\n // get all user's migrations in the source code\n const allMigrations = this.getMigrations();\n\n // variable to store all migrations we did successefuly\n const successMigrations: Migration[] = [];\n\n // find all migrations that needs to be executed\n const pendingMigrations = allMigrations.filter(migration => {\n // check if we already have executed migration\n const executedMigration = executedMigrations.find(executedMigration => executedMigration.name === migration.name);\n if (executedMigration)\n return false;\n\n // migration is new and not executed. now check if its timestamp is correct\n // if (lastTimeExecutedMigration && migration.timestamp < lastTimeExecutedMigration.timestamp)\n // throw new TypeORMError(`New migration found: ${migration.name}, however this migration's timestamp is not valid. Migration's timestamp should not be older then migrations already executed in the database.`);\n\n // every check is passed means that migration was not run yet and we need to run it\n return true;\n });\n\n // if no migrations are pending then nothing to do here\n if (!pendingMigrations.length) {\n this.connection.logger.logSchemaBuild(`No migrations are pending`);\n // if query runner was created by us then release it\n if (!this.queryRunner)\n await queryRunner.release();\n return [];\n }\n\n // log information about migration execution\n this.connection.logger.logSchemaBuild(`${executedMigrations.length} migrations are already loaded in the database.`);\n this.connection.logger.logSchemaBuild(`${allMigrations.length} migrations were found in the source code.`);\n if (lastTimeExecutedMigration)\n this.connection.logger.logSchemaBuild(`${lastTimeExecutedMigration.name} is the last executed migration. It was executed on ${new Date(lastTimeExecutedMigration.timestamp).toString()}.`);\n this.connection.logger.logSchemaBuild(`${pendingMigrations.length} migrations are new migrations that needs to be executed.`);\n\n // start transaction if its not started yet\n let transactionStartedByUs = false;\n if (this.transaction === \"all\" && !queryRunner.isTransactionActive) {\n await queryRunner.startTransaction();\n transactionStartedByUs = true;\n }\n\n // run all pending migrations in a sequence\n try {\n for (const migration of pendingMigrations) {\n if (this.transaction === \"each\" && !queryRunner.isTransactionActive) {\n await queryRunner.startTransaction();\n transactionStartedByUs = true;\n }\n\n await migration.instance!.up(queryRunner)\n .then(async () => { // now when migration is executed we need to insert record about it into the database\n await this.insertExecutedMigration(queryRunner, migration);\n // commit transaction if we started it\n if (this.transaction === \"each\" && transactionStartedByUs)\n await queryRunner.commitTransaction();\n })\n .then(() => { // informative log about migration success\n successMigrations.push(migration);\n this.connection.logger.logSchemaBuild(`Migration ${migration.name} has been executed successfully.`);\n });\n }\n\n // commit transaction if we started it\n if (this.transaction === \"all\" && transactionStartedByUs)\n await queryRunner.commitTransaction();\n\n } catch (err) { // rollback transaction if we started it\n if (transactionStartedByUs) {\n try { // we throw original error even if rollback thrown an error\n await queryRunner.rollbackTransaction();\n } catch (rollbackError) { }\n }\n\n throw err;\n\n } finally {\n\n // if query runner was created by us then release it\n if (!this.queryRunner)\n await queryRunner.release();\n }\n return successMigrations;\n\n }\n\n /**\n * Reverts last migration that were run.\n */\n async undoLastMigration(): Promise<void> {\n\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n\n // create migrations table if its not created yet\n await this.createMigrationsTableIfNotExist(queryRunner);\n\n // get all migrations that are executed and saved in the database\n const executedMigrations = await this.loadExecutedMigrations(queryRunner);\n\n // get the time when last migration was executed\n let lastTimeExecutedMigration = this.getLatestExecutedMigration(executedMigrations);\n\n // if no migrations found in the database then nothing to revert\n if (!lastTimeExecutedMigration) {\n this.connection.logger.logSchemaBuild(`No migrations was found in the database. Nothing to revert!`);\n return;\n }\n\n // get all user's migrations in the source code\n const allMigrations = this.getMigrations();\n\n // find the instance of the migration we need to remove\n const migrationToRevert = allMigrations.find(migration => migration.name === lastTimeExecutedMigration!.name);\n\n // if no migrations found in the database then nothing to revert\n if (!migrationToRevert)\n throw new TypeORMError(`No migration ${lastTimeExecutedMigration.name} was found in the source code. Make sure you have this migration in your codebase and its included in the connection options.`);\n\n // log information about migration execution\n this.connection.logger.logSchemaBuild(`${executedMigrations.length} migrations are already loaded in the database.`);\n this.connection.logger.logSchemaBuild(`${lastTimeExecutedMigration.name} is the last executed migration. It was executed on ${new Date(lastTimeExecutedMigration.timestamp).toString()}.`);\n this.connection.logger.logSchemaBuild(`Now reverting it...`);\n\n // start transaction if its not started yet\n let transactionStartedByUs = false;\n if ((this.transaction !== \"none\") && !queryRunner.isTransactionActive) {\n await queryRunner.startTransaction();\n transactionStartedByUs = true;\n }\n\n try {\n await migrationToRevert.instance!.down(queryRunner);\n await this.deleteExecutedMigration(queryRunner, migrationToRevert);\n this.connection.logger.logSchemaBuild(`Migration ${migrationToRevert.name} has been reverted successfully.`);\n\n // commit transaction if we started it\n if (transactionStartedByUs)\n await queryRunner.commitTransaction();\n\n } catch (err) { // rollback transaction if we started it\n if (transactionStartedByUs) {\n try { // we throw original error even if rollback thrown an error\n await queryRunner.rollbackTransaction();\n } catch (rollbackError) { }\n }\n\n throw err;\n\n } finally {\n\n // if query runner was created by us then release it\n if (!this.queryRunner)\n await queryRunner.release();\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates table \"migrations\" that will store information about executed migrations.\n */\n protected async createMigrationsTableIfNotExist(queryRunner: QueryRunner): Promise<void> {\n // If driver is mongo no need to create\n if (this.connection.driver instanceof MongoDriver) {\n return;\n }\n const tableExist = await queryRunner.hasTable(this.migrationsTable); // todo: table name should be configurable\n if (!tableExist) {\n await queryRunner.createTable(new Table(\n {\n database: this.migrationsDatabase,\n schema: this.migrationsSchema,\n name: this.migrationsTable,\n columns: [\n {\n name: \"id\",\n type: this.connection.driver.normalizeType({type: this.connection.driver.mappedDataTypes.migrationId}),\n isGenerated: true,\n generationStrategy: \"increment\",\n isPrimary: true,\n isNullable: false\n },\n {\n name: \"timestamp\",\n type: this.connection.driver.normalizeType({type: this.connection.driver.mappedDataTypes.migrationTimestamp}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"name\",\n type: this.connection.driver.normalizeType({type: this.connection.driver.mappedDataTypes.migrationName}),\n isNullable: false\n },\n ]\n },\n ));\n }\n }\n\n /**\n * Loads all migrations that were executed and saved into the database (sorts by id).\n */\n protected async loadExecutedMigrations(queryRunner: QueryRunner): Promise<Migration[]> {\n if (this.connection.driver instanceof MongoDriver) {\n const mongoRunner = queryRunner as MongoQueryRunner;\n return await mongoRunner.databaseConnection\n .db(this.connection.driver.database!)\n .collection(this.migrationsTableName)\n .find<Migration>()\n .sort({\"_id\": -1})\n .toArray();\n } else {\n const migrationsRaw: ObjectLiteral[] = await this.connection.manager\n .createQueryBuilder(queryRunner)\n .select()\n .orderBy(this.connection.driver.escape(\"id\"), \"DESC\")\n .from(this.migrationsTable, this.migrationsTableName)\n .getRawMany();\n return migrationsRaw.map(migrationRaw => {\n return new Migration(parseInt(migrationRaw[\"id\"]), parseInt(migrationRaw[\"timestamp\"]), migrationRaw[\"name\"]);\n });\n }\n }\n\n /**\n * Gets all migrations that setup for this connection.\n */\n protected getMigrations(): Migration[] {\n const migrations = this.connection.migrations.map(migration => {\n const migrationClassName = migration.name || (migration.constructor as any).name;\n const migrationTimestamp = parseInt(migrationClassName.substr(-13), 10);\n if (!migrationTimestamp || isNaN(migrationTimestamp)) {\n throw new TypeORMError(`${migrationClassName} migration name is wrong. Migration class name should have a JavaScript timestamp appended.`);\n }\n\n return new Migration(undefined, migrationTimestamp, migrationClassName, migration);\n });\n\n this.checkForDuplicateMigrations(migrations);\n\n // sort them by timestamp\n return migrations.sort((a, b) => a.timestamp - b.timestamp);\n }\n\n protected checkForDuplicateMigrations(migrations: Migration[]) {\n const migrationNames = migrations.map(migration => migration.name);\n const duplicates = Array.from(new Set(migrationNames.filter((migrationName, index) => migrationNames.indexOf(migrationName) < index)));\n if (duplicates.length > 0) {\n throw Error(`Duplicate migrations: ${duplicates.join(\", \")}`);\n }\n }\n\n /**\n * Finds the latest migration (sorts by timestamp) in the given array of migrations.\n */\n protected getLatestTimestampMigration(migrations: Migration[]): Migration|undefined {\n const sortedMigrations = migrations.map(migration => migration).sort((a, b) => (a.timestamp - b.timestamp) * -1);\n return sortedMigrations.length > 0 ? sortedMigrations[0] : undefined;\n }\n\n /**\n * Finds the latest migration in the given array of migrations.\n * PRE: Migration array must be sorted by descending id.\n */\n protected getLatestExecutedMigration(sortedMigrations: Migration[]): Migration|undefined {\n return sortedMigrations.length > 0 ? sortedMigrations[0] : undefined;\n }\n\n /**\n * Inserts new executed migration's data into migrations table.\n */\n protected async insertExecutedMigration(queryRunner: QueryRunner, migration: Migration): Promise<void> {\n const values: ObjectLiteral = {};\n if (this.connection.driver instanceof SqlServerDriver) {\n values[\"timestamp\"] = new MssqlParameter(migration.timestamp, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationTimestamp }) as any);\n values[\"name\"] = new MssqlParameter(migration.name, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationName }) as any);\n } else {\n values[\"timestamp\"] = migration.timestamp;\n values[\"name\"] = migration.name;\n }\n if (this.connection.driver instanceof MongoDriver) {\n const mongoRunner = queryRunner as MongoQueryRunner;\n await mongoRunner.databaseConnection.db(this.connection.driver.database!).collection(this.migrationsTableName).insertOne(values);\n } else {\n const qb = queryRunner.manager.createQueryBuilder();\n await qb.insert()\n .into(this.migrationsTable)\n .values(values)\n .execute();\n }\n }\n\n /**\n * Delete previously executed migration's data from the migrations table.\n */\n protected async deleteExecutedMigration(queryRunner: QueryRunner, migration: Migration): Promise<void> {\n\n const conditions: ObjectLiteral = {};\n if (this.connection.driver instanceof SqlServerDriver) {\n conditions[\"timestamp\"] = new MssqlParameter(migration.timestamp, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationTimestamp }) as any);\n conditions[\"name\"] = new MssqlParameter(migration.name, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationName }) as any);\n } else {\n conditions[\"timestamp\"] = migration.timestamp;\n conditions[\"name\"] = migration.name;\n }\n\n if (this.connection.driver instanceof MongoDriver) {\n const mongoRunner = queryRunner as MongoQueryRunner;\n await mongoRunner.databaseConnection.db(this.connection.driver.database!).collection(this.migrationsTableName).deleteOne(conditions);\n } else {\n const qb = queryRunner.manager.createQueryBuilder();\n await qb.delete()\n .from(this.migrationsTable)\n .where(`${qb.escape(\"timestamp\")} = :timestamp`)\n .andWhere(`${qb.escape(\"name\")} = :name`)\n .setParameters(conditions)\n .execute();\n }\n\n }\n\n protected async withQueryRunner<T extends any>(callback: (queryRunner: QueryRunner) => T) {\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n\n try {\n return callback(queryRunner);\n } finally {\n if (!this.queryRunner) {\n await queryRunner.release();\n }\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/migration/MigrationExecutor.ts"],"names":[],"mappings":"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","file":"MigrationExecutor.js","sourcesContent":["import {Table} from \"../schema-builder/table/Table\";\nimport {Connection} from \"../connection/Connection\";\nimport {Migration} from \"./Migration\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {MssqlParameter} from \"../driver/sqlserver/MssqlParameter\";\nimport {MongoDriver} from \"../driver/mongodb/MongoDriver\";\nimport {MongoQueryRunner} from \"../driver/mongodb/MongoQueryRunner\";\nimport { TypeORMError } from \"../error\";\n\n/**\n * Executes migrations: runs pending and reverts previously executed migrations.\n */\nexport class MigrationExecutor {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Indicates how migrations should be run in transactions.\n * all: all migrations are run in a single transaction\n * none: all migrations are run without a transaction\n * each: each migration is run in a separate transaction\n */\n transaction: \"all\" | \"none\" | \"each\" = \"all\";\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n private readonly migrationsDatabase?: string;\n private readonly migrationsSchema?: string;\n private readonly migrationsTable: string;\n private readonly migrationsTableName: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection,\n protected queryRunner?: QueryRunner) {\n\n const { schema } = this.connection.driver.options as any;\n const database = this.connection.driver.database;\n this.migrationsDatabase = database;\n this.migrationsSchema = schema;\n this.migrationsTableName = connection.options.migrationsTableName || \"migrations\";\n this.migrationsTable = this.connection.driver.buildTableName(this.migrationsTableName, schema, database);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Tries to execute a single migration given.\n */\n public async executeMigration(migration: Migration): Promise<Migration> {\n return this.withQueryRunner(async (queryRunner) => {\n await this.createMigrationsTableIfNotExist(queryRunner);\n await (migration.instance as any).up(queryRunner);\n await this.insertExecutedMigration(queryRunner, migration);\n\n return migration;\n });\n }\n\n /**\n * Returns an array of all migrations.\n */\n public async getAllMigrations(): Promise<Migration[]> {\n return Promise.resolve(this.getMigrations());\n }\n\n /**\n * Returns an array of all executed migrations.\n */\n public async getExecutedMigrations(): Promise<Migration[]> {\n return this.withQueryRunner(async queryRunner => {\n await this.createMigrationsTableIfNotExist(queryRunner);\n\n return await this.loadExecutedMigrations(queryRunner);\n });\n }\n\n /**\n * Returns an array of all pending migrations.\n */\n public async getPendingMigrations(): Promise<Migration[]> {\n const allMigrations = await this.getAllMigrations();\n const executedMigrations = await this.getExecutedMigrations();\n\n return allMigrations.filter(migration =>\n !executedMigrations.find(\n executedMigration =>\n executedMigration.name === migration.name\n )\n );\n }\n\n /**\n * Inserts an executed migration.\n */\n public insertMigration(migration: Migration): Promise<void> {\n return this.withQueryRunner(q => this.insertExecutedMigration(q, migration));\n }\n\n /**\n * Deletes an executed migration.\n */\n public deleteMigration(migration: Migration): Promise<void> {\n return this.withQueryRunner(q => this.deleteExecutedMigration(q, migration));\n }\n\n /**\n * Lists all migrations and whether they have been executed or not\n * returns true if there are unapplied migrations\n */\n async showMigrations(): Promise<boolean> {\n let hasUnappliedMigrations = false;\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n // create migrations table if its not created yet\n await this.createMigrationsTableIfNotExist(queryRunner);\n // get all migrations that are executed and saved in the database\n const executedMigrations = await this.loadExecutedMigrations(queryRunner);\n\n // get all user's migrations in the source code\n const allMigrations = this.getMigrations();\n\n for (const migration of allMigrations) {\n const executedMigration = executedMigrations.find(executedMigration => executedMigration.name === migration.name);\n\n if (executedMigration) {\n this.connection.logger.logSchemaBuild(` [X] ${migration.name}`);\n } else {\n hasUnappliedMigrations = true;\n this.connection.logger.logSchemaBuild(` [ ] ${migration.name}`);\n }\n }\n\n // if query runner was created by us then release it\n if (!this.queryRunner) {\n await queryRunner.release();\n }\n\n return hasUnappliedMigrations;\n }\n\n /**\n * Executes all pending migrations. Pending migrations are migrations that are not yet executed,\n * thus not saved in the database.\n */\n async executePendingMigrations(): Promise<Migration[]> {\n\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n // create migrations table if its not created yet\n await this.createMigrationsTableIfNotExist(queryRunner);\n // get all migrations that are executed and saved in the database\n const executedMigrations = await this.loadExecutedMigrations(queryRunner);\n\n // get the time when last migration was executed\n let lastTimeExecutedMigration = this.getLatestTimestampMigration(executedMigrations);\n\n // get all user's migrations in the source code\n const allMigrations = this.getMigrations();\n\n // variable to store all migrations we did successefuly\n const successMigrations: Migration[] = [];\n\n // find all migrations that needs to be executed\n const pendingMigrations = allMigrations.filter(migration => {\n // check if we already have executed migration\n const executedMigration = executedMigrations.find(executedMigration => executedMigration.name === migration.name);\n if (executedMigration)\n return false;\n\n // migration is new and not executed. now check if its timestamp is correct\n // if (lastTimeExecutedMigration && migration.timestamp < lastTimeExecutedMigration.timestamp)\n // throw new TypeORMError(`New migration found: ${migration.name}, however this migration's timestamp is not valid. Migration's timestamp should not be older then migrations already executed in the database.`);\n\n // every check is passed means that migration was not run yet and we need to run it\n return true;\n });\n\n // if no migrations are pending then nothing to do here\n if (!pendingMigrations.length) {\n this.connection.logger.logSchemaBuild(`No migrations are pending`);\n // if query runner was created by us then release it\n if (!this.queryRunner)\n await queryRunner.release();\n return [];\n }\n\n // log information about migration execution\n this.connection.logger.logSchemaBuild(`${executedMigrations.length} migrations are already loaded in the database.`);\n this.connection.logger.logSchemaBuild(`${allMigrations.length} migrations were found in the source code.`);\n if (lastTimeExecutedMigration)\n this.connection.logger.logSchemaBuild(`${lastTimeExecutedMigration.name} is the last executed migration. It was executed on ${new Date(lastTimeExecutedMigration.timestamp).toString()}.`);\n this.connection.logger.logSchemaBuild(`${pendingMigrations.length} migrations are new migrations that needs to be executed.`);\n\n // start transaction if its not started yet\n let transactionStartedByUs = false;\n if (this.transaction === \"all\" && !queryRunner.isTransactionActive) {\n await queryRunner.startTransaction();\n transactionStartedByUs = true;\n }\n\n // run all pending migrations in a sequence\n try {\n for (const migration of pendingMigrations) {\n if (this.transaction === \"each\" && !queryRunner.isTransactionActive) {\n await queryRunner.startTransaction();\n transactionStartedByUs = true;\n }\n\n await migration.instance!.up(queryRunner)\n .catch(error => { // informative log about migration failure\n this.connection.logger.logMigration(`Migration \"${migration.name}\" has been failed, error: ${error?.message}`);\n throw error;\n })\n .then(async () => { // now when migration is executed we need to insert record about it into the database\n await this.insertExecutedMigration(queryRunner, migration);\n // commit transaction if we started it\n if (this.transaction === \"each\" && transactionStartedByUs)\n await queryRunner.commitTransaction();\n })\n .then(() => { // informative log about migration success\n successMigrations.push(migration);\n this.connection.logger.logSchemaBuild(`Migration ${migration.name} has been executed successfully.`);\n });\n }\n\n // commit transaction if we started it\n if (this.transaction === \"all\" && transactionStartedByUs)\n await queryRunner.commitTransaction();\n\n } catch (err) { // rollback transaction if we started it\n if (transactionStartedByUs) {\n try { // we throw original error even if rollback thrown an error\n await queryRunner.rollbackTransaction();\n } catch (rollbackError) { }\n }\n\n throw err;\n\n } finally {\n\n // if query runner was created by us then release it\n if (!this.queryRunner)\n await queryRunner.release();\n }\n return successMigrations;\n\n }\n\n /**\n * Reverts last migration that were run.\n */\n async undoLastMigration(): Promise<void> {\n\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n\n // create migrations table if its not created yet\n await this.createMigrationsTableIfNotExist(queryRunner);\n\n // get all migrations that are executed and saved in the database\n const executedMigrations = await this.loadExecutedMigrations(queryRunner);\n\n // get the time when last migration was executed\n let lastTimeExecutedMigration = this.getLatestExecutedMigration(executedMigrations);\n\n // if no migrations found in the database then nothing to revert\n if (!lastTimeExecutedMigration) {\n this.connection.logger.logSchemaBuild(`No migrations was found in the database. Nothing to revert!`);\n return;\n }\n\n // get all user's migrations in the source code\n const allMigrations = this.getMigrations();\n\n // find the instance of the migration we need to remove\n const migrationToRevert = allMigrations.find(migration => migration.name === lastTimeExecutedMigration!.name);\n\n // if no migrations found in the database then nothing to revert\n if (!migrationToRevert)\n throw new TypeORMError(`No migration ${lastTimeExecutedMigration.name} was found in the source code. Make sure you have this migration in your codebase and its included in the connection options.`);\n\n // log information about migration execution\n this.connection.logger.logSchemaBuild(`${executedMigrations.length} migrations are already loaded in the database.`);\n this.connection.logger.logSchemaBuild(`${lastTimeExecutedMigration.name} is the last executed migration. It was executed on ${new Date(lastTimeExecutedMigration.timestamp).toString()}.`);\n this.connection.logger.logSchemaBuild(`Now reverting it...`);\n\n // start transaction if its not started yet\n let transactionStartedByUs = false;\n if ((this.transaction !== \"none\") && !queryRunner.isTransactionActive) {\n await queryRunner.startTransaction();\n transactionStartedByUs = true;\n }\n\n try {\n await migrationToRevert.instance!.down(queryRunner);\n await this.deleteExecutedMigration(queryRunner, migrationToRevert);\n this.connection.logger.logSchemaBuild(`Migration ${migrationToRevert.name} has been reverted successfully.`);\n\n // commit transaction if we started it\n if (transactionStartedByUs)\n await queryRunner.commitTransaction();\n\n } catch (err) { // rollback transaction if we started it\n if (transactionStartedByUs) {\n try { // we throw original error even if rollback thrown an error\n await queryRunner.rollbackTransaction();\n } catch (rollbackError) { }\n }\n\n throw err;\n\n } finally {\n\n // if query runner was created by us then release it\n if (!this.queryRunner)\n await queryRunner.release();\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates table \"migrations\" that will store information about executed migrations.\n */\n protected async createMigrationsTableIfNotExist(queryRunner: QueryRunner): Promise<void> {\n // If driver is mongo no need to create\n if (this.connection.driver instanceof MongoDriver) {\n return;\n }\n const tableExist = await queryRunner.hasTable(this.migrationsTable); // todo: table name should be configurable\n if (!tableExist) {\n await queryRunner.createTable(new Table(\n {\n database: this.migrationsDatabase,\n schema: this.migrationsSchema,\n name: this.migrationsTable,\n columns: [\n {\n name: \"id\",\n type: this.connection.driver.normalizeType({type: this.connection.driver.mappedDataTypes.migrationId}),\n isGenerated: true,\n generationStrategy: \"increment\",\n isPrimary: true,\n isNullable: false\n },\n {\n name: \"timestamp\",\n type: this.connection.driver.normalizeType({type: this.connection.driver.mappedDataTypes.migrationTimestamp}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"name\",\n type: this.connection.driver.normalizeType({type: this.connection.driver.mappedDataTypes.migrationName}),\n isNullable: false\n },\n ]\n },\n ));\n }\n }\n\n /**\n * Loads all migrations that were executed and saved into the database (sorts by id).\n */\n protected async loadExecutedMigrations(queryRunner: QueryRunner): Promise<Migration[]> {\n if (this.connection.driver instanceof MongoDriver) {\n const mongoRunner = queryRunner as MongoQueryRunner;\n return await mongoRunner.databaseConnection\n .db(this.connection.driver.database!)\n .collection(this.migrationsTableName)\n .find<Migration>()\n .sort({\"_id\": -1})\n .toArray();\n } else {\n const migrationsRaw: ObjectLiteral[] = await this.connection.manager\n .createQueryBuilder(queryRunner)\n .select()\n .orderBy(this.connection.driver.escape(\"id\"), \"DESC\")\n .from(this.migrationsTable, this.migrationsTableName)\n .getRawMany();\n return migrationsRaw.map(migrationRaw => {\n return new Migration(parseInt(migrationRaw[\"id\"]), parseInt(migrationRaw[\"timestamp\"]), migrationRaw[\"name\"]);\n });\n }\n }\n\n /**\n * Gets all migrations that setup for this connection.\n */\n protected getMigrations(): Migration[] {\n const migrations = this.connection.migrations.map(migration => {\n const migrationClassName = migration.name || (migration.constructor as any).name;\n const migrationTimestamp = parseInt(migrationClassName.substr(-13), 10);\n if (!migrationTimestamp || isNaN(migrationTimestamp)) {\n throw new TypeORMError(`${migrationClassName} migration name is wrong. Migration class name should have a JavaScript timestamp appended.`);\n }\n\n return new Migration(undefined, migrationTimestamp, migrationClassName, migration);\n });\n\n this.checkForDuplicateMigrations(migrations);\n\n // sort them by timestamp\n return migrations.sort((a, b) => a.timestamp - b.timestamp);\n }\n\n protected checkForDuplicateMigrations(migrations: Migration[]) {\n const migrationNames = migrations.map(migration => migration.name);\n const duplicates = Array.from(new Set(migrationNames.filter((migrationName, index) => migrationNames.indexOf(migrationName) < index)));\n if (duplicates.length > 0) {\n throw Error(`Duplicate migrations: ${duplicates.join(\", \")}`);\n }\n }\n\n /**\n * Finds the latest migration (sorts by timestamp) in the given array of migrations.\n */\n protected getLatestTimestampMigration(migrations: Migration[]): Migration|undefined {\n const sortedMigrations = migrations.map(migration => migration).sort((a, b) => (a.timestamp - b.timestamp) * -1);\n return sortedMigrations.length > 0 ? sortedMigrations[0] : undefined;\n }\n\n /**\n * Finds the latest migration in the given array of migrations.\n * PRE: Migration array must be sorted by descending id.\n */\n protected getLatestExecutedMigration(sortedMigrations: Migration[]): Migration|undefined {\n return sortedMigrations.length > 0 ? sortedMigrations[0] : undefined;\n }\n\n /**\n * Inserts new executed migration's data into migrations table.\n */\n protected async insertExecutedMigration(queryRunner: QueryRunner, migration: Migration): Promise<void> {\n const values: ObjectLiteral = {};\n if (this.connection.driver instanceof SqlServerDriver) {\n values[\"timestamp\"] = new MssqlParameter(migration.timestamp, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationTimestamp }) as any);\n values[\"name\"] = new MssqlParameter(migration.name, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationName }) as any);\n } else {\n values[\"timestamp\"] = migration.timestamp;\n values[\"name\"] = migration.name;\n }\n if (this.connection.driver instanceof MongoDriver) {\n const mongoRunner = queryRunner as MongoQueryRunner;\n await mongoRunner.databaseConnection.db(this.connection.driver.database!).collection(this.migrationsTableName).insertOne(values);\n } else {\n const qb = queryRunner.manager.createQueryBuilder();\n await qb.insert()\n .into(this.migrationsTable)\n .values(values)\n .execute();\n }\n }\n\n /**\n * Delete previously executed migration's data from the migrations table.\n */\n protected async deleteExecutedMigration(queryRunner: QueryRunner, migration: Migration): Promise<void> {\n\n const conditions: ObjectLiteral = {};\n if (this.connection.driver instanceof SqlServerDriver) {\n conditions[\"timestamp\"] = new MssqlParameter(migration.timestamp, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationTimestamp }) as any);\n conditions[\"name\"] = new MssqlParameter(migration.name, this.connection.driver.normalizeType({ type: this.connection.driver.mappedDataTypes.migrationName }) as any);\n } else {\n conditions[\"timestamp\"] = migration.timestamp;\n conditions[\"name\"] = migration.name;\n }\n\n if (this.connection.driver instanceof MongoDriver) {\n const mongoRunner = queryRunner as MongoQueryRunner;\n await mongoRunner.databaseConnection.db(this.connection.driver.database!).collection(this.migrationsTableName).deleteOne(conditions);\n } else {\n const qb = queryRunner.manager.createQueryBuilder();\n await qb.delete()\n .from(this.migrationsTable)\n .where(`${qb.escape(\"timestamp\")} = :timestamp`)\n .andWhere(`${qb.escape(\"name\")} = :name`)\n .setParameters(conditions)\n .execute();\n }\n\n }\n\n protected async withQueryRunner<T extends any>(callback: (queryRunner: QueryRunner) => T | Promise<T>) {\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n\n try {\n return callback(queryRunner);\n } finally {\n if (!this.queryRunner) {\n await queryRunner.release();\n }\n }\n }\n}\n"],"sourceRoot":".."}
@@ -26,7 +26,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
26
26
  * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity("name")
27
27
  */
28
28
  DefaultNamingStrategy.prototype.tableName = function (targetName, userSpecifiedName) {
29
- return userSpecifiedName ? userSpecifiedName : StringUtils_1.snakeCase(targetName);
29
+ return userSpecifiedName ? userSpecifiedName : (0, StringUtils_1.snakeCase)(targetName);
30
30
  };
31
31
  /**
32
32
  * Creates a table name for a junction table of a closure table.
@@ -39,7 +39,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
39
39
  DefaultNamingStrategy.prototype.columnName = function (propertyName, customName, embeddedPrefixes) {
40
40
  var name = customName || propertyName;
41
41
  if (embeddedPrefixes.length)
42
- return StringUtils_1.camelCase(embeddedPrefixes.join("_")) + StringUtils_1.titleCase(name);
42
+ return (0, StringUtils_1.camelCase)(embeddedPrefixes.join("_")) + (0, StringUtils_1.titleCase)(name);
43
43
  return name;
44
44
  };
45
45
  DefaultNamingStrategy.prototype.relationName = function (propertyName) {
@@ -47,7 +47,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
47
47
  };
48
48
  DefaultNamingStrategy.prototype.primaryKeyName = function (tableOrName, columnNames) {
49
49
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
50
- var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
50
+ var clonedColumnNames = (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(columnNames), false);
51
51
  clonedColumnNames.sort();
52
52
  var tableName = this.getTableName(tableOrName);
53
53
  var replacedTableName = tableName.replace(".", "_");
@@ -56,7 +56,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
56
56
  };
57
57
  DefaultNamingStrategy.prototype.uniqueConstraintName = function (tableOrName, columnNames) {
58
58
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
59
- var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
59
+ var clonedColumnNames = (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(columnNames), false);
60
60
  clonedColumnNames.sort();
61
61
  var tableName = this.getTableName(tableOrName);
62
62
  var replacedTableName = tableName.replace(".", "_");
@@ -65,7 +65,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
65
65
  };
66
66
  DefaultNamingStrategy.prototype.relationConstraintName = function (tableOrName, columnNames, where) {
67
67
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
68
- var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
68
+ var clonedColumnNames = (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(columnNames), false);
69
69
  clonedColumnNames.sort();
70
70
  var tableName = this.getTableName(tableOrName);
71
71
  var replacedTableName = tableName.replace(".", "_");
@@ -82,7 +82,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
82
82
  };
83
83
  DefaultNamingStrategy.prototype.foreignKeyName = function (tableOrName, columnNames, _referencedTablePath, _referencedColumnNames) {
84
84
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
85
- var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
85
+ var clonedColumnNames = (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(columnNames), false);
86
86
  clonedColumnNames.sort();
87
87
  var tableName = this.getTableName(tableOrName);
88
88
  var replacedTableName = tableName.replace(".", "_");
@@ -91,7 +91,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
91
91
  };
92
92
  DefaultNamingStrategy.prototype.indexName = function (tableOrName, columnNames, where) {
93
93
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
94
- var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
94
+ var clonedColumnNames = (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(columnNames), false);
95
95
  clonedColumnNames.sort();
96
96
  var tableName = this.getTableName(tableOrName);
97
97
  var replacedTableName = tableName.replace(".", "_");
@@ -114,16 +114,16 @@ var DefaultNamingStrategy = /** @class */ (function () {
114
114
  return "XCL_" + RandomGenerator_1.RandomGenerator.sha1(key).substr(0, 26);
115
115
  };
116
116
  DefaultNamingStrategy.prototype.joinColumnName = function (relationName, referencedColumnName) {
117
- return StringUtils_1.camelCase(relationName + "_" + referencedColumnName);
117
+ return (0, StringUtils_1.camelCase)(relationName + "_" + referencedColumnName);
118
118
  };
119
119
  DefaultNamingStrategy.prototype.joinTableName = function (firstTableName, secondTableName, firstPropertyName, secondPropertyName) {
120
- return StringUtils_1.snakeCase(firstTableName + "_" + firstPropertyName.replace(/\./gi, "_") + "_" + secondTableName);
120
+ return (0, StringUtils_1.snakeCase)(firstTableName + "_" + firstPropertyName.replace(/\./gi, "_") + "_" + secondTableName);
121
121
  };
122
122
  DefaultNamingStrategy.prototype.joinTableColumnDuplicationPrefix = function (columnName, index) {
123
123
  return columnName + "_" + index;
124
124
  };
125
125
  DefaultNamingStrategy.prototype.joinTableColumnName = function (tableName, propertyName, columnName) {
126
- return StringUtils_1.camelCase(tableName + "_" + (columnName ? columnName : propertyName));
126
+ return (0, StringUtils_1.camelCase)(tableName + "_" + (columnName ? columnName : propertyName));
127
127
  };
128
128
  DefaultNamingStrategy.prototype.joinTableInverseColumnName = function (tableName, propertyName, columnName) {
129
129
  return this.joinTableColumnName(tableName, propertyName, columnName);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/naming-strategy/DefaultNamingStrategy.ts"],"names":[],"mappings":"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","file":"DefaultNamingStrategy.js","sourcesContent":["import {NamingStrategyInterface} from \"./NamingStrategyInterface\";\nimport {RandomGenerator} from \"../util/RandomGenerator\";\nimport {camelCase, snakeCase, titleCase} from \"../util/StringUtils\";\nimport {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy that is used by default.\n */\nexport class DefaultNamingStrategy implements NamingStrategyInterface {\n private getTableName(tableOrName: Table | string): string {\n if (tableOrName instanceof Table) {\n tableOrName = tableOrName.name;\n }\n\n return tableOrName.split(\".\").pop()!;\n }\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string {\n return userSpecifiedName ? userSpecifiedName : snakeCase(targetName);\n }\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string {\n return originalClosureTableName + \"_closure\";\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n const name = customName || propertyName;\n\n if (embeddedPrefixes.length)\n return camelCase(embeddedPrefixes.join(\"_\")) + titleCase(name);\n\n return name;\n }\n\n relationName(propertyName: string): string {\n return propertyName;\n }\n\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"PK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"UQ_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"REL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n defaultConstraintName(tableOrName: Table|string, columnName: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${columnName}`;\n return \"DF_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n foreignKeyName(tableOrName: Table|string, columnNames: string[], _referencedTablePath?: string, _referencedColumnNames?: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"FK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n indexName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"IDX_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n checkConstraintName(tableOrName: Table|string, expression: string, isEnum?: boolean): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n const name = \"CHK_\" + RandomGenerator.sha1(key).substr(0, 26);\n return isEnum ? `${name}_ENUM` : name;\n }\n\n exclusionConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"XCL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n joinColumnName(relationName: string, referencedColumnName: string): string {\n return camelCase(relationName + \"_\" + referencedColumnName);\n }\n\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string {\n return snakeCase(firstTableName + \"_\" + firstPropertyName.replace(/\\./gi, \"_\") + \"_\" + secondTableName);\n }\n\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string {\n return columnName + \"_\" + index;\n }\n\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return camelCase(tableName + \"_\" + (columnName ? columnName : propertyName));\n }\n\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return this.joinTableColumnName(tableName, propertyName, columnName);\n }\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string {\n return prefix + tableName;\n }\n\n eagerJoinRelationAlias(alias: string, propertyPath: string): string {\n return alias + \"_\" + propertyPath.replace(\".\", \"_\");\n }\n\n nestedSetColumnNames = { left: \"nsleft\", right: \"nsright\" };\n materializedPathColumnName = \"mpath\";\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/naming-strategy/DefaultNamingStrategy.ts"],"names":[],"mappings":"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","file":"DefaultNamingStrategy.js","sourcesContent":["import {NamingStrategyInterface} from \"./NamingStrategyInterface\";\nimport {RandomGenerator} from \"../util/RandomGenerator\";\nimport {camelCase, snakeCase, titleCase} from \"../util/StringUtils\";\nimport {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy that is used by default.\n */\nexport class DefaultNamingStrategy implements NamingStrategyInterface {\n private getTableName(tableOrName: Table | string): string {\n if (tableOrName instanceof Table) {\n tableOrName = tableOrName.name;\n }\n\n return tableOrName.split(\".\").pop()!;\n }\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string {\n return userSpecifiedName ? userSpecifiedName : snakeCase(targetName);\n }\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string {\n return originalClosureTableName + \"_closure\";\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n const name = customName || propertyName;\n\n if (embeddedPrefixes.length)\n return camelCase(embeddedPrefixes.join(\"_\")) + titleCase(name);\n\n return name;\n }\n\n relationName(propertyName: string): string {\n return propertyName;\n }\n\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"PK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"UQ_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"REL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n defaultConstraintName(tableOrName: Table|string, columnName: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${columnName}`;\n return \"DF_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n foreignKeyName(tableOrName: Table|string, columnNames: string[], _referencedTablePath?: string, _referencedColumnNames?: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"FK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n indexName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"IDX_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n checkConstraintName(tableOrName: Table|string, expression: string, isEnum?: boolean): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n const name = \"CHK_\" + RandomGenerator.sha1(key).substr(0, 26);\n return isEnum ? `${name}_ENUM` : name;\n }\n\n exclusionConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"XCL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n joinColumnName(relationName: string, referencedColumnName: string): string {\n return camelCase(relationName + \"_\" + referencedColumnName);\n }\n\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string {\n return snakeCase(firstTableName + \"_\" + firstPropertyName.replace(/\\./gi, \"_\") + \"_\" + secondTableName);\n }\n\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string {\n return columnName + \"_\" + index;\n }\n\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return camelCase(tableName + \"_\" + (columnName ? columnName : propertyName));\n }\n\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return this.joinTableColumnName(tableName, propertyName, columnName);\n }\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string {\n return prefix + tableName;\n }\n\n eagerJoinRelationAlias(alias: string, propertyPath: string): string {\n return alias + \"_\" + propertyPath.replace(\".\", \"_\");\n }\n\n nestedSetColumnNames = { left: \"nsleft\", right: \"nsright\" };\n materializedPathColumnName = \"mpath\";\n}\n"],"sourceRoot":".."}
package/package.json CHANGED
@@ -1 +1 @@
1
- { "name": "typeorm", "private": false, "version": "0.2.38-dev.e9366b3", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "main": "./index.js", "browser": { "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./index.js": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/dotenv": "^8.2.0", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "*", "better-sqlite3": "*", "hdb-pool": "*", "ioredis": "*", "mongodb": "^3.6.0", "mssql": "*", "mysql2": "*", "oracledb": "*", "pg": "*", "pg-native": "*", "pg-query-stream": "*", "redis": "*", "sql.js": "*", "sqlite3": "*", "typeorm-aurora-data-api-driver": "*" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "xml2js": "^0.4.23", "yargonaut": "^1.1.4", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1" }, "bin": { "typeorm": "./cli.js" }, "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }
1
+ { "name": "typeorm", "private": false, "version": "0.2.39-dev.1197f88", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "main": "./index.js", "browser": { "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./index.js": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/dotenv": "^8.2.0", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "*", "better-sqlite3": "*", "hdb-pool": "*", "ioredis": "*", "mongodb": "^3.6.0", "mssql": "*", "mysql2": "*", "oracledb": "*", "pg": "*", "pg-native": "*", "pg-query-stream": "*", "redis": "*", "sql.js": "*", "sqlite3": "*", "typeorm-aurora-data-api-driver": "*" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "xml2js": "^0.4.23", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1" }, "bin": { "typeorm": "./cli.js" }, "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }