typeorm 0.2.41-dev.c895680 → 0.2.42-dev.1446e02

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 (372) hide show
  1. package/README.md +38 -0
  2. package/browser/cache/DbQueryResultCache.js +12 -3
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/RedisQueryResultCache.js +40 -35
  5. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  6. package/browser/common/RelationType.d.ts +14 -0
  7. package/browser/common/RelationType.js +3 -0
  8. package/browser/common/RelationType.js.map +1 -0
  9. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  10. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  11. package/browser/connection/Connection.d.ts +7 -3
  12. package/browser/connection/Connection.js +47 -31
  13. package/browser/connection/Connection.js.map +1 -1
  14. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  15. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  16. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  17. package/browser/connection/ConnectionOptionsReader.js +33 -28
  18. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  19. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  20. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  21. package/browser/decorator/Unique.d.ts +5 -4
  22. package/browser/decorator/Unique.js +7 -3
  23. package/browser/decorator/Unique.js.map +1 -1
  24. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  25. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  26. package/browser/decorator/options/ColumnOptions.d.ts +4 -0
  27. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  28. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  29. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  30. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  31. package/browser/decorator/options/RelationOptions.d.ts +1 -1
  32. package/browser/decorator/options/RelationOptions.js.map +1 -1
  33. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  34. package/browser/decorator/options/UniqueOptions.js +3 -0
  35. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  36. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +34 -40
  37. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  38. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  39. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  40. package/browser/driver/cockroachdb/CockroachQueryRunner.js +25 -31
  41. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  42. package/browser/driver/mongodb/MongoQueryRunner.d.ts +2 -0
  43. package/browser/driver/mongodb/MongoQueryRunner.js +3 -0
  44. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  45. package/browser/driver/mysql/MysqlQueryRunner.js +38 -40
  46. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  47. package/browser/driver/oracle/OracleDriver.js +1 -1
  48. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  49. package/browser/driver/oracle/OracleQueryRunner.js +14 -25
  50. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  51. package/browser/driver/postgres/PostgresDriver.d.ts +1 -0
  52. package/browser/driver/postgres/PostgresDriver.js +16 -7
  53. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  54. package/browser/driver/postgres/PostgresQueryRunner.d.ts +5 -0
  55. package/browser/driver/postgres/PostgresQueryRunner.js +327 -139
  56. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  57. package/browser/driver/sap/SapQueryRunner.js +37 -43
  58. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  59. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  60. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  61. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +9 -15
  62. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  63. package/browser/driver/sqlserver/SqlServerQueryRunner.js +32 -34
  64. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  65. package/browser/driver/types/MetadataTableType.d.ts +5 -0
  66. package/browser/driver/types/MetadataTableType.js +8 -0
  67. package/browser/driver/types/MetadataTableType.js.map +1 -0
  68. package/browser/entity-manager/EntityManager.d.ts +2 -2
  69. package/browser/entity-manager/EntityManager.js +1 -1
  70. package/browser/entity-manager/EntityManager.js.map +1 -1
  71. package/browser/entity-manager/MongoEntityManager.js +2 -1
  72. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  73. package/browser/entity-schema/EntitySchemaOptions.d.ts +6 -0
  74. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  75. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  76. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  77. package/browser/entity-schema/EntitySchemaTransformer.js +3 -1
  78. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  79. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  80. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  81. package/browser/find-options/FindOneOptions.d.ts +6 -0
  82. package/browser/find-options/FindOneOptions.js.map +1 -1
  83. package/browser/find-options/FindOptionsUtils.js +4 -0
  84. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  85. package/browser/find-options/operator/Like.d.ts +1 -1
  86. package/browser/find-options/operator/Like.js +1 -1
  87. package/browser/find-options/operator/Like.js.map +1 -1
  88. package/browser/globals.js +34 -7
  89. package/browser/globals.js.map +1 -1
  90. package/browser/index.d.ts +10 -0
  91. package/browser/index.js +10 -0
  92. package/browser/index.js.map +1 -1
  93. package/browser/metadata/ColumnMetadata.d.ts +4 -0
  94. package/browser/metadata/ColumnMetadata.js +2 -0
  95. package/browser/metadata/ColumnMetadata.js.map +1 -1
  96. package/browser/metadata/RelationMetadata.d.ts +1 -1
  97. package/browser/metadata/RelationMetadata.js.map +1 -1
  98. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  99. package/browser/metadata/UniqueMetadata.js +1 -0
  100. package/browser/metadata/UniqueMetadata.js.map +1 -1
  101. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  102. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  103. package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
  104. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  105. package/browser/migration/MigrationExecutor.js +56 -49
  106. package/browser/migration/MigrationExecutor.js.map +1 -1
  107. package/browser/persistence/SubjectExecutor.js +2 -2
  108. package/browser/persistence/SubjectExecutor.js.map +1 -1
  109. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  110. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  111. package/browser/query-builder/DeleteQueryBuilder.d.ts +4 -2
  112. package/browser/query-builder/DeleteQueryBuilder.js +4 -2
  113. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  114. package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
  115. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  116. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  117. package/browser/query-builder/NotBrackets.d.ts +7 -0
  118. package/browser/query-builder/NotBrackets.js +16 -0
  119. package/browser/query-builder/NotBrackets.js.map +1 -0
  120. package/browser/query-builder/QueryBuilder.d.ts +3 -2
  121. package/browser/query-builder/QueryBuilder.js +2 -1
  122. package/browser/query-builder/QueryBuilder.js.map +1 -1
  123. package/browser/query-builder/RelationLoader.js +11 -6
  124. package/browser/query-builder/RelationLoader.js.map +1 -1
  125. package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
  126. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  127. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  128. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +4 -0
  129. package/browser/query-builder/ReturningResultsEntityUpdator.js +11 -2
  130. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  131. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
  132. package/browser/query-builder/SelectQueryBuilder.js +5 -5
  133. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  134. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  135. package/browser/query-builder/SoftDeleteQueryBuilder.js +2 -2
  136. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  137. package/browser/query-builder/UpdateQueryBuilder.d.ts +4 -2
  138. package/browser/query-builder/UpdateQueryBuilder.js +11 -6
  139. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  140. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  141. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  142. package/browser/query-runner/BaseQueryRunner.d.ts +23 -0
  143. package/browser/query-runner/BaseQueryRunner.js +38 -1
  144. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  145. package/browser/query-runner/QueryRunner.d.ts +5 -0
  146. package/browser/query-runner/QueryRunner.js.map +1 -1
  147. package/browser/repository/AbstractRepository.d.ts +2 -2
  148. package/browser/repository/AbstractRepository.js +2 -2
  149. package/browser/repository/AbstractRepository.js.map +1 -1
  150. package/browser/repository/BaseEntity.d.ts +1 -1
  151. package/browser/repository/BaseEntity.js +1 -1
  152. package/browser/repository/BaseEntity.js.map +1 -1
  153. package/browser/repository/Repository.d.ts +1 -1
  154. package/browser/repository/Repository.js +1 -1
  155. package/browser/repository/Repository.js.map +1 -1
  156. package/browser/repository/TreeRepository.js +1 -1
  157. package/browser/repository/TreeRepository.js.map +1 -1
  158. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +5 -1
  159. package/browser/schema-builder/RdbmsSchemaBuilder.js +59 -50
  160. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  161. package/browser/schema-builder/options/TableColumnOptions.d.ts +4 -0
  162. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  163. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  164. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  165. package/browser/schema-builder/table/TableColumn.d.ts +4 -0
  166. package/browser/schema-builder/table/TableColumn.js +2 -0
  167. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  168. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  169. package/browser/schema-builder/table/TableUnique.js +5 -2
  170. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  171. package/browser/schema-builder/util/TableUtils.js +1 -0
  172. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  173. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  174. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  175. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  176. package/browser/util/ImportUtils.d.ts +1 -0
  177. package/browser/util/ImportUtils.js +90 -0
  178. package/browser/util/ImportUtils.js.map +1 -0
  179. package/cache/DbQueryResultCache.js +12 -3
  180. package/cache/DbQueryResultCache.js.map +1 -1
  181. package/cache/RedisQueryResultCache.js +39 -34
  182. package/cache/RedisQueryResultCache.js.map +1 -1
  183. package/commands/CommandUtils.d.ts +4 -0
  184. package/commands/CommandUtils.js +10 -0
  185. package/commands/CommandUtils.js.map +1 -1
  186. package/commands/InitCommand.d.ts +9 -7
  187. package/commands/InitCommand.js +72 -43
  188. package/commands/InitCommand.js.map +1 -1
  189. package/commands/MigrationCreateCommand.d.ts +2 -0
  190. package/commands/MigrationCreateCommand.js +7 -1
  191. package/commands/MigrationCreateCommand.js.map +1 -1
  192. package/commands/MigrationGenerateCommand.d.ts +2 -0
  193. package/commands/MigrationGenerateCommand.js +7 -1
  194. package/commands/MigrationGenerateCommand.js.map +1 -1
  195. package/commands/QueryCommand.d.ts +1 -1
  196. package/commands/QueryCommand.js +1 -1
  197. package/commands/QueryCommand.js.map +1 -1
  198. package/common/RelationType.d.ts +14 -0
  199. package/common/RelationType.js +4 -0
  200. package/common/RelationType.js.map +1 -0
  201. package/connection/BaseConnectionOptions.d.ts +5 -0
  202. package/connection/BaseConnectionOptions.js.map +1 -1
  203. package/connection/Connection.d.ts +7 -3
  204. package/connection/Connection.js +47 -31
  205. package/connection/Connection.js.map +1 -1
  206. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  207. package/connection/ConnectionMetadataBuilder.js +53 -21
  208. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  209. package/connection/ConnectionOptionsReader.js +32 -27
  210. package/connection/ConnectionOptionsReader.js.map +1 -1
  211. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  212. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  213. package/decorator/Unique.d.ts +5 -4
  214. package/decorator/Unique.js +7 -3
  215. package/decorator/Unique.js.map +1 -1
  216. package/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  217. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  218. package/decorator/options/ColumnOptions.d.ts +4 -0
  219. package/decorator/options/ColumnOptions.js.map +1 -1
  220. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  221. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
  222. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  223. package/decorator/options/RelationOptions.d.ts +1 -1
  224. package/decorator/options/RelationOptions.js.map +1 -1
  225. package/decorator/options/UniqueOptions.d.ts +10 -0
  226. package/decorator/options/UniqueOptions.js +4 -0
  227. package/decorator/options/UniqueOptions.js.map +1 -0
  228. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +34 -40
  229. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  230. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  231. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  232. package/driver/cockroachdb/CockroachQueryRunner.js +25 -31
  233. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  234. package/driver/mongodb/MongoQueryRunner.d.ts +2 -0
  235. package/driver/mongodb/MongoQueryRunner.js +3 -0
  236. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  237. package/driver/mysql/MysqlQueryRunner.js +38 -40
  238. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  239. package/driver/oracle/OracleDriver.js +1 -1
  240. package/driver/oracle/OracleDriver.js.map +1 -1
  241. package/driver/oracle/OracleQueryRunner.js +14 -25
  242. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  243. package/driver/postgres/PostgresDriver.d.ts +1 -0
  244. package/driver/postgres/PostgresDriver.js +16 -7
  245. package/driver/postgres/PostgresDriver.js.map +1 -1
  246. package/driver/postgres/PostgresQueryRunner.d.ts +5 -0
  247. package/driver/postgres/PostgresQueryRunner.js +327 -139
  248. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  249. package/driver/sap/SapQueryRunner.js +37 -43
  250. package/driver/sap/SapQueryRunner.js.map +1 -1
  251. package/driver/sqlite/SqliteDriver.js +11 -10
  252. package/driver/sqlite/SqliteDriver.js.map +1 -1
  253. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +9 -15
  254. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  255. package/driver/sqlserver/SqlServerQueryRunner.js +32 -34
  256. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  257. package/driver/types/MetadataTableType.d.ts +5 -0
  258. package/driver/types/MetadataTableType.js +11 -0
  259. package/driver/types/MetadataTableType.js.map +1 -0
  260. package/entity-manager/EntityManager.d.ts +2 -2
  261. package/entity-manager/EntityManager.js +1 -1
  262. package/entity-manager/EntityManager.js.map +1 -1
  263. package/entity-manager/MongoEntityManager.js +2 -1
  264. package/entity-manager/MongoEntityManager.js.map +1 -1
  265. package/entity-schema/EntitySchemaOptions.d.ts +6 -0
  266. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  267. package/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  268. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  269. package/entity-schema/EntitySchemaTransformer.js +3 -1
  270. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  271. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  272. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  273. package/find-options/FindOneOptions.d.ts +6 -0
  274. package/find-options/FindOneOptions.js.map +1 -1
  275. package/find-options/FindOptionsUtils.js +4 -0
  276. package/find-options/FindOptionsUtils.js.map +1 -1
  277. package/find-options/operator/Like.d.ts +1 -1
  278. package/find-options/operator/Like.js +1 -1
  279. package/find-options/operator/Like.js.map +1 -1
  280. package/globals.js +33 -6
  281. package/globals.js.map +1 -1
  282. package/index.d.ts +10 -0
  283. package/index.js +12 -1
  284. package/index.js.map +1 -1
  285. package/index.mjs +352 -0
  286. package/metadata/ColumnMetadata.d.ts +4 -0
  287. package/metadata/ColumnMetadata.js +2 -0
  288. package/metadata/ColumnMetadata.js.map +1 -1
  289. package/metadata/RelationMetadata.d.ts +1 -1
  290. package/metadata/RelationMetadata.js.map +1 -1
  291. package/metadata/UniqueMetadata.d.ts +5 -0
  292. package/metadata/UniqueMetadata.js +1 -0
  293. package/metadata/UniqueMetadata.js.map +1 -1
  294. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  295. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  296. package/metadata-builder/EntityMetadataValidator.js +1 -0
  297. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  298. package/migration/MigrationExecutor.js +56 -49
  299. package/migration/MigrationExecutor.js.map +1 -1
  300. package/package.json +1 -1
  301. package/persistence/SubjectExecutor.js +2 -2
  302. package/persistence/SubjectExecutor.js.map +1 -1
  303. package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  304. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  305. package/query-builder/DeleteQueryBuilder.d.ts +4 -2
  306. package/query-builder/DeleteQueryBuilder.js +4 -2
  307. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  308. package/query-builder/InsertQueryBuilder.d.ts +1 -1
  309. package/query-builder/InsertQueryBuilder.js +1 -1
  310. package/query-builder/InsertQueryBuilder.js.map +1 -1
  311. package/query-builder/NotBrackets.d.ts +7 -0
  312. package/query-builder/NotBrackets.js +19 -0
  313. package/query-builder/NotBrackets.js.map +1 -0
  314. package/query-builder/QueryBuilder.d.ts +3 -2
  315. package/query-builder/QueryBuilder.js +2 -1
  316. package/query-builder/QueryBuilder.js.map +1 -1
  317. package/query-builder/RelationLoader.js +11 -6
  318. package/query-builder/RelationLoader.js.map +1 -1
  319. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  320. package/query-builder/RelationQueryBuilder.js +1 -1
  321. package/query-builder/RelationQueryBuilder.js.map +1 -1
  322. package/query-builder/ReturningResultsEntityUpdator.d.ts +4 -0
  323. package/query-builder/ReturningResultsEntityUpdator.js +11 -2
  324. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  325. package/query-builder/SelectQueryBuilder.d.ts +1 -1
  326. package/query-builder/SelectQueryBuilder.js +5 -5
  327. package/query-builder/SelectQueryBuilder.js.map +1 -1
  328. package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  329. package/query-builder/SoftDeleteQueryBuilder.js +2 -2
  330. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  331. package/query-builder/UpdateQueryBuilder.d.ts +4 -2
  332. package/query-builder/UpdateQueryBuilder.js +11 -6
  333. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  334. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  335. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  336. package/query-runner/BaseQueryRunner.d.ts +23 -0
  337. package/query-runner/BaseQueryRunner.js +38 -1
  338. package/query-runner/BaseQueryRunner.js.map +1 -1
  339. package/query-runner/QueryRunner.d.ts +5 -0
  340. package/query-runner/QueryRunner.js.map +1 -1
  341. package/repository/AbstractRepository.d.ts +2 -2
  342. package/repository/AbstractRepository.js +2 -2
  343. package/repository/AbstractRepository.js.map +1 -1
  344. package/repository/BaseEntity.d.ts +1 -1
  345. package/repository/BaseEntity.js +1 -1
  346. package/repository/BaseEntity.js.map +1 -1
  347. package/repository/Repository.d.ts +1 -1
  348. package/repository/Repository.js +1 -1
  349. package/repository/Repository.js.map +1 -1
  350. package/repository/TreeRepository.js +1 -1
  351. package/repository/TreeRepository.js.map +1 -1
  352. package/schema-builder/RdbmsSchemaBuilder.d.ts +5 -1
  353. package/schema-builder/RdbmsSchemaBuilder.js +59 -50
  354. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  355. package/schema-builder/options/TableColumnOptions.d.ts +4 -0
  356. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  357. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  358. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  359. package/schema-builder/table/TableColumn.d.ts +4 -0
  360. package/schema-builder/table/TableColumn.js +2 -0
  361. package/schema-builder/table/TableColumn.js.map +1 -1
  362. package/schema-builder/table/TableUnique.d.ts +5 -0
  363. package/schema-builder/table/TableUnique.js +5 -2
  364. package/schema-builder/table/TableUnique.js.map +1 -1
  365. package/schema-builder/util/TableUtils.js +1 -0
  366. package/schema-builder/util/TableUtils.js.map +1 -1
  367. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  368. package/util/DirectoryExportedClassesLoader.js +54 -31
  369. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  370. package/util/ImportUtils.d.ts +1 -0
  371. package/util/ImportUtils.js +94 -0
  372. package/util/ImportUtils.js.map +1 -0
