typeorm 0.2.41 → 0.2.42-dev.02400da

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 (338) hide show
  1. package/README.md +38 -0
  2. package/browser/cache/RedisQueryResultCache.js +40 -35
  3. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  4. package/browser/common/RelationType.d.ts +14 -0
  5. package/browser/common/RelationType.js +3 -0
  6. package/browser/common/RelationType.js.map +1 -0
  7. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  8. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  9. package/browser/connection/Connection.d.ts +7 -3
  10. package/browser/connection/Connection.js +47 -31
  11. package/browser/connection/Connection.js.map +1 -1
  12. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  13. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptionsReader.js +33 -28
  16. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  17. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  18. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  19. package/browser/decorator/Unique.d.ts +5 -4
  20. package/browser/decorator/Unique.js +7 -3
  21. package/browser/decorator/Unique.js.map +1 -1
  22. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  23. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  24. package/browser/decorator/options/ColumnOptions.d.ts +4 -0
  25. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  26. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  27. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  28. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  29. package/browser/decorator/options/RelationOptions.d.ts +1 -1
  30. package/browser/decorator/options/RelationOptions.js.map +1 -1
  31. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  32. package/browser/decorator/options/UniqueOptions.js +3 -0
  33. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  34. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  35. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  36. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  37. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  38. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  39. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  40. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  41. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  42. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  43. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  44. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  45. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  46. package/browser/driver/postgres/PostgresQueryRunner.js +52 -19
  47. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  48. package/browser/driver/sap/SapQueryRunner.js +1 -1
  49. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  50. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  51. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  52. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  53. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  54. package/browser/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  55. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  56. package/browser/entity-manager/EntityManager.d.ts +2 -2
  57. package/browser/entity-manager/EntityManager.js +2 -12
  58. package/browser/entity-manager/EntityManager.js.map +1 -1
  59. package/browser/entity-manager/MongoEntityManager.js +2 -1
  60. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  61. package/browser/entity-schema/EntitySchemaOptions.d.ts +6 -0
  62. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  63. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
  64. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  65. package/browser/entity-schema/EntitySchemaTransformer.js +4 -1
  66. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  67. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  68. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  69. package/browser/find-options/FindOneOptions.d.ts +6 -0
  70. package/browser/find-options/FindOneOptions.js.map +1 -1
  71. package/browser/find-options/FindOptionsUtils.js +4 -0
  72. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  73. package/browser/find-options/operator/Like.d.ts +1 -1
  74. package/browser/find-options/operator/Like.js +1 -1
  75. package/browser/find-options/operator/Like.js.map +1 -1
  76. package/browser/find-options/operator/Not.d.ts +1 -1
  77. package/browser/find-options/operator/Not.js +1 -1
  78. package/browser/find-options/operator/Not.js.map +1 -1
  79. package/browser/globals.js +34 -7
  80. package/browser/globals.js.map +1 -1
  81. package/browser/index.d.ts +2 -0
  82. package/browser/index.js +2 -0
  83. package/browser/index.js.map +1 -1
  84. package/browser/metadata/ColumnMetadata.d.ts +4 -0
  85. package/browser/metadata/ColumnMetadata.js +2 -0
  86. package/browser/metadata/ColumnMetadata.js.map +1 -1
  87. package/browser/metadata/RelationMetadata.d.ts +1 -1
  88. package/browser/metadata/RelationMetadata.js.map +1 -1
  89. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  90. package/browser/metadata/UniqueMetadata.js +1 -0
  91. package/browser/metadata/UniqueMetadata.js.map +1 -1
  92. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  93. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  94. package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
  95. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  96. package/browser/migration/MigrationExecutor.js +1 -1
  97. package/browser/migration/MigrationExecutor.js.map +1 -1
  98. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  99. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  100. package/browser/query-builder/DeleteQueryBuilder.d.ts +4 -2
  101. package/browser/query-builder/DeleteQueryBuilder.js +4 -2
  102. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  103. package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
  104. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  105. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  106. package/browser/query-builder/NotBrackets.d.ts +7 -0
  107. package/browser/query-builder/NotBrackets.js +16 -0
  108. package/browser/query-builder/NotBrackets.js.map +1 -0
  109. package/browser/query-builder/QueryBuilder.d.ts +3 -2
  110. package/browser/query-builder/QueryBuilder.js +2 -1
  111. package/browser/query-builder/QueryBuilder.js.map +1 -1
  112. package/browser/query-builder/RelationLoader.js +11 -6
  113. package/browser/query-builder/RelationLoader.js.map +1 -1
  114. package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
  115. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  116. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  117. package/browser/query-builder/SelectQueryBuilder.d.ts +10 -1
  118. package/browser/query-builder/SelectQueryBuilder.js +28 -21
  119. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  120. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  121. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  122. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  123. package/browser/query-builder/UpdateQueryBuilder.d.ts +4 -2
  124. package/browser/query-builder/UpdateQueryBuilder.js +11 -6
  125. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  126. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  127. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  128. package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
  129. package/browser/query-runner/BaseQueryRunner.js +3 -3
  130. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  131. package/browser/repository/AbstractRepository.d.ts +2 -2
  132. package/browser/repository/AbstractRepository.js +2 -2
  133. package/browser/repository/AbstractRepository.js.map +1 -1
  134. package/browser/repository/BaseEntity.d.ts +1 -1
  135. package/browser/repository/BaseEntity.js +1 -1
  136. package/browser/repository/BaseEntity.js.map +1 -1
  137. package/browser/repository/Repository.d.ts +1 -1
  138. package/browser/repository/Repository.js +1 -1
  139. package/browser/repository/Repository.js.map +1 -1
  140. package/browser/repository/TreeRepository.js +1 -1
  141. package/browser/repository/TreeRepository.js.map +1 -1
  142. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  143. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  144. package/browser/schema-builder/options/TableColumnOptions.d.ts +4 -0
  145. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  146. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  147. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  148. package/browser/schema-builder/table/TableColumn.d.ts +4 -0
  149. package/browser/schema-builder/table/TableColumn.js +2 -0
  150. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  151. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  152. package/browser/schema-builder/table/TableUnique.js +5 -2
  153. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  154. package/browser/schema-builder/util/TableUtils.js +1 -0
  155. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  156. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  157. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  158. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  159. package/browser/util/ImportUtils.d.ts +1 -0
  160. package/browser/util/ImportUtils.js +90 -0
  161. package/browser/util/ImportUtils.js.map +1 -0
  162. package/cache/RedisQueryResultCache.js +39 -34
  163. package/cache/RedisQueryResultCache.js.map +1 -1
  164. package/commands/CommandUtils.d.ts +4 -0
  165. package/commands/CommandUtils.js +10 -0
  166. package/commands/CommandUtils.js.map +1 -1
  167. package/commands/InitCommand.d.ts +9 -7
  168. package/commands/InitCommand.js +72 -43
  169. package/commands/InitCommand.js.map +1 -1
  170. package/commands/MigrationCreateCommand.d.ts +2 -0
  171. package/commands/MigrationCreateCommand.js +7 -1
  172. package/commands/MigrationCreateCommand.js.map +1 -1
  173. package/commands/MigrationGenerateCommand.d.ts +2 -0
  174. package/commands/MigrationGenerateCommand.js +7 -1
  175. package/commands/MigrationGenerateCommand.js.map +1 -1
  176. package/commands/QueryCommand.d.ts +1 -1
  177. package/commands/QueryCommand.js +1 -1
  178. package/commands/QueryCommand.js.map +1 -1
  179. package/common/RelationType.d.ts +14 -0
  180. package/common/RelationType.js +4 -0
  181. package/common/RelationType.js.map +1 -0
  182. package/connection/BaseConnectionOptions.d.ts +5 -0
  183. package/connection/BaseConnectionOptions.js.map +1 -1
  184. package/connection/Connection.d.ts +7 -3
  185. package/connection/Connection.js +47 -31
  186. package/connection/Connection.js.map +1 -1
  187. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  188. package/connection/ConnectionMetadataBuilder.js +53 -21
  189. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  190. package/connection/ConnectionOptionsReader.js +32 -27
  191. package/connection/ConnectionOptionsReader.js.map +1 -1
  192. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  193. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  194. package/decorator/Unique.d.ts +5 -4
  195. package/decorator/Unique.js +7 -3
  196. package/decorator/Unique.js.map +1 -1
  197. package/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  198. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  199. package/decorator/options/ColumnOptions.d.ts +4 -0
  200. package/decorator/options/ColumnOptions.js.map +1 -1
  201. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  202. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
  203. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  204. package/decorator/options/RelationOptions.d.ts +1 -1
  205. package/decorator/options/RelationOptions.js.map +1 -1
  206. package/decorator/options/UniqueOptions.d.ts +10 -0
  207. package/decorator/options/UniqueOptions.js +4 -0
  208. package/decorator/options/UniqueOptions.js.map +1 -0
  209. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  210. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  211. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  212. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  213. package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  214. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  215. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  216. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  217. package/driver/mysql/MysqlQueryRunner.js +1 -1
  218. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  219. package/driver/oracle/OracleQueryRunner.js +1 -1
  220. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  221. package/driver/postgres/PostgresQueryRunner.js +52 -19
  222. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  223. package/driver/sap/SapQueryRunner.js +1 -1
  224. package/driver/sap/SapQueryRunner.js.map +1 -1
  225. package/driver/sqlite/SqliteDriver.js +11 -10
  226. package/driver/sqlite/SqliteDriver.js.map +1 -1
  227. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  228. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  229. package/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  230. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  231. package/entity-manager/EntityManager.d.ts +2 -2
  232. package/entity-manager/EntityManager.js +2 -12
  233. package/entity-manager/EntityManager.js.map +1 -1
  234. package/entity-manager/MongoEntityManager.js +2 -1
  235. package/entity-manager/MongoEntityManager.js.map +1 -1
  236. package/entity-schema/EntitySchemaOptions.d.ts +6 -0
  237. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  238. package/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
  239. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  240. package/entity-schema/EntitySchemaTransformer.js +4 -1
  241. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  242. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  243. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  244. package/find-options/FindOneOptions.d.ts +6 -0
  245. package/find-options/FindOneOptions.js.map +1 -1
  246. package/find-options/FindOptionsUtils.js +4 -0
  247. package/find-options/FindOptionsUtils.js.map +1 -1
  248. package/find-options/operator/Like.d.ts +1 -1
  249. package/find-options/operator/Like.js +1 -1
  250. package/find-options/operator/Like.js.map +1 -1
  251. package/find-options/operator/Not.d.ts +1 -1
  252. package/find-options/operator/Not.js +1 -1
  253. package/find-options/operator/Not.js.map +1 -1
  254. package/globals.js +33 -6
  255. package/globals.js.map +1 -1
  256. package/index.d.ts +2 -0
  257. package/index.js +4 -1
  258. package/index.js.map +1 -1
  259. package/index.mjs +352 -0
  260. package/metadata/ColumnMetadata.d.ts +4 -0
  261. package/metadata/ColumnMetadata.js +2 -0
  262. package/metadata/ColumnMetadata.js.map +1 -1
  263. package/metadata/RelationMetadata.d.ts +1 -1
  264. package/metadata/RelationMetadata.js.map +1 -1
  265. package/metadata/UniqueMetadata.d.ts +5 -0
  266. package/metadata/UniqueMetadata.js +1 -0
  267. package/metadata/UniqueMetadata.js.map +1 -1
  268. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  269. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  270. package/metadata-builder/EntityMetadataValidator.js +1 -0
  271. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  272. package/migration/MigrationExecutor.js +1 -1
  273. package/migration/MigrationExecutor.js.map +1 -1
  274. package/package.json +1 -239
  275. package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  276. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  277. package/query-builder/DeleteQueryBuilder.d.ts +4 -2
  278. package/query-builder/DeleteQueryBuilder.js +4 -2
  279. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  280. package/query-builder/InsertQueryBuilder.d.ts +1 -1
  281. package/query-builder/InsertQueryBuilder.js +1 -1
  282. package/query-builder/InsertQueryBuilder.js.map +1 -1
  283. package/query-builder/NotBrackets.d.ts +7 -0
  284. package/query-builder/NotBrackets.js +19 -0
  285. package/query-builder/NotBrackets.js.map +1 -0
  286. package/query-builder/QueryBuilder.d.ts +3 -2
  287. package/query-builder/QueryBuilder.js +2 -1
  288. package/query-builder/QueryBuilder.js.map +1 -1
  289. package/query-builder/RelationLoader.js +11 -6
  290. package/query-builder/RelationLoader.js.map +1 -1
  291. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  292. package/query-builder/RelationQueryBuilder.js +1 -1
  293. package/query-builder/RelationQueryBuilder.js.map +1 -1
  294. package/query-builder/SelectQueryBuilder.d.ts +10 -1
  295. package/query-builder/SelectQueryBuilder.js +28 -21
  296. package/query-builder/SelectQueryBuilder.js.map +1 -1
  297. package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  298. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  299. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  300. package/query-builder/UpdateQueryBuilder.d.ts +4 -2
  301. package/query-builder/UpdateQueryBuilder.js +11 -6
  302. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  303. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  304. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  305. package/query-runner/BaseQueryRunner.d.ts +2 -2
  306. package/query-runner/BaseQueryRunner.js +3 -3
  307. package/query-runner/BaseQueryRunner.js.map +1 -1
  308. package/repository/AbstractRepository.d.ts +2 -2
  309. package/repository/AbstractRepository.js +2 -2
  310. package/repository/AbstractRepository.js.map +1 -1
  311. package/repository/BaseEntity.d.ts +1 -1
  312. package/repository/BaseEntity.js +1 -1
  313. package/repository/BaseEntity.js.map +1 -1
  314. package/repository/Repository.d.ts +1 -1
  315. package/repository/Repository.js +1 -1
  316. package/repository/Repository.js.map +1 -1
  317. package/repository/TreeRepository.js +1 -1
  318. package/repository/TreeRepository.js.map +1 -1
  319. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  320. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  321. package/schema-builder/options/TableColumnOptions.d.ts +4 -0
  322. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  323. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  324. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  325. package/schema-builder/table/TableColumn.d.ts +4 -0
  326. package/schema-builder/table/TableColumn.js +2 -0
  327. package/schema-builder/table/TableColumn.js.map +1 -1
  328. package/schema-builder/table/TableUnique.d.ts +5 -0
  329. package/schema-builder/table/TableUnique.js +5 -2
  330. package/schema-builder/table/TableUnique.js.map +1 -1
  331. package/schema-builder/util/TableUtils.js +1 -0
  332. package/schema-builder/util/TableUtils.js.map +1 -1
  333. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  334. package/util/DirectoryExportedClassesLoader.js +54 -31
  335. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  336. package/util/ImportUtils.d.ts +1 -0
  337. package/util/ImportUtils.js +94 -0
  338. package/util/ImportUtils.js.map +1 -0