@@ -78,18 +78,20 @@ var BetterSqlite3Driver = /** @class */ (function (_super) {
78
78
  case 2:
79
79
  _a = this.options, database = _a.database, _b = _a.readonly, readonly = _b === void 0 ? false : _b, _c = _a.fileMustExist, fileMustExist = _c === void 0 ? false : _c, _d = _a.timeout, timeout = _d === void 0 ? 5000 : _d, _e = _a.verbose, verbose = _e === void 0 ? null : _e, prepareDatabase = _a.prepareDatabase;
80
80
  databaseConnection = this.sqlite(database, { readonly: readonly, fileMustExist: fileMustExist, timeout: timeout, verbose: verbose });
81
- // we need to enable foreign keys in sqlite to make sure all foreign key related features
82
- // working properly. this also makes onDelete to work with sqlite.
83
- databaseConnection.exec("PRAGMA foreign_keys = ON");
84
- // turn on WAL mode to enhance performance
85
- databaseConnection.exec("PRAGMA journal_mode = WAL");
86
81
  // in the options, if encryption key for SQLCipher is setted.
82
+ // Must invoke key pragma before trying to do any other interaction with the database.
87
83
  if (this.options.key) {
88
84
  databaseConnection.exec("PRAGMA key = " + JSON.stringify(this.options.key));
89
85
  }
86
+ // function to run before a database is used in typeorm.
90
87
  if (typeof prepareDatabase === "function") {
91
88
  prepareDatabase(databaseConnection);
92
89
  }
90
+ // we need to enable foreign keys in sqlite to make sure all foreign key related features
91
+ // working properly. this also makes onDelete to work with sqlite.
92
+ databaseConnection.exec("PRAGMA foreign_keys = ON");
93
+ // turn on WAL mode to enhance performance
94
+ databaseConnection.exec("PRAGMA journal_mode = WAL");
93
95
  return [2 /*return*/, databaseConnection];
94
96
  }
95
97
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/better-sqlite3/BetterSqlite3Driver.ts"],"names":[],"mappings":"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","file":"BetterSqlite3Driver.js","sourcesContent":["import mkdirp from \"mkdirp\";\nimport path from \"path\";\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\";\nimport { DriverOptionNotSetError } from \"../../error/DriverOptionNotSetError\";\nimport { PlatformTools } from \"../../platform/PlatformTools\";\nimport { Connection } from \"../../connection/Connection\";\nimport { ColumnType } from \"../types/ColumnTypes\";\nimport { QueryRunner } from \"../../query-runner/QueryRunner\";\nimport { AbstractSqliteDriver } from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport { BetterSqlite3ConnectionOptions } from \"./BetterSqlite3ConnectionOptions\";\nimport { BetterSqlite3QueryRunner } from \"./BetterSqlite3QueryRunner\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with sqlite DBMS.\n */\nexport class BetterSqlite3Driver extends AbstractSqliteDriver {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: BetterSqlite3ConnectionOptions;\n\n /**\n * SQLite underlying library.\n */\n sqlite: any;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n this.connection = connection;\n this.options = connection.options as BetterSqlite3ConnectionOptions;\n this.database = this.options.database;\n\n // validate options to make sure everything is set\n if (!this.options.database)\n throw new DriverOptionNotSetError(\"database\");\n\n // load sqlite package\n this.loadDependencies();\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n this.queryRunner = undefined;\n this.databaseConnection.close();\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner)\n this.queryRunner = new BetterSqlite3QueryRunner(this);\n\n return this.queryRunner;\n }\n\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number | null, scale?: number }): string {\n if ((column.type as any) === Buffer) {\n return \"blob\";\n }\n\n return super.normalizeType(column);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected async createDatabaseConnection() {\n // not to create database directory if is in memory\n if (this.options.database !== \":memory:\")\n await this.createDatabaseDirectory(this.options.database);\n\n const {\n database,\n readonly = false,\n fileMustExist = false,\n timeout = 5000,\n verbose = null,\n prepareDatabase\n } = this.options;\n const databaseConnection = this.sqlite(database, { readonly, fileMustExist, timeout, verbose });\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete to work with sqlite.\n databaseConnection.exec(`PRAGMA foreign_keys = ON`);\n\n // turn on WAL mode to enhance performance\n databaseConnection.exec(`PRAGMA journal_mode = WAL`);\n\n // in the options, if encryption key for SQLCipher is setted.\n if (this.options.key) {\n databaseConnection.exec(`PRAGMA key = ${JSON.stringify(this.options.key)}`);\n }\n\n if (typeof prepareDatabase === \"function\") {\n prepareDatabase(databaseConnection);\n }\n\n return databaseConnection;\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n const sqlite = this.options.driver || PlatformTools.load(\"better-sqlite3\");\n this.sqlite = sqlite;\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"SQLite\", \"better-sqlite3\");\n }\n }\n\n /**\n * Auto creates database directory if it does not exist.\n */\n protected async createDatabaseDirectory(fullPath: string): Promise<void> {\n await mkdirp(path.dirname(fullPath));\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/better-sqlite3/BetterSqlite3Driver.ts"],"names":[],"mappings":"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","file":"BetterSqlite3Driver.js","sourcesContent":["import mkdirp from \"mkdirp\";\nimport path from \"path\";\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\";\nimport { DriverOptionNotSetError } from \"../../error/DriverOptionNotSetError\";\nimport { PlatformTools } from \"../../platform/PlatformTools\";\nimport { Connection } from \"../../connection/Connection\";\nimport { ColumnType } from \"../types/ColumnTypes\";\nimport { QueryRunner } from \"../../query-runner/QueryRunner\";\nimport { AbstractSqliteDriver } from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport { BetterSqlite3ConnectionOptions } from \"./BetterSqlite3ConnectionOptions\";\nimport { BetterSqlite3QueryRunner } from \"./BetterSqlite3QueryRunner\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with sqlite DBMS.\n */\nexport class BetterSqlite3Driver extends AbstractSqliteDriver {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: BetterSqlite3ConnectionOptions;\n\n /**\n * SQLite underlying library.\n */\n sqlite: any;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n this.connection = connection;\n this.options = connection.options as BetterSqlite3ConnectionOptions;\n this.database = this.options.database;\n\n // validate options to make sure everything is set\n if (!this.options.database)\n throw new DriverOptionNotSetError(\"database\");\n\n // load sqlite package\n this.loadDependencies();\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n this.queryRunner = undefined;\n this.databaseConnection.close();\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner)\n this.queryRunner = new BetterSqlite3QueryRunner(this);\n\n return this.queryRunner;\n }\n\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number | null, scale?: number }): string {\n if ((column.type as any) === Buffer) {\n return \"blob\";\n }\n\n return super.normalizeType(column);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected async createDatabaseConnection() {\n // not to create database directory if is in memory\n if (this.options.database !== \":memory:\")\n await this.createDatabaseDirectory(this.options.database);\n\n const {\n database,\n readonly = false,\n fileMustExist = false,\n timeout = 5000,\n verbose = null,\n prepareDatabase\n } = this.options;\n const databaseConnection = this.sqlite(database, { readonly, fileMustExist, timeout, verbose });\n // in the options, if encryption key for SQLCipher is setted.\n // Must invoke key pragma before trying to do any other interaction with the database.\n if (this.options.key) {\n databaseConnection.exec(`PRAGMA key = ${JSON.stringify(this.options.key)}`);\n }\n\n // function to run before a database is used in typeorm.\n if (typeof prepareDatabase === \"function\") {\n prepareDatabase(databaseConnection);\n }\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete to work with sqlite.\n databaseConnection.exec(`PRAGMA foreign_keys = ON`);\n\n // turn on WAL mode to enhance performance\n databaseConnection.exec(`PRAGMA journal_mode = WAL`);\n\n return databaseConnection;\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n const sqlite = this.options.driver || PlatformTools.load(\"better-sqlite3\");\n this.sqlite = sqlite;\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"SQLite\", \"better-sqlite3\");\n }\n }\n\n /**\n * Auto creates database directory if it does not exist.\n */\n protected async createDatabaseDirectory(fullPath: string): Promise<void> {\n await mkdirp(path.dirname(fullPath));\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -20,6 +20,7 @@ var OrmUtils_1 = require("../../util/OrmUtils");
20
20
  var TableCheck_1 = require("../../schema-builder/table/TableCheck");
21
21
  var TableExclusion_1 = require("../../schema-builder/table/TableExclusion");
22
22
  var error_1 = require("../../error");
23
+ var MetadataTableType_1 = require("../types/MetadataTableType");
23
24
  /**
24
25
  * Runs queries on a single postgres database connection.
25
26
  */
@@ -1946,7 +1947,7 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
1946
1947
  table = _a;
1947
1948
  index = indexOrName instanceof TableIndex_1.TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
1948
1949
  if (!index)
1949
- throw new error_1.TypeORMError("Supplied index was not found in table " + table.name);
1950
+ throw new error_1.TypeORMError("Supplied index " + indexOrName + " was not found in table " + table.name);
1950
1951
  up = this.dropIndexSql(table, index);
1951
1952
  down = this.createIndexSql(table, index);
1952
1953
  return [4 /*yield*/, this.executeQueries(up, down)];
@@ -2114,7 +2115,7 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2114
2115
  return "(\"t\".\"schema\" = '" + (schema || currentSchema) + "' AND \"t\".\"name\" = '" + tableName + "')";
2115
2116
  }).join(" OR ");
2116
2117
  query = "SELECT \"t\".*, \"v\".\"check_option\" FROM " + this.escapePath(this.getTypeormMetadataTableName()) + " \"t\" " +
2117
- ("INNER JOIN \"information_schema\".\"views\" \"v\" ON \"v\".\"table_schema\" = \"t\".\"schema\" AND \"v\".\"table_name\" = \"t\".\"name\" WHERE \"t\".\"type\" = 'VIEW' " + (viewsCondition ? "AND (" + viewsCondition + ")" : ""));
2118
+ ("INNER JOIN \"information_schema\".\"views\" \"v\" ON \"v\".\"table_schema\" = \"t\".\"schema\" AND \"v\".\"table_name\" = \"t\".\"name\" WHERE \"t\".\"type\" = '" + MetadataTableType_1.MetadataTableType.VIEW + "' " + (viewsCondition ? "AND (" + viewsCondition + ")" : ""));
2118
2119
  return [4 /*yield*/, this.query(query)];
2119
2120
  case 4:
2120
2121
  dbViews = _a.sent();
@@ -2257,7 +2258,7 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2257
2258
  return [4 /*yield*/, Promise.all(dbColumns
2258
2259
  .filter(function (dbColumn) { return dbColumn["table_name"] === dbTable["table_name"] && dbColumn["table_schema"] === dbTable["table_schema"]; })
2259
2260
  .map(function (dbColumn) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
2260
- var columnConstraints, tableColumn, type, length, uniqueConstraint, isConstraintComposite;
2261
+ var columnConstraints, tableColumn, type, length, uniqueConstraints, isConstraintComposite;
2261
2262
  return (0, tslib_1.__generator)(this, function (_a) {
2262
2263
  columnConstraints = dbConstraints.filter(function (dbConstraint) {
2263
2264
  return (dbConstraint["table_name"] === dbColumn["table_name"] &&
@@ -2299,13 +2300,13 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2299
2300
  }
2300
2301
  tableColumn.isNullable = dbColumn["is_nullable"] === "YES";
2301
2302
  tableColumn.isPrimary = !!columnConstraints.find(function (constraint) { return constraint["constraint_type"] === "PRIMARY"; });
2302
- uniqueConstraint = columnConstraints.find(function (constraint) { return constraint["constraint_type"] === "UNIQUE"; });
2303
- isConstraintComposite = uniqueConstraint
2304
- ? !!dbConstraints.find(function (dbConstraint) { return dbConstraint["constraint_type"] === "UNIQUE"
2303
+ uniqueConstraints = columnConstraints.filter(function (constraint) { return constraint["constraint_type"] === "UNIQUE"; });
2304
+ isConstraintComposite = uniqueConstraints.every(function (uniqueConstraint) {
2305
+ return dbConstraints.some(function (dbConstraint) { return dbConstraint["constraint_type"] === "UNIQUE"
2305
2306
  && dbConstraint["constraint_name"] === uniqueConstraint["constraint_name"]
2306
- && dbConstraint["column_name"] !== dbColumn["column_name"]; })
2307
- : false;
2308
- tableColumn.isUnique = !!uniqueConstraint && !isConstraintComposite;
2307
+ && dbConstraint["column_name"] !== dbColumn["column_name"]; });
2308
+ });
2309
+ tableColumn.isUnique = uniqueConstraints.length > 0 && !isConstraintComposite;
2309
2310
  if (dbColumn["column_default"] !== null && dbColumn["column_default"] !== undefined) {
2310
2311
  if (dbColumn["column_default"] === "unique_rowid()") {
2311
2312
  tableColumn.isGenerated = true;
@@ -2495,23 +2496,23 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2495
2496
  };
2496
2497
  CockroachQueryRunner.prototype.insertViewDefinitionSql = function (view) {
2497
2498
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
2498
- var currentSchema, _a, schema, name, expression, _b, query, parameters;
2499
- return (0, tslib_1.__generator)(this, function (_c) {
2500
- switch (_c.label) {
2499
+ var currentSchema, _a, schema, name, expression;
2500
+ return (0, tslib_1.__generator)(this, function (_b) {
2501
+ switch (_b.label) {
2501
2502
  case 0: return [4 /*yield*/, this.getCurrentSchema()];
2502
2503
  case 1:
2503
- currentSchema = _c.sent();
2504
+ currentSchema = _b.sent();
2504
2505
  _a = this.driver.parseTableName(view), schema = _a.schema, name = _a.tableName;
2505
2506
  if (!schema) {
2506
2507
  schema = currentSchema;
2507
2508
  }
2508
2509
  expression = typeof view.expression === "string" ? view.expression.trim() : view.expression(this.connection).getQuery();
2509
- _b = (0, tslib_1.__read)(this.connection.createQueryBuilder()
2510
- .insert()
2511
- .into(this.getTypeormMetadataTableName())
2512
- .values({ type: "VIEW", schema: schema, name: name, value: expression })
2513
- .getQueryAndParameters(), 2), query = _b[0], parameters = _b[1];
2514
- return [2 /*return*/, new Query_1.Query(query, parameters)];
2510
+ return [2 /*return*/, this.insertTypeormMetadataSql({
2511
+ type: MetadataTableType_1.MetadataTableType.VIEW,
2512
+ schema: schema,
2513
+ name: name,
2514
+ value: expression
2515
+ })];
2515
2516
  }
2516
2517
  });
2517
2518
  });
@@ -2527,24 +2528,17 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2527
2528
  */
2528
2529
  CockroachQueryRunner.prototype.deleteViewDefinitionSql = function (viewOrPath) {
2529
2530
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
2530
- var currentSchema, _a, schema, name, qb, _b, query, parameters;
2531
- return (0, tslib_1.__generator)(this, function (_c) {
2532
- switch (_c.label) {
2531
+ var currentSchema, _a, schema, name;
2532
+ return (0, tslib_1.__generator)(this, function (_b) {
2533
+ switch (_b.label) {
2533
2534
  case 0: return [4 /*yield*/, this.getCurrentSchema()];
2534
2535
  case 1:
2535
- currentSchema = _c.sent();
2536
+ currentSchema = _b.sent();
2536
2537
  _a = this.driver.parseTableName(viewOrPath), schema = _a.schema, name = _a.tableName;
2537
2538
  if (!schema) {
2538
2539
  schema = currentSchema;
2539
2540
  }
2540
- qb = this.connection.createQueryBuilder();
2541
- _b = (0, tslib_1.__read)(qb.delete()
2542
- .from(this.getTypeormMetadataTableName())
2543
- .where(qb.escape("type") + " = 'VIEW'")
2544
- .andWhere(qb.escape("schema") + " = :schema", { schema: schema })
2545
- .andWhere(qb.escape("name") + " = :name", { name: name })
2546
- .getQueryAndParameters(), 2), query = _b[0], parameters = _b[1];
2547
- return [2 /*return*/, new Query_1.Query(query, parameters)];
2541
+ return [2 /*return*/, this.deleteTypeormMetadataSql({ type: MetadataTableType_1.MetadataTableType.VIEW, schema: schema, name: name })];
2548
2542
  }
2549
2543
  });
2550
2544
  });