@@ -1266,20 +1266,43 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
1266
1266
  downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + newColumn.name + "\")"));
1267
1267
  }
1268
1268
  }
1269
- if (oldColumn.isGenerated !== newColumn.isGenerated &&
1270
- newColumn.generationStrategy !== "uuid" &&
1271
- newColumn.generationStrategy !== "identity") {
1272
- if (newColumn.isGenerated === true) {
1273
- upQueries.push(new Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1274
- downQueries.push(new Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1275
- upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1276
- downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1269
+ if (oldColumn.isGenerated !== newColumn.isGenerated) {
1270
+ // if old column was "generated", we should clear defaults
1271
+ if (oldColumn.isGenerated) {
1272
+ if (oldColumn.generationStrategy === "uuid") {
1273
+ upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + oldColumn.name + "\" DROP DEFAULT"));
1274
+ downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + oldColumn.name + "\" SET DEFAULT " + this.driver.uuidGenerator));
1275
+ }
1276
+ else if (oldColumn.generationStrategy === "increment") {
1277
+ upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1278
+ downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1279
+ upQueries.push(new Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1280
+ downQueries.push(new Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1281
+ }
1277
1282
  }
1278
- else {
1279
- upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1280
- downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1281
- upQueries.push(new Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1282
- downQueries.push(new Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1283
+ if (newColumn.generationStrategy === "uuid") {
1284
+ if (newColumn.isGenerated === true) {
1285
+ upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT " + this.driver.uuidGenerator));
1286
+ downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1287
+ }
1288
+ else {
1289
+ upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1290
+ downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT " + this.driver.uuidGenerator));
1291
+ }
1292
+ }
1293
+ else if (newColumn.generationStrategy === "increment") {
1294
+ if (newColumn.isGenerated === true) {
1295
+ upQueries.push(new Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1296
+ downQueries.push(new Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1297
+ upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1298
+ downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1299
+ }
1300
+ else {
1301
+ upQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1302
+ downQueries.push(new Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1303
+ upQueries.push(new Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1304
+ downQueries.push(new Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1305
+ }
1283
1306
  }
1284
1307
  }
1285
1308
  // the default might have changed when the enum changed
@@ -2224,7 +2247,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2224
2247
  table = _a;
2225
2248
  index = indexOrName instanceof TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
2226
2249
  if (!index)
2227
- throw new TypeORMError("Supplied index was not found in table " + table.name);
2250
+ throw new TypeORMError("Supplied index " + indexOrName + " was not found in table " + table.name);
2228
2251
  up = this.dropIndexSql(table, index);
2229
2252
  down = this.createIndexSql(table, index);
2230
2253
  return [4 /*yield*/, this.executeQueries(up, down)];
@@ -2683,6 +2706,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2683
2706
  if (dbColumn.is_identity === "YES") { // Postgres 10+ Identity column
2684
2707
  tableColumn.isGenerated = true;
2685
2708
  tableColumn.generationStrategy = "identity";
2709
+ tableColumn.generatedIdentity = dbColumn.identity_generation;
2686
2710
  }
2687
2711
  else if (dbColumn["column_default"] !== null && dbColumn["column_default"] !== undefined) {
2688
2712
  serialDefaultName = "nextval('" + this.buildSequenceName(table, dbColumn["column_name"]) + "'::regclass)";
@@ -2707,7 +2731,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2707
2731
  if (!(dbColumn["is_generated"] === "ALWAYS" && dbColumn["generation_expression"])) return [3 /*break*/, 9];
2708
2732
  // In postgres there is no VIRTUAL generated column type
2709
2733
  tableColumn.generatedType = "STORED";
2710
- asExpressionQuery = "SELECT * FROM \"typeorm_metadata\" "
2734
+ asExpressionQuery = "SELECT * FROM \"" + this.connection.metadataTableName + "\" "
2711
2735
  + (" WHERE \"table\" = '" + dbTable["table_name"] + "'")
2712
2736
  + (" AND \"name\" = '" + tableColumn.name + "'")
2713
2737
  + (" AND \"schema\" = '" + dbTable["table_schema"] + "'")
@@ -2745,7 +2769,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2745
2769
  var uniques = dbConstraints.filter(function (dbC) { return dbC["constraint_name"] === constraint["constraint_name"]; });
2746
2770
  return new TableUnique({
2747
2771
  name: constraint["constraint_name"],
2748
- columnNames: uniques.map(function (u) { return u["column_name"]; })
2772
+ columnNames: uniques.map(function (u) { return u["column_name"]; }),
2773
+ deferrable: constraint["deferrable"] ? constraint["deferred"] : undefined,
2749
2774
  });
2750
2775
  });
2751
2776
  tableCheckConstraints = OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
@@ -2784,6 +2809,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2784
2809
  return new TableForeignKey({
2785
2810
  name: dbForeignKey["constraint_name"],
2786
2811
  columnNames: foreignKeys.map(function (dbFk) { return dbFk["column_name"]; }),
2812
+ referencedSchema: dbForeignKey["referenced_table_schema"],
2787
2813
  referencedTableName: referencedTableName,
2788
2814
  referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["referenced_column_name"]; }),
2789
2815
  onDelete: dbForeignKey["on_delete"],
@@ -2840,7 +2866,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2840
2866
  var uniquesSql = table.uniques.map(function (unique) {
2841
2867
  var uniqueName = unique.name ? unique.name : _this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
2842
2868
  var columnNames = unique.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
2843
- return "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2869
+ var constraint = "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2870
+ if (unique.deferrable)
2871
+ constraint += " DEFERRABLE " + unique.deferrable;
2872
+ return constraint;
2844
2873
  }).join(", ");
2845
2874
  sql += ", " + uniquesSql;
2846
2875
  }
@@ -3072,7 +3101,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3072
3101
  */
3073
3102
  PostgresQueryRunner.prototype.createUniqueConstraintSql = function (table, uniqueConstraint) {
3074
3103
  var columnNames = uniqueConstraint.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
3075
- return new Query("ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")");
3104
+ var sql = "ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")";
3105
+ if (uniqueConstraint.deferrable)
3106
+ sql += " DEFERRABLE " + uniqueConstraint.deferrable;
3107
+ return new Query(sql);
3076
3108
  };
3077
3109
  /**
3078
3110
  * Builds drop unique constraint sql.
@@ -3241,7 +3273,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3241
3273
  var c = "\"" + column.name + "\"";
3242
3274
  if (column.isGenerated === true && column.generationStrategy !== "uuid") {
3243
3275
  if (column.generationStrategy === "identity") { // Postgres 10+ Identity generated column
3244
- c += " " + column.type + " GENERATED BY DEFAULT AS IDENTITY";
3276
+ var generatedIdentityOrDefault = column.generatedIdentity || "BY DEFAULT";
3277
+ c += " " + column.type + " GENERATED " + generatedIdentityOrDefault + " AS IDENTITY";
3245
3278
  }
3246
3279
  else { // classic SERIAL primary column
3247
3280
  if (column.type === "integer" || column.type === "int" || column.type === "int4")